Файл: Обзор языков программирования высокого уровня (Решение циклических алгоритмов).pdf
Добавлен: 06.04.2023
Просмотров: 108
Скачиваний: 1
Рисунок 24 — Поиск минимального значения
Далее напишем цикл обработки заданного значения, начиная с 2-го:
for i:=2 to 10
begin
end.
Организуем проверку пары соседних значений массива. Для этого добавляем в алгоритм программы условие с составным оператором:
if (a [i-1]>a[i]) then
begin
end;
Рисунок 25 — Цикл с составным оператором
В случае, если условие выполняется, присваиваем переменной x наименьшее из двух значений. Прописываем:
x:=a[i];
Далее, присваиваем переменной j номер элемента, располагающийся перед рассматриваемым:
j:=i-1;
Прописываем цикл для перемещения блока значений, которые больше x:
while (j>0 and (a[j]>x) do
begin
end;
Рисунок 26 — Перемещение блока значений
Передвигаем очередное значение вперед по массиву:
a[j+1]:=a[j];
Уменьшим j на 1 для движения к началу массива.
j:=j-1;
Перебрав весь блок со значениями больше x, записываем x в конце блока:
a[j+1]:=x;
Рисунок 27 — Поиск значения, которое было бы больше x
Организуем цикл вывода упорядоченного массива в консоль. Для этого вводим следующие строки:
for i:=1 to 10 do
begin
end;
Теперь произведем вывод очередного элемента на экран:
writeln (I,’-ый элемент:’, a[i]);
Рисунок 28 — Вывод данных на экран
Запустив программу видим, что пользователю необходимо ввести значения, после чего программа должна выдать искомое значение.
Рисунок 29 — Результат работы программы
К вопросу о методах сортировки массивов. Сортировка массива, это процесс расположения его элементов по возрастанию либо убыванию. Если не все элементы различны, то надо говорить о неубывающем (или невозрастающем) порядке. Всего в Паскале существует 3 вида сортировки, это — метод «пузырька», сортировка вставками, и сортировка посредством выбора.
Продемонстрируем метод «пузырька», как наиболее простой:
begin
for j:=1 to N-1 do
for I:=1 to N-j do
if M[i] > M[i+1] then
swap (M[i], M[i+1])
end;
Нужно отметить, что если массив N является глобальным, то процедура могла бы содержать только аргументы (а не результаты). Кроме того, учитывая специфику ее применения в данном алгоритме, можно свести число парметров к одному, а не двум.
ЗАКЛЮЧЕНИЕ
Из проведенной работы можно сделать вывод, что отсутствие циклов привело бы к определенным затруднениям, память программы оказалась бы загружена, не говоря уже о трудоемкости и быстродействии программы.
В ходе работы были рассмотрены циклы начиная с арифметического, заканчивая итерационным циклом, делимый в свою очередь делится на:
- цикл for (цикл «для» со счетчиком, в котором значения должны обладать порядковым типом, т.к. значение переменной цикла увеличивается или уменьшается на единицу при каждом его прохождении);
- цикл while-do (цикл «до» с предусловием, который выполняется до тех пор, пока выражение имеет истинное значение (true), но стоит выражению принять ложное значение (false), как произойдет переход к следующему оператору);
- цикл repeat-until (цикл с постусловием «пока» обладает противоположным циклу «до» действием, т.е. пока выражение ложное - тело цикла продолжается, но как только выражение становится истинным, цикл прекращается).
После рассмотрения примеров использования циклов, мы также выяснили, что тело цикла с постусловием в любом случае выполняется хотя бы один раз, а вот цикл с предусловием может быть не выполнен не разу, данный момент необходимо брать во внимание при написании программы.
Важно, чтобы код программы оставался читаемым. Для этого он должен удовлетворять определенным требованиям форматирования и стиля написания.
Поэтому так важна цикличность программной структуры. При постоянно повторяющихся действиях, мы устанавливает цикл, количество операций, после чего оперативность программы улучшается, и меньше времени тратится у программиста на написание кода.
Говоря о вложенных циклах, один цикл может начать свою работу, только после того, как другой цикл закончил свою. Также, циклический алгоритм-программу можно применить и для поиска максимального либо минимального значения, иногда это делать удобнее, чем использовать записи поиска.
С точки зрения преподавания Pascal является универсальным языком, он удобен как в изучении так и в использовании. Язык программирования - это строго типизированный язык, что позволяет часто применять его при написании программ группами, что на сегодняшний день хорошо распространено. При написании программы, даже самой небольшой, необходимо помнить то, что кому-то, возможно, придется с ней работать, поэтому в процессе программирования нужно учитывать все правила.