Циклические операторы Turbo Pascal.

Если в программе возникает необходимость неоднократно выполнить некоторые операторы, то используются операторы повтора (цикла). В языке Паскаль существует три вида операторов цикла: while, repeat, for. Они используются для организации циклов различных типов.

Если число повторений оператора (составного оператора) заранее неизвестно, а задано лишь условие его повторения (или окончания), используются операторы while, repeat. Оператор for используется, если число повторений заранее известно.

Оператор повтора for.

В случаях, когда число повторений может быть заранее известно, для организации циклической обработки информации применяется цикл For. (Часто этот оператор повтора называют оператором цикла с параметром, так как число повторений задается переменной, называемой параметром цикла, или управляющей переменной.)

Оператор повтора for имеет следующий формат записи:

for <параметр цикла>:= <S1> to <S2> do <тело цикла >;

for <параметр цикла>:= <S1> downto <S2> do <тело цикла>;

Параметр цикла- переменная любого порядкового типа.

SI и S2 — выражения, определяющие начальное и конечное значения параметра цикла, значение которых принадлежит тому же (или совместимому) порядковому типу, что и параметр;

Тело цикла может быть простым или составным оператором.

Оператор for-to-do (for-downto-do)выполняется следующим образом:

1. Вычисляются выражения Sl,S2

2. Осуществляется присваивание <параметр цикла>:=S1

3. Проверяется условие <параметр цикла><=S2.

4. Если условие истино, то выполняется тело цикла

5. Значение управляющей переменной изменяется на +1 (to) или (—1) (downto) и снова проверяется условие <параметр цикла><=S2.

6. Как только условие нарушено происходит выход из цикла.

На использование управляющей переменной (параметра цикла) в цикле for налагаются следующие ограничения.

1. В качестве параметра должна использоваться простая переменная, она должна быть описана в текущем блоке.

2. Управляющая переменная должна иметь порядковый тип.

3. Начальные и конечные значения диапазона должны иметь тип, совместимый тип с типом управляющей переменной. (Но НЕ вещественный).

4. В теле цикла запрещается явное изменение значения управляющей переменной (например, оператором присваивания).

5. После завершения оператора значение управляющей переменной становится неопределенным, если только выполнение оператора не было прервано оператор перехода.

Оператор while.

Оператор while (пока) часто называют оператором цикла с предусловием за то, что проверка условия выполнения тела цикла производится в начале самого оператора.

Формат записи:

while <условие продолжения повторений> do <тело цикла>;

Условие- булевское выражение, это может быть:

1. Переменная булевского типа

2. Выражение отношения

3. Логическое выражение

Тело цикла — простой или составной опе­ратор.

Оператор While работает следующим образом:

1. Вычисляется значение выражения-условия.

2. Если результат равен True, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен False, происходят выход из цикла и пере­ход к первому после while оператору.

Зам! Если в цикле необходимо повторить несколько операторов, то необходимо использовать составной оператор.

Repeat.

Оператор повтора repeat аналогичен оператору while

Формат записи:

Repeat

<оператор1>;

….

<операторN>;

until <условие окончания цикла>;

На месте условие стоит любое выражение булевского типа (переменная, выражение отношения, логическое выражение).

На месте операторов- любой оператор Turbo Pascal. Операторы, заключенные между словами repeat и until, являются телом цикла.

Оператор работает следующим образом:

1. Вначале выполняется тело цикла

2. Проверяется условие выхода из цикла.

3. Если результат булевского выражения равен False, то тело цикла активизируется еще раз; если результат True, происходит выход из цикла.

Зам! цикл, организованный с помощью оператора repeat, в любом случае выполнится хотя бы один раз.

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

В следующем фрагменте показано, как оператор repeat используется для ожидания нажатия клавиш Y и N. Нажатие других клавиш будет игнорироваться:

uses Crt;

var YN: char;

begin

repeat

YN:= ReadKey

until Upcase(YN) in ['Y','N'];

end.








Дата добавления: 2016-05-25; просмотров: 1937;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.006 сек.