Ниже представлен записанный на разных языках программирования фрагмент одной и той же программы. В программе описан одномерный целочисленный массив A, в представленном фрагменте программы обрабатываются элементы массива с индексами от 1 до 10.
| Бейсик | Паскаль |
|---|---|
n = 10 FOR i = 1 ТО n s = A(n + 1 - i) * i A(n + 1 - i) = A(i) * i A(i) = s NEXT i | n : = 10; for i : = 1 to n do begin s : = A[n + 1 - i] * i; A[n + 1 - i] : = A[i] * i; A[i] : = s; end; |
| Си++ | Алгоритмический язык |
n = 10; for (i = 1; i <= n; i++){ s = A[n + 1 - i] * i; A[n + 1 - i] = A[i] * i; A[i] = s; } | n : = 10 нц для i от 1 до n s : = A[n + 1 - i] * i A[n + 1 - i] : = A[i] * i A[i] : = s кц |
| Python | |
n = 10 for i in range(1, n+1): s = A[n + 1 - i] * i A[n + 1 - i] = A[i] * i A[i] = s | |
Перед началом выполнения фрагмента все элементы массива равны 1. Укажите утверждение, которое будет верно после выполнения указанного фрагмента программы при изменении индекса от 1 до 10.
1) значения массива возрастают
2) значения массива убывают
3) значения массива постоянны
4) значения массива сначала возрастают, а потом убывают
Так будет выглядеть массив после пятого шага:
{1, 2, 3, 4, 5, 5, 4, 3, 2, 1}
А так после десятого
{10, 18, 24, 28, 30, 30, 28, 24, 18, 10}
Таким образом, видно, что после выполнения данного цикла элементы массива будут возрастать вплоть до пятого элемента, а потом начнут убывать.
Следовательно, правильный ответ указан под номером 4.

