Оператор цикла for служит для организации цикла с известным числом повторений и имеет две формы записи.
Первая форма оператора цикла с параметром имеет вид
for < параметр_цикла > := < нач_знач > to < кон_знач > do < тело цикла >;
Вторая форма оператора цикла с параметром имеет вид
for < параметр_цикла >:= < нач_знач > downto < кон_знач > do < тело цикла >;
Обе формы записи означают, что "для (for) значений параметра цикла от начального (< нач_знач >) до (to или downto) конечного (< кон_знач >) необходимо выполнять (do) действия операторов, образующих тело цикла" рис. 3).
Параметр цикла, его начальное и конечное значения должны иметь одинаковый тип. В качестве параметра цикла (управляющей переменной цикла) можно использовать любые данные из группы порядковых типов, кроме переменной вещественного типа. То есть в качестве параметра цикла могут быть целые, символьные, булевы, перечисляемые переменные и переменные тип-диапазон.
Рис. 3. Структурная схема цикла с параметром
Начальное и конечное значения параметра цикла могут быть заданы в виде констант.
Параметр цикла должен принимать последовательные значения от заданного (вычисленного) начального значения до заданного (вычисленного) конечного значения. Переход к очередным значениям параметра цикла осуществляется автоматически с помощью стандартных функций Succ (Х) или Pred (Х), присутствующих в цикле в неявной форме. Первая из них –Succ (Х) – при изменении параметра цикла присваивает ему следующее значение порядкового типа и применяется в сочетании со словом to, вторая – Pred (Х) – присваивает параметру цикла предыдущее значение порядкового типа и применяется в сочетании со словом downto. В частности для параметра цикла целого типа шаг его изменения равен +1 или –1 в сочетании со словами to иdownto соответственно.
Тело цикла – произвольный оператор Турбо Паскаля, т.е. простой или сложный оператор.