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

Что делать, чтобы стать программистом Что делать, чтобы стать программистом

Многие сегодня хотят стать программистами. Хотят. Но ничего не делают для этого. Не делают даже простых вещей. Не хотят даже прочитать книжку из 10 страниц. В итоге так и остаются никем. Потому что мечты не сбываются никогда. Сбываются только планы… Подробнее...

Блок схема алгоритма цикла с постусловием показана на рис. 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

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