- •Кафедра прикладной математики лекция № 15. Тема: «управляющие операторы языка»
- •1. Операторы ветвления.
- •С труктурная схема условного оператора
- •Пример 2.
- •Структурная схема оператора выбора
- •2. Операторы повтора.
- •С труктурные схемы операторов цикла
- •2.1. Оператор цикла с предварительным условием (while).
- •Вопросы
- •2.2. Оператор цикла с последующим условием (repeat).
- •Вопросы
- •2.3. Оператор цикла с параметром (for).
- •Пример 8.
- •Вопросы
- •3. Вложенные операторы цикла.
- •4. Процедуры передачи управления.
- •5. Правила пунктуации.
- •Контрольные вопросы
- •Задания для самостоятельной работы
- •Лекция № 15 по курсу «информатика»
Вопросы
Сколько раз будут выполнены инструкции между begin и end?
а) for i:=j to j+1 do
begin
…
end;
б) k:=0;
for i:=2 downto k do
begin
…
end;
Чему будет равно значение переменной x после выполнения инструкций?
x:=0;
for i:=-5 to 0 do
n:=i*i;
x:=x+n;
Что будет выведено на экран в результате выполнения инструкций?
а) n:=5;
x:=0;
for i:=1 to n do x:=i;
writeln(x);
б) for i:=1 to 5 do
for j:=1 to 5 do write(‘*’);
Сколько звездочек будет выведено на экран в результате выполнения инструкций?
for i:=1 to 5 do
for j:=i to 5 do write(‘*’);
Что нужно изменить в последовательности инструкций из вопроса 3(б), чтобы на экран были выведены 5 строк по 5 звездочек?
3. Вложенные операторы цикла.
Если телом цикла является циклическая структура, то такие циклы называют вложенными. Цикл, содержащий в себе другой цикл, называют внешним, а цикл, содержащийся в теле другого цикла, называют внутренним. Внешний и внутренний циклы могут быть трех видов: циклами с предусловием while, циклами с постусловием repeat или циклами с параметром for.
Правила организации внешнего и внутреннего циклов такие же, как и для простого цикла каждого из видов. Но при программировании вложенных циклов необходимо соблюдать следующее дополнительное условие: все операторы внутреннего цикла должны полностью располагаться в теле внешнего цикла.
Пример 9.
Вычислить значение суммы .
Решение:
program pr4;
var s,a,x:real;
k,n:integer;
begin
readln(a,x);
s:=0;
for k:=1 to 15 do
for n:=1 to 10 do
s:=s+exp(k*ln(a))+exp(n*ln(x));
writeln(‘s=’,s:8:2)
end.
4. Процедуры передачи управления.
В Паскале есть несколько стандартных процедур, изменяющих последовательность выполнения операторов:
Break – завершает выполнение цикла, внутри которого записана;
Continue – выполняет переход к следующей итерации цикла;
Exit – выполняет выход из программы или подпрограммы, внутри которой записана;
Halt – немедленно завершает выполнение программы.
Кроме того, для передачи управления используется оператор перехода goto.
Этот оператор имеет вид:
GOTO N;
где N - целое число без знака, определяемое в разделе LABEL как метка оператора. Это число записывается перед помеченным оператором и отделяется от него двоеточием. Оператор безусловного перехода производит передачу управления к оператору, помеченному указанной меткой. При программировании на Паскале необходимость в применении оператора перехода возникает в очень ограниченном количестве ситуаций, в большинстве же случаев используются операторы циклов вместе с процедурами передачи управления.
Использование оператора безусловного перехода оправданно, как правило, в двух случаях:
принудительный выход вниз по тексту программы из нескольких вложенных циклов или операторов выбора;
переход из нескольких мест программы в одно (например, если перед выходом из программы необходимо всегда выполнять какие-либо действия).
Во всех остальных случаях следует привести алгоритм к структурному виду, то есть преобразовать его так, чтобы он мог быть записан с помощью базовых конструкций.