$ ForStatement = FOR ident ":= " expression1 TO expression2 [STEP expression3] DO StatementSequence END FOR ";"
Оператор For обеспечивает циклическое повторение вложенной в него последовательности операторов. Схема работы оператора следующая. При первом вхождении в цикл вычисляются значения выражений expression1, expression2 и expression3. Значения всех выражений должны быть целого типа. Счетчик ident принимает значение выражения expression1. Затем, пока счетчик не превысит значения expression2, выполняется последовательность операторов и счетчик цикла увеличивается на значение expression3 (или на 1, если фраза Step опущена). Если значение expression3 отрицательное, то счетчик ident будет уменьшаться с каждой итерацией цикла пока не станет меньше значения expression2. При достижении счетчиком значения expression2 операторы в цикле выполняются последний раз и управление передается следующему за ключевыми словами «END FOR» оператору.
Примечание. Если выражение expression3 при вычислении принимает значение 0, то генерируется исключительная ситуация.
Sub ForSample;
Var
a, b: Integer;
Begin
a := 1;
b := 1;
For a := 1 To 3 Do
b := b * a
End For;
End Sub ForSample;
Sub ForStepSample;
Var
a, b: Integer;
Begin
a := 1;
b := 1;
For a := 1 To 10 Step 2 Do
b := b + a
End For;
End Sub ForStepSample;
См. также: