Заголовок оператора повтора For определяет:
диапазон изменения значений управляющей переменной и одновременное число повторений оператора, содержащегося в теле цикла;
направление изменения параметра цикла (возрастание – to или убывание – downto).
На использование параметра цикла накладываются следующие ограничения:
В качестве параметра должна использоваться простая переменная, описанная в текущем блоке.
Управляющая переменная должна иметь дискретный тип.
Начальное и конечное значение диапазона должны иметь совместимый тип с параметром цикла. При этом допускаются любые скалярные типы, кроме вещественного.
В теле цикла запрещается явное изменение значения управляющей переменной.
Значение управляющей переменной изменяется на +1 или -1, т.е. шаг равен единицы.
Пример. Составить программу для перевода расстояний из дюймов в сантиметры (1дюйм = 2,5 см) для значений длин от 1 до 20 дюймов.
Пусть R1 – расстояние в дюймах, а R2 – это расстояние в см.
1 способ.
Program sb1;
Var
R2 : real ;
R1 : integer ;
Begin
Writeln (‘Таблица перевода расстояний из дюймов в сантиметры’);
For R1:=1 to 20 do
Begin
R2 := 2.5*R1;
Writeln (R1 :6, ‘ ‘, R2 :8:2 );
End;
Readln;
End.
2 способ.
Program sb2;
Var
R2 : real ;
R1 : integer ;
Begin
Writeln (‘Таблица перевода расстояний из дюймов в сантиметры’);
R1 := 1;
While R1 <= 20 do
Begin
R2 := 2.5*R1;
Writeln (R1 :6, ‘ ‘, R2 :8:2 );
R1 := R1+ 1;
End;
Readln;
End.
3 способ.
Program sb3;
Var
R2 : real ;
R1 : integer ;
Begin
Writeln (‘Таблица перевода расстояний из дюймов в сантиметры’);
R1 := 1;
Repeat
R2 := 2.5*R1;
Writeln (R1 :6, ‘ ‘, R2 :8:2 );
R1 := R1+ 1;
Until R1>20;
Readln;
End.