Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф(Пр+Лаб)ФИОП(2).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.02 Mб
Скачать

Алгоритм разветвляющейся структуры

Алгоритм разветвляющейся структуры – алгоритм, в котором происходит переход к одной из нескольких ветвей алгоритма или к далеко расположенной части алгоритма.

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

1.  Оператор безусловного перехода имеет вид:

goto M

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

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

Метка – обозначение строки в программе, отделяемое от программного кода двоеточием.

2.  Оператор условного перехода имеет вид:

if U then Op1 else Op2

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

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

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

3.  Оператор варианта (или оператор выбора) имеет вид:

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.

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

Порядок выполнения

  1. Зайти в Borland Pascal.

  2. Набрать текст программы для решения задачи № 1 и получить ответ (при и ; и ).

  3. Исправить программу так, чтобы она решала задачу без использования слова else.

  4. Набрать текст программы для решения задачи № 2 и получить ответ (при ; ; ; ).

  5. Исправить программу так, чтобы она решала задачу без использования оператора case.

Примеры задач

Задача 1.

Вычислить величину

.

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

Program Lab7a;

Program Lab7b;

Var

Var a,c:integer;

a,b,c:real;

Begin

Begin

read(a);

writeln('Введи a,b');

case a of

read(a,b);

0: c:=2;

if a>b

1..10: c:=3;

then c:=(a-b)/(a*b)

-1,11: c:=4

else c:=exp(b*ln(a));

else c:=5

writeln('c=',c:10:3);

end;

End.

writeln(c);

End.

Дополнительное задание

  1. Вычислить

  2. Вычислить при

  3. Вычислить , где

  4. Вычислить где .

  5. Вычислить , где

  6. Вычислить .

  7. Найти

  8. Найти