Else в паскале
Автор Inferno задал вопрос в разделе Другие языки и технологии
[PASCAL] IF - ELSE IF - ELSE. Программирование. и получил лучший ответ
Ответ от Jurii[гуру]
После служебного слова if должно идти только логическое выражение. Ни чего другого после if не может быть! Смотри на примерах: if A = B then WriteLn(\'равно\') else WriteLn(\'неравно\'); После then и else по одному оператору. Значит операторные скобки не обязательны… Хотя можно было сделать вот так: if A = B then begin WriteLn(\'равно\'); end else begin WriteLn(\'неравно\'); end; Оба варианта 100% рабочие. Но если нужно несколько операторов после then или else, то операторные скобки обязательны: if A > B then begin A := A + B; B := A - B; A := A - B; end; (В данном примере числовые значения A и B меняются без использования третьей переменной. ) Как видно из примера, внутри операторных скобок находятся 3 оператора! Ещё операторные скобки иногда нужны для однозначности трактовки вложенных условий: if A < B then if A < C then Write(A) else Write(C) else if B < C then Write(B) else Write(C); (Данный пример выводит наименьшее из A, B, C.) Как видно из данного примера, все условия читаются однозначно. Но если написать вот так: if A < B then if B < C then Write(\'A - минимально\') else Write(\'A - не минимально\'); То если A окажется больше или равно B, то ни какой надписи на экране не увидим. Нужно исправить данное положение дел указав операторные скобки: if A < B then begin if B < C then Write(\'A - минимально\') end else Write(\'A - не минимально\'); (Правда теперь мы не увидим ни какого результата, если B ≥ C… Но это уже другой вопрос 😉
после then else if условие then begin
Это означает, что последний IF вложен в ветку ELSE, или, что это оператор IF ELSE. Да. if else вообще не существует. Есть if условие then оператор; и if условие then оператор else оператор; Оператором может быть простой оператор или со