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

