Система программирования Турбо паскаль 7.0

Операторы цикла с условием


Различают два вида операторов с условием:

1) оператор цикла WHILE (пока);

2)      оператор цикла REPEAT (повторять до тех пор пока).

                            Оператор цикла WHILE

Общий вид

записи:

WHILE < логическое выражение > DO < тело цикла>;

Тело цикла – единичный оператор, выполняемый в цикле.

Работа оператора

Тело цикла выполняется, пока логическое выражение, определяющее условие выхода из цикла, имеет значение  TRUE.  В противном случае оператор цикла WHILE завершает свою работу. В состав логического выражения входит управляющая переменная, которая должна обязательно изменяться в теле цикла.

Графическая интерпретация оператора

В блок-схемах оператору цикла WHILE соответствует структура ЦИКЛ-ПОКА.



Пример 1. Алгоритм табулирования функции с одной переменной.

Вычислить таблицу значений функции:

                          

 

при

, изменяющемся в интервале [-0.5, 2.5] с шагом 0.1.

заданные вещественные числа.

В данной задаче переменная

 является управляющей переменной цикла.

Блок-схема

Программа

                        Program TAB_1;

                        Var

                             a, b, x, y: real;

                          Begin

                       writeln(‘Введите исходные данные’);

                       read(a, b);

                    writeln (‘         x                    y(x)’);

                         x := -0.5;

                       while  x <= 2.5  do

                                           begin

                    y := ln(abs(x))/(a*a - b*b);

                    writeln(x:8:1, y:8:1)

                    x := x + 0.1;


                   end;
                            End.
                          Оператор цикла REPEAT
Общий вид
записи:
                  REPEAT
                <тело цикла>;
                       UNTIL <логическое выражение>;
Работа оператора
Выполняется тело цикла, после чего вычисляется логическое выражение, определяющее условие выхода из цикла. Если логическое выражение имеет значение FALSE, то повторяется выполнение тела цикла. В противном случае оператор цикла REPEAT завершает свою работу.
Управляющая переменная, как и в случае оператора цикла WHILE, должна включаться в состав логического выражения и изменяться в теле цикла.
        Графическая интерпретация оператора
В блок-схемах оператору цикла REPEAT соответствует структура ЦИКЛ-ДО.

Выход из цикла

Пример 2.  Решить предыдущую задачу табулирования функции с использованием оператора цикла REPEAT.
Программа
                                  Program TAB_2;
                                  Var
                                       a, b, x, y: real;
                                  Begin
                                 writeln(‘Введите исходные данные’);
                                  read(a, b);
                             writeln(‘       x                y(x)’);
                                  x := -0.5;
                                  repeat
                                y := ln(abs(x))/(a*a - b*b);
                                writeln(x:8:1, y:8:1)
                                x := x + 0.1;
                                  until  x > 2.5;
                                End.

Блок-схема

Основные отличия оператора цикла WHILE
от оператора  цикла REPEAT.
1.      В теле  цикла оператора WHILE может стоять только один оператор. Для выполнения в цикле нескольких операторов тело цикла должно заключаться в операторные скобки BEGIN … END.
В операторе REPEAT операторные скобки не ставятся, так как их целиком заменяют служебные слова REPEAT … UNTIL.
2.      В операторе WHILE тело цикла может не выполняться ни разу, если логическое выражение сразу окажется ложным.
В операторе REPEAT логическое выражение записывается после тела  цикла. Поэтому тело цикла  обязательно выполнится хотя бы один раз.

Содержание раздела