Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции к экзамену ГТК.docx
Скачиваний:
16
Добавлен:
26.09.2019
Размер:
339.82 Кб
Скачать

2.2. Программирование разветвлений

Для реализации алгоритма разветвляющейся структуры в языке Pascal используются следующие операторы.

  1. Оператор безусловного перехода позволяет осуществлять переход к далеко расположенной части программы без проверки условия.

Этот оператор имеет вид:

goto M

где goto – перейти к, M – метка.

Это означает, что надо перейти к строке с меткой M .

Оператору безусловного перехода могут соответствовать фрагменты блок-схемы

или

  1. Оператор условного перехода (условный оператор) позволяет осуществлять переход к одной из двух частей программы в зависимости от выполнения какого-то условия.

Этот оператор имеет вид:

if U then Op1 else Op2

где if – если, then – то, else – иначе, U – условие, Op1 – оператор 1-й, Op2 – оператор 2-й.

Это означает, что если условие U истинное, то выполнять оператор Op1, иначе выполнять оператор Op2.

Условие – логическое выражение, которое может принимать одно из 2-х значений: «истина» или «ложь».

Оператору условного перехода могут соответствовать фрагменты блок-схемы

или

В операторе условного перехода служебное слово else может отсутствовать, но в этом случае ветвь «нет» без блоков всё равно присутствует.

  1. Оператор варианта (оператор выбора) позволяет выбирать направление выполнения программы по одному варианту из множества частей.

Этот оператор имеет вид:

case S of

Z1 : Op1;

ZN : OpN

else Op0

end

где case – случай, of – из, else – иначе, end – конец, S – селектор, Z1 – значение 1-е, ZN – значение N-е, Op1 – оператор 1-й, OpN – оператор N-й, Op0 – оператор 0-й.

Это означает, что в случае, если селектор S принимает значение из списка Z1, то выполнять оператор Op1, … если селектор S принимает значение из списка ZN, то выполнять оператор OpN, иначе выполнять оператор Op0.

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

Оператору варианта могут соответствовать фрагменты блок-схемы

или

В операторе варианта служебное слово else и ветвь «нет» могут отсутствовать.

Задача 2.

Условие задачи. Вычислить величину

Блок-схема.

Программа.

Program z2;

Var

a,b,c:real;

Begin

read(a,b);

if a>b

then c:=a+b

else c:=a-b;

writeln(c);

End.

Задача 3.

Условие задачи. Вычислить величину , где a и c – целые числа.

а) Использование вложенных условных переходов

Программа.

Program z3a;

Var

a,c:integer;

Begin

read(a);

if a=0 then c:=2

else if (a>=1) and (a<=10) then c:=3

else if (a=-1) or (a=11) then c:=4

else c:=5;

writeln(c);

End.

б) Использование множественного ветвления

Программа.

Program z3b;

Var

a,c:integer;

Begin

read(a);

case a of

0: c:=2;

1..10: c:=3;

-1,11: c:=4

else c:=5

end;

writeln(c);

End.