Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЯПп_ПаскальСтруктуры.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
188.42 Кб
Скачать

4.Циклические структуры

Цикл представляет собой последовательность операторов, которая может выполняется неоднократно.

Цикл с предусловием

While Условие выполнения цикла do

Begin

{тело цикла}

end;

Данная структура выполняется следующим образом: сначала проверяется Условие выполнения цикла. Условием может быть любое логическое выражение (с операциями сравнения или логическими операциями). Если результатом проверки условия является значение Истина – True, то выполняются операторы, входящие в тело цикла. Данный процесс продолжается до тех пор, пока в результате проверки условия не будет получено значение False. Если в цикле надо выполнить только один оператор, операторные скобки можно упустить.

Обязательно учитывайте, что параметры, проверяемые в условии, должны внутри цикла меняться, иначе произойдет зацикливание программы во время исполнения циклической структуры (если условие истинно, конечно). Это относится и к следующей структуре цикла с постусловием. Только для него зацикливание произойдет при ложном условии.

Цикл с постусловием

repeat

{тело цикла}

until условие выхода из цикла;

Цикл с постусловием всегда выполняется хотя бы раз, т.к. условие проверяется в конце цикла. Также нужно учесть, что цикл с предусловием выполняется до тех, пока условие верно. Цикл с постусловием, когда условие верно, наоборот – завершается.

Обратите внимание, что операторные скобки для структуры цикл с постусловием не применяются.

Цикл с параметром

For <параметр>:=НЗ То КЗ Do

<тело цикла>;

For <параметр>:=НЗ DownTo КЗ Do

<тело цикла>;

где НЗ − начальное значение параметра, КЗ − конечное значение параметра.

Оператор цикла с параметром применяют тогда, когда заранее известно число повторений одной и той же последовательности операторов.

Начальное и конечное значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями.

В структуре  НЗ≤КЗ; а в структуре  – наоборот НЗ≥КЗ. Т.е. в первом случае перебор идет по возрастанию значений порядковой переменной <параметр>, а во втором – по убыванию.

Рассмотрим, как выполняется оператор цикла с увеличивающимся параметром (структура ). Сначала вычисляются значения выражений НЗ и КЗ. Если НЗ≤КЗ (или НЗ≥КЗ для второго случая), то <параметр> последовательно принимает значения, равные НЗ, НЗ+1,..., КЗ-1, КЗ и для каждого из этих значений выполняется <тело цикла>. Если НЗ>КЗ, то <тело цикла> не выполняется ни разу.

Для второй структуры (с DownTo) после вычисления начального и конечного выражений проверяется условие НЗ≥КЗ. А затем идет перебор параметра НЗ, НЗ-1,..., КЗ+1, КЗ (т.е. с шагом -1) с выполнением операторов из тела цикла. Если НЗ<КЗ, то <тело цикла> не выполняется ни разу. Если внутри цикла исполняется один оператор, то операторные скобки можно отбросить.

5.Подпрограммы

Нередко в программах встречаются повторяющиеся или похожие фрагменты. Имеется возможность оформлять такие фрагменты специальным образом – выделять их в подпрограммы. Само название подпрограмма говорит о том, что это часть программы, которая оформляется как самостоятельная программная единица. Использование подпрограмм не только улучшает структуру и внешний вид программы, но и уменьшает вероятность ошибок и облегчает отладку. Подпрограмме дается уникальное имя – идентификатор, по которому к ней можно обращаться (вызывать подпрограмму). Параметры, которые указываются при описании процедур и функций, называются формальными.

В Паскале имеются два вида подпрограмм − процедуры и функции. Их структура очень похожа на структуру основной программы. Все процедуры и функции делятся на две группы: стандартные (встроенные) и определенные пользователем.

Стандартные входят в стандартные библиотеки и могут вызываться по имени без предварительного описания. Процедуры и функции пользователя пишутся самим программистом в разделе описания процедур и функций.