Урок 6. Програми з розгалуженням

Команди галуження — це складові командами, у яких на відміну від простих команд присутні умови, в залежності від істинності яких виконуються або не виконуються оператори, що входять до складу команди розгалуження.

Повне та неповне галуження. У Паскалі реалізовано повне та неповне галуження, а також команда вибору, що реалізована як послідовне виконання декількох структур галуження і яка передбачає вибір з декількох можливих варіантів дій.

1. Конструкція «If — Then» — неповне галуження використовується в тому випадку, коли визначені дії тільки у разі виконання умови.

IF <умова> THEN <оператор>;

Конструкція «If — Then — Else» — пов­не галуження використовується в тому випадку, коли визначені різні дії в разі виконання та невиконання умови.

IF <умова> THEN <оператор> ELSE <опе­ратор>;

2. Конструкції «Case — Of» неповний вибір або «Case — Of — Else» — повний вибір використовуються в тому випадку, коли визначені різні дії в разі декількох виходів (замінюють конструкції із вкладених операторів if).

CASE <порядкова змінна> OF
<значення>: <оператори>
ELSE <оператор>;
END.

Прості та складені умови. Висловлювання, яке може бути істинним (правильним) або хибним (неправильним) називається умовою

Проста умова — це висловлювання, в якому два вирази з’єднані знаком операції відношення.

Складена умова — це висловлювання, в якому дві або більше простих умов з’єднані знаками логічних операцій.

У мові програмування Паскаль реалізовані операції відношеня: > — «більше»; < — «менше»; = — «дорівнює»; <> — «не дорівнює»; >= — «не менше»; <= — «не більше»; та логічні операції: not — «ні»; and — «і»; or — «або».

Висловлювання — це деяке твердження, ві­­­д­­­­­­­­н­ос­но якого можна сказати, що воно або істинне, або хибне. Таким чином, кожному висловлюванню можна приписати «0» (хибне) або «1» (істинне). Приклад: «5 — просте число» — істинне, «2 = 3 + 5» — хибне висловлювання.

За допомогою логічних операцій можна будувати з одного висловлювання інші. Побудова з даного (даних) висловлювання нового висловлювання називається логічною операцією. Знаки логічних операцій називають логічними зв’язками. Логічні операції частіше за все описуються за допомогою таб­лиць істинності.

Таблиці істинності для операцій «інверсії» (заперечення), «кон’юнкції» (логічне множення, або логічне «і»), диз’юнкції (логічне додавання, або логічне «або»).

АBA and B («і»)A or B («або»)not A («ні»)
11110
10010
01011
00001

Логічні вирази — це вирази, що складаються з висловлювань, які можуть бути з’єднані логічними зв’язками. Ці вирази набувають логічного значення («хибне» або «істинне»). Логічні вирази можуть бути простими та складеними.

 У простому логічному виразі використовуються змінні та константи логічного типу, операції порівняння. Зв’язка простих логічних виразів за допомогою логічних операцій утворює складений логічний вираз. Прості вирази записуються в складених виразах у круг­лих дужках.

 В умовному виразі задається умова розгалуження. При виконанні оператора IF цей вираз обчислюється з отриманням логічного результату. Якщо результат True, то виконується простий або складний оператор після слова Then. Якщо результат False, то виконується оператор після Else.

         Наприклад:

If A<7.2 then Y:=5*A else Y:=5/A;

         Частину оператора Else … можна не вживати:

If X>0 then K:=K+1;

            Це означає, що у випадку, коли число Х більше нуля, буде виконано оператор K:=K+1. Якщо така умова для конкретного числа хибна, то змінення К не відбувається, а управління передається на оператор, який в програмі записано після оператора If.

         Складений оператор Begin…End суттєво розширює можливості If:

         If A<0 then begin

                      K:=K+1;

                       R:=a;

                      End

         Else begin

                   L:=L+1;

                    Q:=A;

                     End;

         У складному операторі записують будь-яку кількість операторів. Вони виконуються “як одне ціле”. Тут можуть бути “свої” If, цикли, тощо.

Після оператора, який стоїть перед Else, не ставиться крапка з комою.

         Оператор Case забезпечує розгалуження на декілька напрямків.

         Загальний вигляд:

  Case індекс вибору of список вибору;

Else…; End;

 де індекс вибору – проста змінна цілого, символічного, перелічуваного або логічного типу;

         список вибору – сукупність простих або складних операторів, перед кожним з яких стоїть константа вибору, тип якої співпадає з типом індексу вибору.

         Після слова Else може стояти простий або складний оператор (ця конструкція може бути відсутня).

         Приклад:

          Case Kit of

                  1: Y:=sin(x);

                  2: Y:=cos(x);

                  3: Y:=sin(x)+cos(x);

                   Else Y:=0;

                  End; {case}

 

         Змінна Kit (цілого типу) повинна бути визначеною до виконання оператора Case. Якщо Kit дорівнює 1, обчислюється функція Y:=sin(x), якщо вона дорівнює 2, то : Y:=cos(x). У тому випадку, коли Kit відрізняється від 1, 2 або 3, буде виконано оператор Y:=0.

         У списку вибору можна вживати складний оператор Вegin… End.

Приклад: скласти програму обчислення функції

Програма:

Var X, Y, Z, F : Real;

Begin

    Write(‘Введіть Y, Z :’);

    ReadLn(Y,Z);

    Write(‘Введіть X :’);

    ReadLn(X);

    IF (X>=Y) THEN  F:=SQR(X)+EXP(Z)/COS(Y)

                     ELSE   F:=SIN(X)+COS(Z);

    WriteLn(‘Значення F=’,F);

            End.
Comments