Представленный ниже на пяти языках программирования фрагмент программы обрабатывает элементы одномерного целочисленного массива A с индексами от 0 до 9. Перед началом выполнения данного фрагмента эти элементы массива имели значения 3, 5, 8, 2, 1, 4, 3, 1, 2, 6 (т. е. A[0] = 3, A[1] = 5, …, A[9] = 6). Определите значение переменной s после выполнения фрагмента.
| Бейсик | Python |
|---|---|
s = 0 FOR i = 0 TO 8 IF A(i) < A(9) THEN t = A(i) A(i) = A(8 − i) A(8 − i) = t s = s + t END IF NEXT i
| s = 0 for i in range(0, 9): if A[i] < A[9]: t = A[i] A[i] = A[8 − i] A[8 − i] = t s = s + t
|
| Паскаль | Алгоритмический язык |
s := 0; for i:=0 to 8 do begin if A[i] < A[9] then begin t := A[i]; A[i] := A[8 − i]; A[8 − i] := t; s := s + t; end; end;
| s := 0 нц для i от 0 до 8 если A[i] < A[9] то t := A[i] A[i] := A[8 − i] A[8 − i] := t s := s + t все кц |
| С++ | |
s = 0; for (i = 0; i <= 8; ++i) { if (A[i] < A[9]) { t = A[i]; A[i] = A[8 − i]; A[8 − i] = t; s = s + t; } }
| |
Данный алгоритм меняет местами текущий элемент массива и элемент массива, номер которого вычисляется путём вычитания из 8 номера текущего элемента массива, после чего к переменной s прибавляется значение элемента массива, номер которого вычисляется путём вычитания из 8 номера текущего элемента массива, если текущий элемент массива меньше последнего элемента массива.
Изначальный порядок значений: 3, 5, 8, 2, 1, 4, 3, 1, 2, 6.
Первое изменение элементов: 2, 5, 8, 2, 1, 4, 3, 1, 3, 6, s = s + 3.
Второе изменение элементов: 2, 1, 8, 2, 1, 4, 3, 5, 3, 6, s = s + 5.
Третье изменение элементов: 2, 1, 8, 4, 1, 2, 3, 5, 3, 6, s = s + 2.
Четвёртое изменение элементов: 2, 1, 8, 4, 1, 2, 3, 5, 3, 6, s = s + 1.
Пятое изменение элементов: 2, 1, 8, 2, 1, 4, 3, 5, 3, 6, s = s + 2.
Шестое изменение элементов: 2, 1, 3, 2, 1, 4, 8, 5, 3, 6, s = s + 3.
Седьмое изменение элементов: 2, 5, 3, 2, 1, 4, 8, 1, 3, 6, s = s + 5.
Последнее изменение элементов: 3, 5, 3, 2, 1, 4, 8, 1, 2, 6, s = s + 3.
Таким образом, значение переменной s после выполнения фрагмента программы равняется
Ответ: 24.

