Представленный ниже на пяти языках программирования фрагмент программы обрабатывает элементы одномерного целочисленного массива A с индексами от 0 до 9. Перед началом выполнения данного фрагмента эти элементы массива имели значения, 2, 4, 8, 6, 1, 7, 2, 3, 6, 7 ( т. е. A[0] = 2, A[1] = 4, …, A[9] = 7). Определите значение переменной 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 номера текущего элемента массива, если текущий элемент массива меньше последнего элемента массива.
Изначальный порядок значений: 2, 4, 8, 6, 1, 7, 2, 3, 6, 7.
Первое изменение элементов: 6, 4, 8, 6, 1, 7, 2, 3, 2, 7, s = s + 2.
Второе изменение элементов: 6, 3, 8, 6, 1, 7, 2, 4, 2, 7, s = s + 4.
Третье изменение элементов: 6, 3, 8, 7, 1, 6, 2, 4, 2, 7, s = s + 6.
Четвёртое изменение элементов: 6, 3, 8, 7, 1, 6, 2, 4, 2, 7, s = s + 1.
Пятое изменение элементов: 6, 3, 8, 6, 1, 7, 2, 4, 2, 7, s = s + 6.
Шестое изменение элементов: 6, 3, 2, 6, 1, 7, 8, 4, 2, 7, s = s + 2.
Седьмое изменение элементов: 6, 4, 2, 6, 1, 7, 8, 3, 2, 7, s = s + 4.
Последнее изменение элементов: 2, 4, 2, 6, 1, 7, 8, 3, 6, 7, s = s + 2.
Таким образом, значение переменной s после выполнения фрагмента программы равняется
Ответ: 27.

