СДАМ ГИА: РЕШУ ЕГЭ
Образовательный портал для подготовки к экзаменам
Информатика
Информатика
Cайты, меню, вход, новости


Задания
Версия для печати и копирования в MS Word
Задания Д16 № 3356

В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:

 

БейсикPython

FOR i = 0 TO 10

    A(i) = i

NEXT i

FOR i = 1 TO 11

    A(i - 1) = A(11 - i)

NEXT i

for i in range(0, 11):

    A[i] = i

for i in range(1, 12):

    A[i - 1] = A[11 - i]

ПаскальАлгоритмический язык

for i : = 0 to 10 do

    A[i] : = i;

for i : = 1 to 11 do

    A[i-1] : = A[11-i];

нц для i от 0 до 10

    A[i] : = i

кц

нц для i от 1 до 11

        A[i-1] := A[11-i]

кц

Си++

 

for (i = 0; i <= 10; i++) {

    A[i] = i;

}

for (i = 1; i <= 11; i++) {

     A[i-1] = A[11-i];

}

 

Чему будут равны элементы этого массива?

 

1) 10 9 8 7 6 5 4 3 2 1 0

2) 11 10 9 8 7 6 5 4 3 2 1

3) 10 9 8 7 6 5 6 7 8 9 10

4) 11 10 9 8 7 6 7 8 9 10 11

Решение.

Первый цикл, заполняем массив:

i=0: a[0]=0,

i=1: a[1]=1,

i=2: a[2]=2,

...

i=10: a[10]=10.

 

Второй цикл, меняем значения всех элементов: обращаемся к значениям, полученным при заполнении массива.

i=1: a[0]=a[10]=10,

i=2: a[1]=a[9]=9,

...

i=6: a[5]=a[5]=5

i=7: a[6]=a[4]=7(Начиная с этого элемента обращаемся к уже изменённым элементам )

i=11: a[10]=a[0] = 10,

 

Поэтому в результате выполнени программы элементы массива будут равны: 10, 9, 8, 7, 6, 5, 6, 7, 8, 9, 10.

 

Правильный ответ указан под номером 3.

Спрятать решение · · Видеокурс ·
Екатерина Чупина (Асбест ) 15.01.2013 14:53

почему мы с 7 элемента обращаемся уже к измененным?а не продолжаем ряд ...4,3,2..?

Петр Мурзин (Казань)

Потому что на каждый элемент массива отведена одна ячейка памяти, соответственно, выполняя действие A[i-1] : = A[11-i] при i=7, мы присваиваем шестому элементу значение, которое находится в ячейке 4. Оно равно 6 (поскольку до этого мы присвоили четвертому элементу значение 6).