В программе описан одномерный целочисленный массив с индексами от 0 до 10. В приведенном ниже фрагменте программы массив сначала заполняется, а потом изменяется:
| Бейсик | Python |
|---|---|
FOR i = 0 TO 10 A(i) = i+1 NEXT i FOR i = 0 TO 10 A(i) = A(10-i) NEXT i
| for i in range(0, 11): A[i] = i+1 for i in range(0, 11): A[i] = A[10-i]
|
| Паскаль | Алгоритмический язык |
for i:=0 to 10 do A[i]:=i+1; for i:=0 to 10 do A[i]:=A[10-i]; | нц для i от 0 до 10 A[i] : = i+1 кц нц для i от 0 до 10 A[i]: = A[10-i]; кц
|
| Си++ | |
for (i = 0; i <= 10; i++) { A[i] = i+1; } for (i = 0; i <= 10; i++) { A[i] = A[10-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) 11 10 9 8 7 6 7 8 9 10 11
4) 10 9 8 7 6 5 6 7 8 9 10
Первый цикл, заполняем массив:
i=0: a[0]=1,
i=1: a[1]=2,
i=2: a[2]=3,
...
i=10: a[10]=11.
Второй цикл, меняем значения всех элементов:
Обращаемся к значениям, полученным при заполнении массива.
i=0: a[0]=a[10]=11,
i=1: a[1]=a[9]=10,
...
i=5: a[5]=a[5]=6,
i=6: a[6]=a[4]=7(Начиная с этого элемента обращаемся к элементам уже изменённым),
...
i=10: a[10]=a[0] = 11.
Поэтому в результате выполнени программы элементы массива будут равны: 11, 10, 9, 8, 7, 6, 7, 8, 9, 10, 11.
Правильный ответ указан под номером 3.

