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

