Краткая справка по языку программирования Turbo Pascal



         

Оператор цикла с предусловием WHILE - часть 3


Пример 1. Проверка ввода

VAR

  N : Integer;

BEGIN

  . . .

  REPEAT

    Write(‘Введите целое число от 0 до 10: ’);

    ReadLn(N);

  UNTIL (N>=0) and (N<=10);

  . . .

END.

В этом примере программа будет запрашивать ввод числа до тех пор, пока пользователь не введет “правильное” число.

Пример 2. “Вечный цикл”

REPEAT UNTIL False;

Этот цикл пустой и никогда не прекращающийся. Он хорош только в том случае, когда нужно заблокировать программу, и, возможно весь компьютер. (Но если отбросить шутки, то можно и его пристроить в дело. Обычно так организуют программы с повторяющимися действиями: вначале программы ставят REPEAT, а в конце – UNTIL False. А прервать цикл можно специальными операторами EXIT и HALT). Это имеет смысл, если условий завершения программы много или они очень сложны.)

Оператор цикла с параметром FOR

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

Синтаксис оператора FOR:

FOR

ПараметрЦикла := МладшееЗначение TO

СтаршееЗначение DO Оператор;

или

FOR

ПараметрЦикла := СтаршееЗначение DOWNTO

МладшееЗначение DO Оператор;

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

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

Изменение параметра цикла может быть как возрастающим, так и убывающим. В первом случае МладшееЗначение должно быть больше чем Старшее, а во втором – наоборот.

Примеры оформления циклов с параметром.




Содержание  Назад  Вперед