Назад Зміст Вперед

Неповний умовний оператор

IF B THEN 
  BEGIN 
    S1;S2;…,Sn; 
  END;
T1;

Якщо умова B вірна, то виконуються оператори S1, S2,…, Sn, а потім оператор T1, що слідує за оператором IF.

Якщо умова не вірна, то виконується тільки оператор T1, що слідує за оператором IF.

Написана вище конструкція на блок-схемі відображається так:

Приклади роботи оператору

Оператори, що виконуються у програмі виділені жирним.

Програма Пояснення Результат роботи програми
Program p1;
 Var x:integer;
begin
 X:=-5;
 IF X<0 THEN
 BEGIN
    x:=x+5;
    writeln(x)
 END;
 Writeln(‘кінець’)
End.
Оскільки X=-5<0 (умова вірна),
то оператори, що стоять після
THEN виконуються, тобто
x:=x+5; writeln(x). Потім
виконується оператор
Writeln(‘кінець’).
0
кінець
Program p2;
 Var x:integer;
begin
 X:=5;
 IF X<0
THEN
  BEGIN
     x:=x+5;
     writeln(x)
  END;
 Writeln(‘кінець’) End.
Оскільки X=5>=0(умова не вірна),
то оператори, що стоять після
THEN не виконуються, а
виконається тільки оператор
Writeln(‘кінець’).
кінець

Блок-схема програми

Зауваження

  1. Неповні умовні оператори використовуються, якщо, в залежності від деяких умов, потрібно вибрати один з декількох варіантів.
  2. Неповних умовних операторів повинно бути стільки, скільки маємо варіантів, інакше може статися випадок, коли не виконається жоден із умовних операторів. Оператори, що виконуються, виділено жирним.
    Програма На екрані
    Program p1;
     Const a=0;
    begin
     if a=1 then writeln(1);
     if a=2 then writeln(2);
     if a=3 then writeln(3);
    end.
    Нічого
    Program p2;
     Const a=0;
     var b:byte;
    begin
     b:=10;
     if a=1
    then writeln(1);
     if a=2 then writeln(2);
     if a=3 then writeln(3);
     writeln(b);
    end.
    10
  3. Умови потрібно складати так, щоб вони охоплювали всі можливі випадки і не перетиналися. Інакше може статися, що виконається декілька умовних операторів. Оператори, що виконуються, виділено жирним.
    Програма На екрані
    Program p3;
     Const a=0;
    begin
     if a=0 then writeln(1);
     if a<1 then writeln(2);

    end.
    1
    2
    Program p4;
     Const a=0;
     var b:byte;
    begin
     if a>=0 then b:=8;
     if a<=0 then b:=4;
     writeln(b);

    end.
    4
  4. Неможна одночасно використовувати повний та неповні умовні оператори, інакше може статися випадок, коли виконається який-небудь з неповних операторів та оператор, що стоїть після else у повному умовному операторі. Оператори, що виконуються, виділено жирним.
    Програма На екрані
    Program p5;
     Const a=5;
    begin
     if a>=0 then writeln(8);
     if a<=0
    then writeln(4)
             else writeln(7);
    end.
    8
    7
    Program p6;
     Const a=5;
     var b:byte;
    begin
     if a>=0 then b:=8;
     if a<=0
    then b:=4
             else b:=7;
     writeln(b);

    end.
    7

Назад Зміст Вперед