Урок #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
- 9241 reads