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

