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

