Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

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



Читайте также:
  1. Цикл с постусловием

 

Трубку вы схватите как раз тогда, когда в ней зазвучат сигналы отбоя.

Из законов Мэрфи.

 

Другая разновидность цикла отличается тем, что условие проверяется не до, а после выполнения тела цикла. Поэтому цикл с постусловием обязательно выполняется как минимум один раз. Именно поэтому он не чаще всего не годится для решения вычислительных задач: возникает лишняя итерация (проход) цикла, и, складывая 1+2+3, можно получить ответ 10=1+2+3+4.

Цикл с постусловием записывается оператором REPEAT.. UNTIL. Его общий вид таков:

 

REPEAT

оператор1

оператор n

UNTIL условие;

 

Тело цикла составляют операторы, стоящие между REPEAT и UNTIL. Дополнительные BEGIN..END здесь не нужны – синтаксис оператора и так позволяет помещать в тело цикла несколько операторов.

Важная особенность цикла REPEAT состоит в том, что его условие является условием прекращения цикла. Цикл прерывается и программа идет дальше, как только условие становится истинным. Напомним, что в цикле WHILE все наоборот- там цикл прерывается, как только условие становится ложным.

Цикл с постусловием идеально подходит для организации контроля корректности вводимых пользователем данных. Например, мы ожидаем ввода числа от 1 до 3 (скажем, при выборе, куда вводить информацию: на экран или в файл). Как обезопасить себя на тот случай, если гнусный пользователь возьмет и введет 4 или 0? Очень просто:

 

VAR a:BYTE;

BEGIN

REPEAT

a:=StrToInt(LabeledEidit1.Text)

UNTIL (a>=1) AND (a<=3);

 

После ввода числа проверяется условие его нахождения в интервале [1;3]. Если введенное число не попадает в указанный интервал, условие будет ложным и цикл повторится до тех пор, пока условие не окажется истинным.

Обозначение цикла с постусловием на блок-схемах показано на Рис. 2.

Рис. 2. Обозначение цикла с постусловием на блок-схемах.

 


Дата добавления: 2015-07-11; просмотров: 210 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.006 сек.)