start и finish – выражения целого типа (в простейшем случае – целые константы), определяющие, соответственно, начальное и конечное значение счетчика циклов.
Примеры:
for i:=1 to 10 do
writeln (i:2, ́ Hello, World!́);
end;
for i:=1 to n do
writeln (i:2, ́ Hello, World!́);
end;
Цикл While
Инструкция цикла While (цикл с предусловием) в общем виде записывается так:
while условие do
// здесь инструкции, которые будут выполняться до тех пор,
// пока условие истинно
end;
Где:
условие – простое или сложное условие выполнения инструкций, находящихся между словами do и end.
Пример:
i:= 1;
while i <= 10 do
writeln (i:2, ́ Hello, World!́);
i:= i +1;
end;
Цикл Repeat
Инструкция цикла Repeat (цикл с постусловием) в общем виде записывается так:
repeat
// здесь инструкции, которые будут выполняться до тех пор,
// пока условие ложно
until условие;
Где:
условие – простое или сложное условие завершения цикла (прекращения выполнения инструкций, находящихся между словами repeat и until).
Пример:
i:= 1;
repeat
writeln (i:2, ́ Hello, World!́);
i:= i +1;
until i> 10;
Инструкция Goto
Инструкция goto (безусловный переход) в общем виде записывается так:
goto метка;
Где:
метка – идентификатор инструкции, к которой необходимо выполнить переход.
Метка представляет собой любую начинающуюся буквой и состоящую из букв и цифр строку.
Метка записывается перед инструкцией, к которой надо выполнить переход, и отделяется от этой инструкции двоеточием.
Метка должна быть объявлена в разделе объявления меток в той процедуре или функции, в которой она используется. Начало раздела объявления меток помечает ключевое слово label.
Раздел объявления меток предшествует разделу объявления констант или, если раздел const отсутствует, разделу объявления переменных.
Пример:
// вычисление наибольшего общего делителя (НОД)
// двух целых положительных чисел
program p1 ()
label // раздел объявления меток
m1,m2; // метки
var
a,b: integer; // числа
n: integer; // НОД
begin
a:=12;
b:=18;
writeln (́ a=́,a:2,́ b=́,b:2);
m1: if a = b then
n:=a;
goto m2;
end;
if a> b then
a:= a-b;
goto m1;
else
b:= b-a;
goto m1;
end;
m2: writeln (́ Наибольший общий делитель:́, n);
write (́ Press <Enter> ́);
readln;
end.