5.3. УСЛОВНЫЕ ОПЕРАТОРЫ

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

условный-оператор ::= if условие then    последовательность - операторов | elsif условие then    последовательность-операторов) [else    последовательность - операторов] end if; условие ::= логическое-выражение

Выражение, задающее условие, должно быть логического типа.

Для выполнения условного оператора вычисляются последовательно условия после if и elsif (трактуя заключительное else как elsif TRUE then) до тех пор, пока одно из них не окажется истинным или не будут исчерпаны все условия. При нахождении условия со значением TRUE выполняется соответствующая последовательность операторов, в противном случае не выполняется ни одна из последовательностей операторов.

Примеры:

if MONTH = DECEMBER and DAY = 31 then    MONTH := JANUARY;   DAY := 1;   YEAR := YEAR + 1; end if;if LINE-JOO-SHORT then    raise LAYOUT-ERROR; elsif LINEFULL then    NEW-LINE; PUT(ITEM); else PUT(ITEM); end if;if MY-.CAR.OWNER.VEHICLE /= MY-.CAR then -- CM. 3.8.1    REPORT ("Incorrect data"); end if;

Ссылки: выражение 4.4, выполнение 4.5, логический тип 3.5.3, последовательность операторов 5.1.