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

