9 Январь 2008

Вопрос 9. Операторы цикла (for, while, repeat … until).

написано в рубрике: Алгоритмизация (Т) — Метки: , , , , , — Михаил @ 19:21

Три различных оператора, с помощью которых можно запрограммировать повторяющиеся фрагменты программ:

Счетный оператор цикла for имеет такую структуру:

for <параметр_цикла> := <нач_знач> to <кон_знач>

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

Здесь for, to, do – зарезервированные слова (для, до, выполнить); <параметр_цикла> - переменная типа Integer (точнее, любого порядкового типа_);<нач_знач> - начальное значение (выражение того же типа_);<кон_знач> - конечное значение (выражение того же типа); <оператор> - произвольный оператор.

При выполнении оператора for вначале вычисляется выражение <нач_знач> и осуществляется присваивание <параметр_цикла>:= <нач_знач>. После этого циклически повторяется следующая последовательность действий.

  1. Проверка условия <параметр_цикла> <кон_знач>; если условие не выполнено, оператор for завершает свою работу.
  2. Выполнение оператора <оператор>.
  3. Наращивание переменной <параметр_цикла> на единицу.

Оператор цикла while с предварительной проверкой условия:

valentines day dvds

while <условие> do <оператор>;

Здесь while, do – зарезервированные слова (пока [выполняется условие], делать); <условие> - выражение логического типа; <оператор> - произвольный оператор.

Если выражение <условие> имеет значение True, то выполняется <оператор>, после чего вычисление выражения <условие> и его проверка повторяются. Если <условие> имеет значение False, оператор while прекращает свою работу.

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

Оператор цикла repeat..until с последующей проверкой условия:

repeat <тело_цикла> until <условие>;

Здесь repeat и until – зарезервированные слова (повторять [до тех пор], пока [не будет выполнено условие]); <тело_цикла> - произвольная последовательность операторов; <условие> - выражение логического типа.

Операторы <тело_цикла> выполняются хотя бы один раз, после чего вычисляется выражение <условие>: если его значение есть False, операторы <тело_цикла> повторяются, в противном случае оператор repeat..until завершает свою работу.

Пара слов repeat..until подобна операторным скобкам begin и end, поэтому перед until ставить точку с запятой не обязательно.

Для правильного выхода из цикла условие выхода должно меняться внутри оператора, составляющих тело цикла while или repeat..until.

?

© Проект «Студенты-Программеры»., 2008. Все права защищены.
Перепечатка материалов только при наличии активной ссылки на источник.
Powered by WordPress