Для многократного повторения одних и тех же действий в Turbo Pascal предусмотрены три оператора цикла. Если число повторений цикла (или итераций) заранее не известно, но известно условие завершения цикла, в таких случаях применяются операторы REPEAT и WHILE. Если число повторений известно, то используется оператор FOR.
Оператор цикла FOR, известный как оператор цикла с параметром, выглядит так:
for i=a to b do s;
При выполнении этого оператора сначала вычисляется некоторое начальное значение а, которое присваивается переменной i, называемой параметром цикла. Затем вычисляется конечное значение b и проверяется, имеет ли место равенство i=b. Если равенства нет, выполняется оператор s, который может быть составным, и переменная i увеличивается на единицу. После этого проверка, не равен ли параметр конечному значению, а также выполнение оператора s и увеличение переменной i на единицу выполняются циклически до тех пор, пока не будет получено равенство i=b.
Параметр цикла i, а также начальное и конечное значения (а и b) могут принадлежать любому порядковому типу (например, Integer или Char). (Но при этом все они должны быть одного типа.) Если начальное значение превышает конечное значение или равно ему с самого начала, оператор s не выполнится ни разу.
Оператор цикла FOR имеет такие особенности:
Ø в теле цикла запрещается явно изменять значение параметра цикла (с помощью оператора присваивания, например);
Ø по завершении работы оператора цикла FOR, значение параметра (i) считается неопределенным.
Возможна и другая форма оператора цикла с параметром:
for i=a downto b do s;
Здесь, чтобы выполнялся оператор s, начальное значение а должно превышать конечное значение b. Кроме того, в этом случае параметр i с каждым циклом уменьшается на единицу, пока не становится равным конечному значению b.
Оператор цикла с параметром следует использовать тогда, когда заранее точно известно, сколько раз должно быть выполнено тело цикла.