Оператори розгалуження

Розгалужений процес вміщує декілька шляхів. Вибір того чи іншого шляху залежить від виконання деяких умов. У багатьох випадках виникає потреба в зміні послідовного порядку операторів, що стає  можливим завдяки операторам управління. До них в першу чергу відносяться IF та CASE.

         Оператор IF реалізує операцію умовного переходу (операцію розгалуження на два напрямки).

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

If  умовний вираз  then…else…;

         В умовному виразі задається умова розгалуження. При виконанні оператора 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 X>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.

 

Попередня стаття
Наступна стаття