Урок #5: Pascal Циклы For, While, Repeat (материалы к уроку)
Primary tabs
Приведём примеры трёх видов цикла в Pascal.
Все три примера выполняют абсолютно идентичные действия, но с использованием разных циклов.
For -- Цикл с известным числом повторений
- В цикле for -- цикл, используется, когда число повторений известно до начала цикла, начальное значение и предел счетчика цикла можно задать в коде.
- Может выполниться один и более раз или вообще ни разу (зависит от соотношения начального или конечного значений).
- Операторные скобки нужны если в теле цикла выполняется более одного действия.
Пример:
program qwe;
var i,a,b: integer; // три переменные целого типа
begin
b := 20;
a := 5;
{Цикл с известным числом повторений - FOR
i -- переменная-счетчик цикла}
for i:=1 to 16 do // i проходит все значения от 1 до 16
begin
a := a + 1; // инкрементирование (увеличение собственного значения на 1)
write('a -->' + a + ' | ');
end;
end.
While -- Цикл с предусловием
- В этом цикле сначала происходит проверка условия, а потом выполняется очередной виток (повтор) цикла, если условие по-прежнему истинно.
- Может выполняться ноль и более раз.
- Операторные скобки нужны если в теле цикла выполняется более одного действия.
Пример:
program qwe;
var i,a,b: integer; // три переменные целого типа
begin
b := 20;
a := 5;
{ цикл с предусловием WHILE -- "пока верно"
(может не выполнится ни разу если условие ложно) }
while (a <= b) do // пока условие истино: выполняй пока "а" больше "b"
begin
a := a + 1; // инкрементирование (увеличение собственного значения на 1)
write('a -->' + a + ' | ');
end;
end.
Repeat-Until -- Цикл с постусловием
- В этом цикле сначала выполняется виток цикла и лишь потом проверяется требуется ли завершать цикла или же нужен следующий повтор.
- Такой цикл всегда выполнится хотя бы один раз.
- Операторные скобки не нужны.
Пример:
program qwe;
var i,a,b: integer; // три переменные целого типа
begin
b := 20;
a := 5;
{ цикл с постусловием REPEAT-UNTIL -- "пока не"
(первый раз выполнится в любом случае)}
repeat
a := a + 1; // инкрементирование (увеличение собственного значения на 1)
write('a -->' + a + ' | ');
until (a>b) // работает пока это условие ложно
end.
- Log in to post comments
- 9801 reads