Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LYeKTsIYa_15_2.doc
Скачиваний:
13
Добавлен:
20.04.2019
Размер:
199.68 Кб
Скачать

С труктурные схемы операторов цикла

В языке Pascal имеется три вида операторов цикла: 1) оператор цикла с предварительным условием (предусловием); 2) оператор цикла с последующим условием (постусловием); 3) оператор цикла с параметром. Операторы для записи циклов являются сложными, так как в их состав входят другие операторы. Для всех операторов цикла характерна следующая особенность. Повторяющиеся вычисления записываются всего лишь один раз. Вход в цикл возможен только через его начало. Переменные оператора цикла должны быть определены до входа в циклическую часть. Необходимо предусмотреть выход из цикла: или по естественному его окончанию, или по оператору перехода. Если этого не предусмотреть, то циклические вычисления будут повторяться бесконечно. В этом случае говорят, что произошло «зацикливание» выполнения программы.

2.1. Оператор цикла с предварительным условием (while).

Этот оператор используется в том случае, если некоторую последовательность действий (инструкций программы) надо выполнить несколько раз, причем необходимое число повторений во время разработки программы неизвестно и может быть определено только во время ее работы, т.е. определяется ходом вычисления.

Формат записи оператора:

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

BEGIN

{операторы циклической части программы}

END;

Оператор цикла действует следующим образом. Предварительно проверяется значение логического выражения. Пока оно истинно, выполняются операторы циклической части. Как только оно становится ложным, происходит выход из цикла. Если с самого начала значение логического выражения ложно, то операторы циклической части не выполняются ни разу. Операторы циклической части, заключенные в операторные скобки BEGIN – END, представляют собой составной оператор. Возможен случай, когда в циклической части стоит оператор перехода, передающий управление за пределы цикла. В такой ситуации цикл может завершиться до его естественного окончания (при истинном значении логического выражения).

Если в циклической части стоит всего один оператор, то операторные скобки BEGIN – END можно не указывать и оператор цикла принимает вид:

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

Пример 6.

Вычислить значения функции , если значение аргумента изменяется от до с шагом .

Решение:

program pr1;

var x,xn,xk,dx,b,y:real;

begin

readln(xn,xk,dx,b);

x:=xn;

while x<=xk do

begin

if x<b then y:=exp(exp(1)) else y:=ln(x);

writeln(‘x=’, x:8:2, ‘y=’, y:8:2);

x:=x+dx

end

end.

Необходимо обратить внимание:

  • для того чтобы инструкции оператора цикла while были выполнены хотя бы один раз, необходимо, чтобы перед выполнением оператора while условие выполнения цикла было истинно;

  • для того чтобы цикл завершился, необходимо, чтобы последовательность инструкций между BEGIN и END изменяла значения переменных, входящих в логическое выражение.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]