Программа DemoFor1 выводит на экран таблицу перевода из градусов по шкале Цельсия(С) в градусы по Фаренгейту(Р) для значений от 15°С до 30°С с шагом 1 градус. Перевод осуществляется по формуле: F = С*1.8+32.
program DemoFor1;
var
I: integer;
F: real;
begin
Writeln (' Температура ');
for I:= 15 to 30 do {Заголовок цикла с параметром}
begin {Начало тела цикла}
F:= I*1.8+32;
Writeln('no Цельсию= ',I,' по Фаренгейту= ', F:5:2)
end; {Конец тела цикла}
end.
В блоке описания переменных описаны параметр цикла I типа integer и переменная F — температура по Фаренгейту типа real. Переменная I, помимо функций управляющей переменной, является переменной, хранящей целочисленные значения температуры по шкале Цельсия. В начале выполнения программы на экран выводится надпись ' Температура ', а затем оператором повтора выводится таблица соотношения температуры в шкалах Цельсия и Фаренгейта. Печать таблицы выполняется оператором Writeln('По Цельсию= ',I,' по Фаренгейту= ', F: 5:2).
Цикл выполняется следующим образом.
При первом обращении к оператору for вычисляются значения начального (15) конечного (30) параметров цикла, и управляющей переменной I присваивается начальное значение 15.
Затем циклически выполняется следующее:
1. Проверяется условие I<=30.
2. Если оно соблюдается, то выполняется составной оператор в теле цикла, т.е. рассчитывается значение выражения I* 1.8+32, затем оно присваивается переменной F, и на экран выводится сообщение: 'По Цельсию= ', I, ' по Фаренгейту= ', F:5:2.
Если условие I<=30 не соблюдается, т. е. как только I станет > 30, оператор тела цикла не выполняется, а управление в программе передается за пределы оператора for, в нашем примере на оператор end. Программа завершает работу.
3. Значение параметра цикла I увеличивается на единицу, и управление передается в заголовок цикла for для проверки условия.
Далее цикл повторяется, начиная с пункта 1.
Вторым примером оператора цикла for может служить программа DemoFor2, которая печатает на экране символы американскою стандартного кода обмена информацией (ASCII) в порядке убывания кода.
program DemoFor2;
var
A: integer;
begin
for A:= 255 downto 0 do { Цикл с убыванием параметра}
Writeln('код символа = ',А, ' символ == ',Chr(A));
end.
В данной программе применяется цикл for с убыванием значения управляющей переменной А (используется указание downto - убывание).