При выполнении оператора For вначале вычисляется выражение <нач_знач> и осуществляется присваивание <параметр>:=<нач_знач>. После этого циклически повторяется:
- Проверка условия <параметр> <= <кон_знач>; если условие не выполнено, оператор for завершает свою работу; (если условие не выполняется в самом начале работы оператора For, исполняемый оператор не будет выполнен ни разу)
- Выполнение оператора <оператор>;
- Наращивание переменной <параметр> на единицу.
Пример 5. Составить программу, подсчитывающую сумму всех натуральных чисел от 1 до N.
Program ex_5;
Uses crt;
Var I, n, S: integer;
Begin Clrscr;
Write(‘ Введите натуральное число n’); read (n);
S:=0; {начальное значение суммы}
For I:=1 to n do
{цикл подсчета суммы}
S:=S+I;
Writeln (‘Сумма =’ , S); {вывод результата}
Readkey;
End.
Существует другая форма оператора For:
for <параметр> := <нач_знач> downto <кон_знач> do <оператор>;
Цикл выполняется аналогичным образом, но шаг наращивания параметра цикла равен (-1), поэтому, чтобы цикл выполнился хотя бы один раз начальное значение параметра цикла должно быть не меньше конечного значения параметра.
Модифицированный фрагмент программы из примера 5.
……..
For I:=n downto 1 do {цикл подсчета суммы}
S:=s+I;
……..