Руководство по языку B.Pascal 7

Оператор условия (if)


Синтаксис оператора if можно представить следующим образом:

---¬ ----------¬ -----¬ ---------¬ оператор if ->¦if+-->¦выражение+-->¦then+-->¦оператор+--T--¬ L--- L---------- L----- L--------- ¦ ¦ -------------------------- ¦ ¦ -----¬ ---------¬ v L-->¦else+-->¦оператор+---------> L----- L---------

В выражении должен получаться результат, имеющий стандартный булевский тип. Если результатом выражения является истинное зна- чение (True), то выполняется оператор, следующий за ключевым сло- вом then.

Если результатом выражения является значение False и при- сутствует ключевое слово else, то выполнятся оператор, следующий за ключевым словом else. Если ключевое слово else отсутствует, то никакой оператор не выполняется.

Синтаксическая неоднозначность, возникающая в конструкции:

if e1 then e2 else e3

разрешается путем следующей интерпретации этой конструкции:

if e1 then begin if e2 then s1 else s2 end

Примечание: В предшествующем операторе else двоеточие не указывается.

В общем случае ключевое слово else связывается с ближайшим ключевым словом if, которое еще не связано с ключевым словом else.

Приведем два примера оператора if:

if X < 1.5 then Z := X+Y else Z := 1.5;

if P1 <> nil then P1 := P1^.father;



Содержание раздела