Информатика, опубликовано 06.03.2019 07:30
Впрограмме используется одномерный целочисленный массив 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] < a[i] then begin c : = c + 1; t : = a[i]; a[i] : = a[i - 1]; a[i - 1] : = t end;
Ответ оставил: Гость
Рассмотрим, что делает эта программа. 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.
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01
Информатика, опубликовано 09.01.2019 16:01