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

