В программке употребляется одномерный целочисленный массив A с индексами от 0
В программе употребляется одномерный целочисленный массив A с индексами от 0 до 9. Значения частей одинаковы 6; 9; 7; 2; 1; 5; 0; 3; 4; 8 соответственно, т.е. A[0] = 6; A[1] = 9 и т.д.
Определите значение переменной c после исполненья следующего куска программки.
c := 0;
for i := 1 to 9 do
if A[i - 1] lt; A[i] then begin
c := c + 1;
t := A[i];
A[i] := A[i - 1];
A[i - 1] := t
end;
1 ответ
Олег
Рассмотрим, что делает эта программка.
c := 0; // изначальное значение счётчика
for i := 1 to 9 do // цикл по i
if A[i - 1] lt; A[i] then begin // если текущий элемент больше предшествующего
c := c + 1; // то увеличиваем счётчик на 1
t := A[i]; // и меняем текущий элемент местами с предшествующим
A[i] := A[i - 1];
A[i - 1] := t
end;
Последние три строки перед end - обыденный алгоритм размена значениями между 2-мя переменными (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 -gt; 9 6 7 2 1 5 0 3 4 8 Размен
2) 9 6 7 2 1 5 0 3 4 8 -gt; 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 -gt; 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] lt; A[i] then begin // если текущий элемент больше предшествующего
c := c + 1; // то увеличиваем счётчик на 1
t := A[i]; // и меняем текущий элемент местами с предшествующим
A[i] := A[i - 1];
A[i - 1] := t
end;
Последние три строки перед end - обыденный алгоритм размена значениями между 2-мя переменными (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 -gt; 9 6 7 2 1 5 0 3 4 8 Размен
2) 9 6 7 2 1 5 0 3 4 8 -gt; 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 -gt; 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.
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
выпиши в свою тетрадь те правила этикета которые тебе не были
Разные вопросы.
Анна хорошо учится у неё много подруг свободное от учёбы время
Обществознание.
Облако тегов