Оператор for в некоторых случаях более нагляден для организации цикла. По формату и способам использования он аналогичен оператору for в языке C. Процесс циклического выполнения вычислений организуется следующим образом: до выполнения первой итерации цикла выполняется выражение, указанное в качестве аргумента «Начальное выражение» (см. формат вызова). Перед тем как очередной (в том числе и первый) раз передать управление оператору внутри цикла, вычисляется значение условия цикла (аргумент «Условие» в вызове). Если вычисленное значение отлично от нуля, то выполняется оператор внутри цикла. Если вычисленное значение равно нулю, то выполнение цикла прекращается и управление передается оператору, расположенному непосредственно после оператора цикла. Перед переходом к следующей итерации цикла выполняется выражение, заданное в аргументе «Конечное выражение» (см. формат вызова).
Формат:
for ( Начальное_выражение; Условие; Конечное_выражение ) Оператор_цикла;
Аргументы:
Аргумент
Значение
Начальное_выражение
Выражение, которое будет выполнено до 1-ой итерации, до проверки логического выражения, заданного аргументом Условие.
Условие
Логическое выражение, значение которого проверяется перед очередной итерацией.
Конечное_выражение
Выражение, которое будет выполнено после оператора цикла для каждой итерации.
Оператор_цикла
Оператор, который будет выполняться при соответствующем значении условия цикла.
В тех случаях, когда действия, подлежащие выполнению в цикле, не могут быть записаны одним оператором, удобно применять составной оператор. Составной оператор – один или несколько операторов, заключенных в фигурные скобки.
Цикл for завершается в следующих случаях:
· Значение условия в заголовке цикла обратилось в нуль;
· В теле цикла встретился оператор break;
· В теле цикла встретился оператор return;
· В теле цикла встретился оператор quit.
В первых двух случаях управление передается на оператор, располагающийся непосредственно за циклом. В третьем случае происходит возврат из функции (процедуры). В последнем случае завершается выполнение всей программы.