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



04.11.2017
Новые видео и статья Функция Odd.

29.10.2017
Новые видео и статья Функция Low.

23.10.2017
Новая задача Даны натуральные числа от 1 до 33.

22.10.2017
Добавлен раздел Статьи по С/С++.

03.10.2017
Новая книга 1001 вопрос начинающего программиста.

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

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

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

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