В программе описан одномерный целочисленный массив A с индексами от 1 до 10. Ниже представлен фрагмент этой программы, в котором значения элементов массива сначала задаются, а затем меняются.
| Бейсик | Python |
|---|---|
FOR i = 1 TO 10 A(i) = 5*i NEXT i FOR i = 1 TO 10 k = A(i) - 2 A(10-i+1) = k NEXT i
|
for i in range(1, 11): A[i] = 5*i for i in range(1, 11): k = A[i]-2 A[10-i+1]=k
|
| Паскаль | Алгоритмический язык |
for i : = 1 to 10 do A[i] : = 5*i; for i : = 1 to 10 do begin k:=A[i]-2; A[10-i+1]:=k; end;
|
нц для i от 1 до 10 A[i] : = 5*i кц нц для i от 1 до 10 k:=A[i]-2 A[10-i+1]:=k кц
|
| Си++ | |
for (i = 1; i <= 10; i++) { A[i] = 5*i; } for (i = 1; i <= 10; i++) { k=A[i]-2; A[10-i+1]=k; } | |
Чему будут равны элементы этого массива?
1) 1 6 11 16 21 23 18 13 8 3
2) 3 8 13 18 23 28 33 38 43 48
3) 48 43 38 33 28 23 18 13 8 3
4) 1 6 11 16 21 26 31 36 41 46
Первый цикл, заполняем массив:
i=1: a[1]=5,
i=2: a[2]=10,
...
i=10: a[10]=50.
Второй цикл, меняем значение элементов:
i=1: k = a[1] - 2 = 3, a[11-1] = a[10] = 3,
i=2: k = a[2] - 2 = 8, a[11-2] = a[9] = 8,
i=3: a[8] = 13,
i=4: a[7] = 18,
i=5: a[6] = 23,
i=6: k = a[6] - 2 = 21, a[11-6] = a[5] = 21 (здесь и далее используются уже изменённые элементы, а не исходные),
i=7: k = a[7] - 2 = 16, a[11-7] = a[4] = 16,
...
i=10: k = a[10] - 2 = 3 - 2 = 1, a[1] = 1.
Поэтому в результате выполнени программы элементы массива будут равны: 1, 6, 11, 16, 21, 23, 18, 13, 8, 3.
Правильный ответ указан под номером 1.

