В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 3, 0, 4, 6, 5, 1, 8, 2, 9, 7 соответственно, т. е. A[0] = 3, A[1] = 0 и т. д. Определите значение переменной c после выполнения следующего фрагмента этой программы (записанного ниже на разных языках программирования)
| Бейсик | Python |
|---|---|
c = 0 FOR i = 1 TO 9 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,10): 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 9 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 до 9   если A[i-1] > A[i] то c := c + 1 t := A[i] A[i] := A[i-1] A[i-1] := t   все кц |
| Си++ | |
c = 0; for (int i = 1; i < 10; i++) { if (A[i-1] > A[i]){ c++; t = A[i]; A[i] = A[i-1]; A[i-1] = t; } }
| |
Данный алгоритм меняет местами элементы с номером i и i-1, если A[i-1] > A[i], при каждой такой перестановке c увеличивается на единицу.
Сначала тройка сравнивается с нулем, поскольку тройка больше нуля они меняются местами. Аналогично шестерка меняется местами с пятёркой и единицей. Затем восьмерка меняется местами с двойкой, а девятка — с семеркой. Всего было 5 перестановок, следовательно, после исполнения данного фрагмента программы c станет равным пяти.
Ответ: 5.

