13.2.4 Оператор For..to/downto..do

Вверх  Предыдущий  Следующий

Free Pascal поддерживает построение циклов for. Цикл for используется в случае, если нужно что-то вычислять фиксированное число раз. Синтаксический прототип выглядит следующим образом:


Оператор for

1314


Этот оператор (for) может быть составным. Когда компилятор встречает оператор for, управляющая переменная инициализируется начальным значением, и сравнивается с конечным значением.Что будет дальше, зависит от того, используется ли to или downto:

В случае если используется to, и начальное значение больше конечного, то оператор не выполнится ни разу.

В случае если используется downto, и начальное значение меньше конечного, то оператор не выполнится ни разу.

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

Примечание:

Free Pascal всегда вычисляет верхнюю границу перед инициализацией переменной счетчика начальным значением.

Примечание:

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

Приведенные ниже циклы допустимы:

For Day := Monday to Friday do Work;

For I := 100 downto 1 do WriteLn ('Обратный счёт: ',i);

For I := 1 to 7*dwarfs do KissDwarf(i);

Код ниже будет генерировать ошибку:

For I:=0 to 100 do

begin

DoSomething;

I:=I*2;

end;

потому что переменной цикла нельзя присваивать значение внутри цикла.

Если оператор (после do) является составным, то могут быть использованы системные процедуры Break и Continue для выхода из цикла или начала новой итерации оператора for. Обратите внимание, что Break и Continue не зарезервированные слова, и поэтому могут быть перегружены.