
- •Информатика серия «Языки программирования» Паскаль
- •Часть 2: Основные структуры языка
- •Пояснительная записка
- •Раздел Var 7
- •1.Структура программы на Паскале
- •Ввод данных
- •Оператор присвоения
- •Арифметические выражения
- •Составной оператор
- •3.Структуры ветвления
- •Оператор условия
- •Оператор выбора
- •4.Циклические структуры
- •Цикл с предусловием
- •Цикл с постусловием
- •Цикл с параметром
- •5.Подпрограммы
- •Процедуры
- •Функции
- •6.Массивы
- •Литература
4.Циклические структуры
Цикл представляет собой последовательность операторов, которая может выполняется неоднократно.
Цикл с предусловием
While Условие выполнения цикла do
Begin
{тело цикла}
end;
Данная структура выполняется следующим образом: сначала проверяется Условие выполнения цикла. Условием может быть любое логическое выражение (с операциями сравнения или логическими операциями). Если результатом проверки условия является значение Истина – True, то выполняются операторы, входящие в тело цикла. Данный процесс продолжается до тех пор, пока в результате проверки условия не будет получено значение False. Если в цикле надо выполнить только один оператор, операторные скобки можно упустить.
Обязательно учитывайте, что параметры, проверяемые в условии, должны внутри цикла меняться, иначе произойдет зацикливание программы во время исполнения циклической структуры (если условие истинно, конечно). Это относится и к следующей структуре цикла с постусловием. Только для него зацикливание произойдет при ложном условии.
Цикл с постусловием
repeat
{тело цикла}
until условие выхода из цикла;
Цикл с постусловием всегда выполняется хотя бы раз, т.к. условие проверяется в конце цикла. Также нужно учесть, что цикл с предусловием выполняется до тех, пока условие верно. Цикл с постусловием, когда условие верно, наоборот – завершается.
Обратите внимание, что операторные скобки для структуры цикл с постусловием не применяются.
Цикл с параметром
For <параметр>:=НЗ То КЗ Do
<тело цикла>;
For <параметр>:=НЗ DownTo КЗ Do
<тело цикла>;
где НЗ − начальное значение параметра, КЗ − конечное значение параметра.
Оператор цикла с параметром применяют тогда, когда заранее известно число повторений одной и той же последовательности операторов.
Начальное и конечное значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями.
В структуре НЗ≤КЗ; а в структуре – наоборот НЗ≥КЗ. Т.е. в первом случае перебор идет по возрастанию значений порядковой переменной <параметр>, а во втором – по убыванию.
Рассмотрим, как выполняется оператор цикла с увеличивающимся параметром (структура ). Сначала вычисляются значения выражений НЗ и КЗ. Если НЗ≤КЗ (или НЗ≥КЗ для второго случая), то <параметр> последовательно принимает значения, равные НЗ, НЗ+1,..., КЗ-1, КЗ и для каждого из этих значений выполняется <тело цикла>. Если НЗ>КЗ, то <тело цикла> не выполняется ни разу.
Для второй структуры (с DownTo) после вычисления начального и конечного выражений проверяется условие НЗ≥КЗ. А затем идет перебор параметра НЗ, НЗ-1,..., КЗ+1, КЗ (т.е. с шагом -1) с выполнением операторов из тела цикла. Если НЗ<КЗ, то <тело цикла> не выполняется ни разу. Если внутри цикла исполняется один оператор, то операторные скобки можно отбросить.
5.Подпрограммы
Нередко в программах встречаются повторяющиеся или похожие фрагменты. Имеется возможность оформлять такие фрагменты специальным образом – выделять их в подпрограммы. Само название подпрограмма говорит о том, что это часть программы, которая оформляется как самостоятельная программная единица. Использование подпрограмм не только улучшает структуру и внешний вид программы, но и уменьшает вероятность ошибок и облегчает отладку. Подпрограмме дается уникальное имя – идентификатор, по которому к ней можно обращаться (вызывать подпрограмму). Параметры, которые указываются при описании процедур и функций, называются формальными.
В Паскале имеются два вида подпрограмм − процедуры и функции. Их структура очень похожа на структуру основной программы. Все процедуры и функции делятся на две группы: стандартные (встроенные) и определенные пользователем.
Стандартные входят в стандартные библиотеки и могут вызываться по имени без предварительного описания. Процедуры и функции пользователя пишутся самим программистом в разделе описания процедур и функций.