Условный оператор выбирает для выполнения одну или ни одной из входящих в него последовательностей операторов в зависимости от значения (истинности) одного или нескольких условий.
условный-оператор ::= 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.