- •Кафедра прикладной математики лекция № 15. Тема: «управляющие операторы языка»
- •1. Операторы ветвления.
- •С труктурная схема условного оператора
- •Пример 2.
- •Структурная схема оператора выбора
- •2. Операторы повтора.
- •С труктурные схемы операторов цикла
- •2.1. Оператор цикла с предварительным условием (while).
- •Вопросы
- •2.2. Оператор цикла с последующим условием (repeat).
- •Вопросы
- •2.3. Оператор цикла с параметром (for).
- •Пример 8.
- •Вопросы
- •3. Вложенные операторы цикла.
- •4. Процедуры передачи управления.
- •5. Правила пунктуации.
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Лекция № 15 по курсу «информатика»
С труктурные схемы операторов цикла
В языке 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 изменяла значения переменных, входящих в логическое выражение.