Оператор состоит из заголовка и тела цикла. Заголовок имеет вид:
for <имя параметра цикла> := <начальное значение> to <конечное значение> do
или
for <имя параметра цикла> := <начальное значение> downto <конечное значение> do
Далее идет тело цикла: простой или составной оператор (до символа ";"). Если оператор составной оператор представляет собой группу операторов, он заключается в операторные скобки begin ... end;
В качестве параметра цикла можно использовать любую целочисленную переменную, в которой в это время не хранится нужное в дальнейшем значение. Эта переменная изменяется в цикле автоматически. Параметр цикла – это переменная, обычно играющая роль не только счетчика количества выполненных повторений цикла, но одновременно служащая порядковым номером обрабатываемого числа или элемента массива.
Начальное и конечное значения параметра цикла могут быть выражениями, но они вычисляются только один раз – при первом входе в цикл. В теле цикла они не должны меняться. При каждом возврате к заголовку в цикле, счетчик автоматически увеличивается на единицу.
Тело цикла выполняется, пока счетчик не станет больше конечного значения (если счетчик равен конечному значению – цикл выполняется). Если требуется организовать цикл, в котором параметр уменьшается на единицу с каждым возвратом, то используют ключевое слово "downto", вместо "to".
Арифметическому оператору соответствует структура, изображенная на рисунке
Примеры написания оператора:
for i:=1 to 25 do write('*'); {вывод строки из 25 *}
for k:=L+1 to N-1 do { значения L и N должны }
begin { быть определены до цикла }
. . .
end;
for i:=N downto 2 do S:=S+i; {Сумма целых чисел 2..N}
Если нужно менять счетчик с другим шагом (не единица), используют второй счетчик, изменяющийся в теле цикла по рекуррентной формуле, например j:=j+3; или вычисляемый через первый счетчик, например: j:= 2+(i-1)*3;
Внутри тела цикла можно использовать операторы продолжения (continue) и операторы прерывания (break) цикла. Например, операторы, вычисляющие произведение N чисел с пропуском отрицательных, и досрочно прекращающих перемножение при вводе нуля, могут выглядеть так: