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

