Согласие на обработку персональных данных.



04.09.2017
Новая задача Программа вычисления суммы.

03.09.2017
Новое видео Стековый калькулятор и обратная польская запись.

26.08.2017
Новая статья Версии Делфи.

23.08.2017
Новая статья Для кого пишется программа.

13.08.2017
Новая статья Стандарт C++: общие сведения.

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

Основы программирования Основы программирования
Каждый профессионал когда-то был чайником. Наверняка вам знакомо состояние, когда “не знаешь как начать думать, чтобы до такого додуматься”. Наверняка вы сталкивались с ситуацией, когда вы просто не знаете, с чего начать. Эта книга ориентирована как раз на таких людей, кто хотел бы стать программистом, но совершенно не знает, как начать этот путь. Подробнее...

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

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