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

