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

