Читайте также: |
|
Оператор цикла с постусловием имеет следующий вид:
REPEAT
S1;
S2;
...
UNTIL B
Где REPEAT (повторять), UNTIL ( до тех пор, пока) – служебные слова;
S1, S2... любые операторы языка, входящие в тело цикла;
B – условие (логическое выражение).
Действие оператора REPEAT подобно действию оператора WHILE, но проверка условия производится после очередного цикла, что обеспечивает его выполнение хотя бы один раз. Служебные слова REPEAT, UNTIL по действию похожи на операторные скобки BEGIN – END. Между ними можно поместить группу операторов, отделяя их друг от друга точкой с запятой. Операторы, входящие в тело цикла выполняются до тех пор, пока условие ложно.
При составлении циклов с предусловием или постусловием необходимо принимать во внимание следующие моменты:
1) перед каждым выполнением цикла условие его окончания (или продолжения) должно быть определено (иметь конкретное значение);
2) тело цикла должно содержать хотя бы один оператор, влияющий на условие окончания (продолжения), иначе цикл будет продолжаться бесконечно;
3) условие окончания цикла должно быть в конце концов удовлетворено;
4) условие вычисляется при каждом выполнении цикла и поэтому должно быть насколько можно простым.
Пример: Составить блок – схему и программу решения задачи, приведённой в последнем примере пункта 1.3, использовав оператор цикла с постусловием REPEAT.
Блок – схема приведена на рис. 8.
Программа имеет вид:
PROGRAM RYD;
VAR X, EPS, Y, Z: REAL;
N: INTEGER;
BEGIN
READ (X, EPS);
N: =0; Y; Z: =1;
REPEAT
N: =N+1; Y: =Y·X/N; Z: = Z+Y;
UNTIL Y<EPS;
WRITELN (‘Z=’, Z);
END.
Блок – схема данной задачи аналогична блок – схеме приведённой на рис. 7. Разница заключается в том, что проверка условия (блок 9) производится после очередного выполнения цикла. Если условие ложно, то управление передаётся блоку 6 и операторы цикла выполняются снова. Как только условие станет истинным, управление перейдёт к блоку 10.
Дата добавления: 2015-07-08; просмотров: 497 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
I.3. Оператор цикла с предусловием. | | | Вложенные циклы. |