Представленный ниже на пяти языках программирования фрагмент программы обрабатывает элементы одномерного целочисленного массива A с индексами от 0 до 11. Перед началом выполнения данного фрагмента эти элементы массива имели значения 5, 43, 20, 7, 13, 7, 29, 13, 2, 33, 15, 5 (т. е. A[0] = 5, A[1] = 43, ..., A[11] = 5). Определите значение переменной s после выполнения фрагмента
| Бейсик | Python |
|---|---|
s = 0 FOR i = 1 TO 11 IF A(i-1) DIV A(i) < 2 THEN s = s + A(i) ELSE A(i) = A(i) * i END IF NEXT i | s = 0 for i in range(1,12): if A[i - 1] // A[i] < 2: s += A[i] else: A[i] = A[i] * i
|
| Паскаль | Алгоритмический язык |
s := 0; for i:=1 to 11 do begin if A[i - 1] div A[i] < 2 then s := s + A[i] else A[i] := A[i] * i; end;
| s := 0 нц для i от 1 до 11 если div(A[i-1],A[i]) < 2 то s := s + A[i] иначе A[i] := A[i] * i все кц |
| С++ | |
s = 0; for (i = 1; i < 12; ++i) { if (A[i-1] / A[i] < 2) s += A[i]; else A[i] = A[i] * i; }
| |
Данный алгоритм сравнивает результат целочисленного деления предыдущего элемента массива на текущий элемент массива, после чего либо накапливает в переменной s значение элемента A[i], если A[i - 1] div A[i] < 2, либо умножает текущий элемент массива на значение i.
Изначальный порядок значений: 5, 43, 20, 7, 13, 7, 29, 13, 2, 33, 15, 5.
Первое изменение элементов или переменной s: 5, 43, 20, 7, 13, 7, 29, 13, 2, 33, 15, 5. s := s + 43;
Второе изменение элементов или переменной s: 5, 43, 40, 7, 13, 7, 29, 13, 2, 33, 15, 5.
Третье изменение элементов или переменной s: 5, 43, 40, 21, 13, 7, 29, 13, 2, 33, 15, 5.
Четвёртое изменение элементов или переменной s: 5, 43, 40, 21, 13, 7, 29, 13, 2, 33, 15, 5. s := s + 13;
Пятое изменение элементов или переменной s: 5, 43, 40, 21, 13, 7, 29, 13, 2, 33, 15, 5. s := s + 7;
Шестое изменение элементов или переменной s: 5, 43, 40, 21, 13, 7, 29, 13, 2, 33, 15, 5. s := s + 29;
Восьмое изменение элементов или переменной s: 5, 43, 40, 21, 13, 7, 29, 91, 2, 33, 15, 5.
Девятое изменение элементов или переменной s: 5, 43, 40, 21, 13, 7, 29, 91, 16, 33, 15, 5.
Десятое изменение элементов или переменной s: 5, 43, 40, 21, 13, 7, 29, 91, 16, 33, 15, 5. s := s + 33;
Одиннадцатое изменение элементов или переменной s: 5, 43, 40, 21, 13, 7, 29, 91, 16, 33, 150, 5.
Последнее изменение элементов или переменной s: 5, 43, 40, 21, 13, 7, 29, 91, 16, 33, 150, 55.
Следовательно, переменная s = 43+13+7+29+33 = 125.
Ответ: 125.

