Впрограмме используется одномерный целочисленный массив а с индексами от 0 до 9. значения элементов равны 1,2,4,3,5,6,8,7,3,4,т.е а(0)=1 и тд. определите значение переменной s после выполнения следующего фрагмента программы: s: =0 for i: =1 to 9 do if a[i-1] a[i]: =a[i-1]+1 s: =s+1 end
s := 0; (начальное значение счётчика)
for i := 1 to 9 do (цикл по i)
if A[i - 1] < A[i] then begin (если текущий элемент больше предыдущего,
s := s + 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 обменов, s = 6.
ответ: 6