Оператор цикла FOR организует выполнение одного оператора заранее известное число раз.
Структура оператора
for param:=start to finish do instruction;
for param:=start downto finish do instruction;
param - параметр цикла, является переменной порядкового типа;
start – выражение, определяющее начальное значение параметра цикла;
finish – выражение, определяющее конечное значение параметра цикла;
instruction – выполняемый оператор.
start и finish должны быть совместимы для присваивания с параметром цикла param.
Работа оператора FOR
Сначала вычисляются и запоминаются начальное start и конечное finish значения параметра цикла param. Затем параметру цикла param присваивается начальное значение start. Затем значение параметра сравнивается с finish. До тех пор, пока параметр цикла меньше или равен конечного значения (больше или равен конечного значения) finish, выполняется очередная итерация цикла. В противном случае осуществляется выход из цикла. Выполнение очередной итерации включает выполнение оператора instruction, затем присваивание param большего или меньшего значения.
Если start > (<) finish, оператор не выполняется ни разу. После выхода из цикла параметр цикла становится неопределённым, за исключением случая, когда выход из цикла осуществляется с помощью оператора GOTO или стандартной процедуры break.