и старших значений могут стоять
VAR i : integer;
BEGIN
FOR i := 1
TO 10
DO Write(i:5);
FOR i := 5
DOWNTO 0
DO
Write(i:5)
END.
На месте младших и старших значений могут стоять константы, а могут и переменные или выражения, совместимые по присваиванию с параметром цикла. Например,
CONST n = 10;
m = 3;
VAR i,
k : integer;
BEGIN
k := 1;
FOR i := k
TO n
DO Write(i:5);
FOR i := (m+2)
DOWNTO 0
DO
Write(i:5)
END.
Выполнение цикла начинается с присваивания параметру стартового значения. Затем следует проверка, не превосходит ли параметр конечное значение (случай с TO) или не является ли он меньше конечного значения (случай с DOWNTO). Если результат проверки утвердительный, то цикл считается завершенным. В противном случае выполняется тело цикла (оператор, следующий за словом DO), и после этого параметр цикла меняет свое значение на следующее. Далее снова производится проверка значения параметра цикла, т.е. алгоритм повторяется.
Запрещается
изменять параметр цикла и его старшее и младшее значения внутри тела цикла. Кроме того, параметр цикла не может участвовать в построении диапазонов этого же цикла. Компилятор таких “незаконных” действий не замечает, но программа, содержащая цикл с заголовком типа
FOR i := i-5
TO
i+5
DO ... ;
не заслуживает никакого доверия, даже если запускается!
Операторы FOR могут быть вложенными друг в друга, например
VAR
i,j : integer;
BEGIN
WriteLn(‘Таблица умножения’);
FOR i := 1
TO 10
DO begin
FOR j := 1
TO 10
DO
Write((i*j):5);
WriteLn;
end;
END.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий