Значения элементов массива а, состоящего из 10 элементов, равны соответственно: 5, 7, 6, 0, 3, т. е. а[0] = 5, a[1] = 7 и т. д. в результате выполнения фрагмента программы

SofiShidlFox SofiShidlFox    2   04.10.2019 07:30    44

Ответы
marisa10 marisa10  04.10.2019 07:30

рассмотрим, что делает эта программа.

  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.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Математика