Оператор цикла FOR

Оператор цикла FOR используют для программирования детерминированных циклов, т. е. в том случае, когда заранее известно число повторений цикла, а параметр цикла либо возрастает с шагом 1, либо убывает с шагом –1.

Общий вид оператора FOR:

FOR I:=N1 TO N2 DO <оператор цикла>;

или

FOR I:=N1 TO N2 DO BEGIN

<блок операторов цикла>;

END;,

где I – параметр цикла;

N1 – начальное значение параметра цикла;

N2 – конечное значение параметра цикла.

Параметры I, N1, N2 должны быть одного и того же скалярного типа, но не REAL. Параметр цикла Iпринимает последовательные значения от N1 до N2, увеличиваясь на 1. Схема, реализующая действие оператора FOR имеет вид, представленный на рисунке 1.

Например, при реализации следующего оператора:

FOR K: =1 TO 50 DO WRITELN (K:3);

на печать будут выданы натуральные числа от 1 до 50.

 

 

Рисунок 1 – Схема оператора цикла FOR

 

Если параметр цикла изменяется от большей величины к меньшей, уменьшаясь на 1 (т. е. шаг изменения параметра –1), то оператор цикла FOR будет иметь вид:

FOR I:=N1 DOWNTO N2 DO <оператор цикла>;.

Например, при выполнении оператора:

FOR K:=100 DOWNTO 50 DO WRITELN (K:3);

на печать будут выданы натуральные числа от 100 до 50.

 

Пример 1 Вычислить значение факториала P=n! при заданном n. Факториал n – это произведение первых n натуральных чисел, т. е. P=1*2*3*...*n.

Рисунок 2 – Схема алгоритма решения примера 1 PROGRAM PRIMER1; VAR X,N,P: INTEGER; BEGIN WRITELN (‘ВВЕДИТЕ ЧИСЛО N’); READLN (N); P:=1; FOR X:=1 TO N DO P:=P*X; WRITELN (‘ФАКТОРИАЛ=’,P); END.