В языке Паскаль имеются три различных оператора, с помощью которых можно запрограммировать повторяющиеся фрагменты алгоритмов.
Оператор цикла с параметром имеет такую структуру:
For <имя переменной>:= <выражение1> To <выражение2>
Do <оператор>;
<имя переменной> - параметр цикла
<выражение1> - начальное значение параметра цикла
<выражение2> - конечное значение параметра цикла
Все три указанных выше объекта должны быть одного порядкового типа.
<оператор> - тело цикла.
Этот оператор цикла выполняется следующим образом:
1. Вычисляются значения выражения 1 и выражения 2.
2. Параметру цикла присваивается начальное значение.
3. Параметр цикла сравнивается с конечным значением. Если параметр цикла меньше или равен конечному значению, то перейти к п.4, иначе - конец цикла (переход на следующий оператор после оператора цикла).
4. Выполнить тело цикла. Параметр цикла принимает следующее значение, полученное с помощью функции Succ. Перейти к п.3.
Есть еще один вариант этого оператора цикла, когда параметр цикла после каждого выполнения тела цикла принимает следующее значение, полученное с помощью функции Pred. В этом случае служебное слово To заменяется на Dowto и цикл идет до тех пор, пока параметр цикла не станет строго меньше конечного значения.
Пример.
Вычислить и напечатать первые 10 чисел Фибоначчи.
Решение:
Program Fib;
Сonst n=10; {количество чисел}
Var i,f1,f2,f3:Integer;
Begin
f1:= 1; f2:= 1; {первые два числа Фибоначчи}
For i:= 3 To n Do
Begin
f3:= f1 + f2; {следующее число}
Writeln(f3);
f1:= f2; f2:= f3
End
End.