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

Оператор цикла REPEAT.

Читайте также:
  1. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  2. I ФУНДАМЕТНЫ. ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  3. I.2 Операторы цикла с присваиванием.
  4. I.3. Оператор цикла с предусловием.
  5. I.ФУНДАМЕНТЫ, ЭЛЕМЕНТЫ НУЛЕВОГО ЦИКЛА
  6. Turbo Pascal. Операторы цикла.
  7. X. Оператора манипулирования данными. Вставка данных

Оператор цикла REPEAT, известный как оператор цикла с постусловием, имеет такой вид:

 

repeat S until P;

 


Работа оператора определяется следующей схемой:

При выполнении этого оператора сначала выполняется тело цикла (S), затем вычисляется некоторое логическое вы­ражение P(условие), принадлежащее типу Boolean, в случае ложности которого вновь выполняется тело цикла. Затем выполнение тела цикла, вычисление условия P и его про­верка повторяются до тех пор, пока выражение Pне стано­вится равным TRUE. После этого управление передаётся следующему (за REPEAT) оператору в программе.

 

Оператор REPEAT отличается от оператора WHILE, во-первых, тем, что здесь условие проверяется после выпол­нения тела цикла. Иными словами, гарантируется хотя бы однократное его выполнение. Во-вторых, оператор REPEAT выполняется до тех пор, пока условие равно FALSE, и управление передается следующему (за REPEAT) оператору, когда условие становится равным TRUE (для оператора WHILE имеет место обратная зависимость).

 

Даже если условие р равно TRUE с самого начала, тело цикла выполнится хотя бы раз. Если условие р тождественно FALSE (repeat s until false), цикл будет бесконечным.

Для того чтобы понять разницу между операторами цикла WHILE и REPEAT, рассмотрим соответствующие фрагменты программ, вычисляющих степени числа 3 в диапазоне между 1 и 300.

 

Цикл WHILE Цикл REPEAT

a:=3: a:=3;

while a<300 do repeat

begin WritteLn (a);

WritteLn (a); a:=a*3

a:=a*3 until a>=300;

End;

 

Прежде всего бросается в глаза, что условия повторения цикла для двух случаев противоположны. Это объясняется тем, что в операторе WHILE цикл выполняется, пока условие не примет значение FALSE, а в операторе REPEAT – пока условие не примет значение TRUE.

Так же следует обратить внимание на то, что тело цикла REPEAT не требуется заключать в операторные скобки BEGIN… END. Если в операторе WHILE после ключевого слова DO выполняется единственный оператор (и если требуется циклически выполнять несколько действий, приходится несколько операторов объединять в составной оператор), то в операторе REPEAT между ключевыми словами REPEAT и UNTIL можно ввести любое количество операторов, без необходимости заключать их в операторные скобки.

Наконец в операторе REPEAT после последнего оператора в теле цикла нет точки с запятой. Это ещё одна особенность оператора REPEAT—перед ключевым словом UNTIL точка с запятой необязательна.

 



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


<== предыдущая страница | следующая страница ==>
Оператор циклаWHILE.| Задача 7.

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