Цикл с постусловием

Lazarus IDE: Основы программирования в Windows Lazarus IDE: Основы программирования в Windows

Несмотря на то, что всё потихоньку уходит в сеть, программирование для настольных компьютеров остаётся востребованным. И будет таковым ещё долго. Ну а самая распространённая операционная система для настольных компьютеров – это по-прежнему Windows. Поэтому любой программист, даже если он собирается стать веб-разработчиком, должен знать хотя бы основы создания программ для Windows. Подробнее...

Блок схема алгоритма цикла с постусловием показана на рис. 21.2.

Блок-схема алгоритма цикла с постусловием

Рис. 21.2. Блок-схема алгоритма цикла с постусловием.

Как видно из схемы, сначала выполняется код, который находится в теле цикла. Затем проверяется условие. Если условие выполняется, то цикл завершается. Если условие НЕ выполняется, то программа начинает новую итерацию цикла.

Например, вывести несколько одинаковых строк на экран можно так:

i := 1;
Повторять
  Начало
    Вывести(‘Привет, МИР ’, i);
    i := i + 1;
  Конец;
Если i < 10;

Как вы думаете, сколько строк выведет эта программа? А вот и не угадали. Всего одну.

Почему? Потому что это цикл с постусловием. Здесь СНАЧАЛА выполняется итерация цикла, а затем проверяется условие. И если условие выполняется, то цикл завершается. А в нашем случае условие выполняется, так как i изначально меньше 10. Поэтому цикл с постусловием сразу завершается.

Ещё одна особенность цикла с постусловием заключается в том, что цикл выполняется как минимум один раз, потому что условие проверяется в конце, после выполнения кода, который находится в теле цикла.

А теперь посмотрим, как этот цикл реализовать в Паскале.

var i : byte;

begin
  i := 1;
  repeat
    WriteLn('Привет, МИР ', i);
    Inc(i);
  until i > 10;
  ReadLn;
end.

Как видите, здесь мы проверяем уже другое условие, то есть мы проверяем, не стало ли значение индексной переменной больше 10. Поэтому данный пример выведет строку на экран 10 раз. Сами подумайте, почему.

 ВАЖНО! 
Обратите внимание, что мы не используем слова begin и end, чтобы как-то обозначить тело цикла. Дело в том, что слова repeat и until сами являются операторными скобками, поэтому слова begin и end здесь использовать необязательно. Хотя и не запрещено.

См. также:

Домашнее задание:
Проверьте работу цикла с постусловием на практике. Усвойте отличия между циклом с предусловием, и циклом с постусловием.

Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика