Паскаль в примерах. Иринчеев А.А - 52 стр.

UptoLike

52
WRITELN(X:8:5,' ',Y:8:6);
X:=X+DX;
END
ELSE
WRITELN(' Функция не определена ');
END
END.
2.18. Оператор цикла с постусловием
Оператор цикла с постусловием похож на оператор цикла с предусловием, но условие
вычисляется и проверяется после выполнения операторов, составляющих тело цикла. Общий
вид оператора цикла c постусловием:
REPEAT
A1;
A2;
... ;
AN
UNTIL B
где A1;A2;...;AN - операторы тела цикла:
В - выражение булевского типа.
Оператор цикла с постусловием начинается с выполнения операторов внутри цикла. За-
тем вычисляется выражение В, и если получается истинное значение (TRUE), то осуществ-
ляется выход из цикла. Если же значение выражения ложно (FALSE), то выполнение опера-
торов A1;A2;...;AN повторяется, а затем снова вычисляется выражение В.
В отличие от цикла с предусловием выход из цикла с постусловием осуществляется при
истинности выражения В и в отличие от оператора WHILE в операторе REPEAT условие по-
вторяется после каждой итерации; обеспечивается выполнение, по крайней мере, одного вы-
числения в цикле (когда значение логического выражения FALSE); тело цикла может содер-
жать не один, а несколько операторов без записи их в составном операторе. Эта особенность
записи оператора объясняется тем, что компилятор воспринимает ключевое слово REPEAT
как REPEAT BEGIN, а UNTIL как UNTIL END. Функциональная схема итерационного про-
цесса с постусловием представлена на рис. 2.9.
Рис. 2.9. Блок-схема итерационного процесса.
Рассмотрим пример 24 с использованием оператора цикла с постусловием:
PROGRAM PR34
VAR
K:INTEGER
BEGIN
K:=0;
REPEAT
PROGRAM PR 34A
VAR
K:INTEGER;
BEGIN
K:=0;
REPEAT
Начальное присваивание
тело цикла
условие
       WRITELN(X:8:5,' ',Y:8:6);
      X:=X+DX;
      END
           ELSE
       WRITELN(' Функция не определена ');
  END
 END.
                         2.18. Оператор цикла с постусловием

    Оператор цикла с постусловием похож на оператор цикла с предусловием, но условие
вычисляется и проверяется после выполнения операторов, составляющих тело цикла. Общий
вид оператора цикла c постусловием:

       REPEAT
        A1;
        A2;
       ... ;
        AN
       UNTIL B
       где A1;A2;...;AN - операторы тела цикла:
             В - выражение булевского типа.
    Оператор цикла с постусловием начинается с выполнения операторов внутри цикла. За-
тем вычисляется выражение В, и если получается истинное значение (TRUE), то осуществ-
ляется выход из цикла. Если же значение выражения ложно (FALSE), то выполнение опера-
торов A1;A2;...;AN повторяется, а затем снова вычисляется выражение В.
    В отличие от цикла с предусловием выход из цикла с постусловием осуществляется при
истинности выражения В и в отличие от оператора WHILE в операторе REPEAT условие по-
вторяется после каждой итерации; обеспечивается выполнение, по крайней мере, одного вы-
числения в цикле (когда значение логического выражения FALSE); тело цикла может содер-
жать не один, а несколько операторов без записи их в составном операторе. Эта особенность
записи оператора объясняется тем, что компилятор воспринимает ключевое слово REPEAT
как REPEAT BEGIN, а UNTIL как UNTIL END. Функциональная схема итерационного про-
цесса с постусловием представлена на рис. 2.9.

                          Начальное присваивание


                            тело цикла

                            условие


                      Рис. 2.9. Блок-схема итерационного процесса.

Рассмотрим пример 24 с использованием оператора цикла с постусловием:

PROGRAM PR34                  PROGRAM PR 34A
VAR                           VAR
 K:INTEGER                     K:INTEGER;
 BEGIN                         BEGIN
  K:=0;                         K:=0;
REPEAT                        REPEAT

                                                                                       52