рассмотрим, что делает эта программа.
c : = 0; // начальное значение счётчика
for i : = 1 to 9 do // цикл по i
if a[i - 1] < a[i] then begin // если текущий элемент больше предыдущего
c : = c + 1; // то увеличиваем счётчик на 1
t : = a[i]; // и меняем текущий элемент местами с предыдущим
a[i] : = a[i - 1];
a[i - 1] : = t
end;
последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).
итак, моделируем, что делает программа и считаем число обменов.
0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 обмен
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 обмен
3) 9 7 6 2 1 5 0 3 4 8 ок
4) 9 7 6 2 1 5 0 3 4 8 ок
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 обмен
6) 9 7 6 2 5 1 0 3 4 8 ок
7, 8, 9) ноль будет "всплывать" в конец, 3 обмена
всего будет 6 обменов, c = 6.
рассмотрим, что делает эта программа.
c : = 0; // начальное значение счётчика
for i : = 1 to 9 do // цикл по i
if a[i - 1] < a[i] then begin // если текущий элемент больше предыдущего
c : = c + 1; // то увеличиваем счётчик на 1
t : = a[i]; // и меняем текущий элемент местами с предыдущим
a[i] : = a[i - 1];
a[i - 1] : = t
end;
последние три строчки перед end - обычный алгоритм обмена значениями между двумя переменными (t = a; a = b; b = t).
итак, моделируем, что делает программа и считаем число обменов.
0) 6 9 7 2 1 5 0 3 4 8 - исходный массив
1) 6 9 7 2 1 5 0 3 4 8 -> 9 6 7 2 1 5 0 3 4 8 обмен
2) 9 6 7 2 1 5 0 3 4 8 -> 9 7 6 2 1 5 0 3 4 8 обмен
3) 9 7 6 2 1 5 0 3 4 8 ок
4) 9 7 6 2 1 5 0 3 4 8 ок
5) 9 7 6 2 1 5 0 3 4 8 -> 9 7 6 2 5 1 0 3 4 8 обмен
6) 9 7 6 2 5 1 0 3 4 8 ок
7, 8, 9) ноль будет "всплывать" в конец, 3 обмена
всего будет 6 обменов, c = 6.