Файл: Обзор языков программирования высокого уровня (Решение циклических алгоритмов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 06.04.2023

Просмотров: 98

Скачиваний: 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 является универсальным языком, он удобен как в изучении так и в использовании. Язык программирования - это строго типизированный язык, что позволяет часто применять его при написании программ группами, что на сегодняшний день хорошо распространено. При написании программы, даже самой небольшой, необходимо помнить то, что кому-то, возможно, придется с ней работать, поэтому в процессе программирования нужно учитывать все правила.