Учебник Turbo Pascal. Введение - Оператор if...then...else...

ОГЛАВЛЕНИЕ

Оператор if...then...else...

Этот оператор является полной версией условного оператора и имеет вид

if  expression   then   statementl   else  statement2;

Выполняется данный оператор следующим образом: если выражение expression принимает значение «истина», то управление передается на оператор statementl, если же нет, то на оператор statement2. Приведу ошибочный вариант данного оператора:

if  expression  then   statementl  else:   statement2;

Здесь первая точка с запятой завершает оператор if...then...e1se, не выполняя никаких действий в случае else, а затем (в любом случае) выполняется оператор statement2.

Оператор

if expression then 
    if expression2 then
        statement2
    else
        statement;

допускает двоякую интерпретацию. Первый вариант соответствует последовательности операторов

if expression then 
begin
    if expression2 then
        statement2
    else
        statement1;
end;

Второй вариант:

if expression then 
begin
    if expression2 then
        statement2
end
else
    statement1;

Компилятор Паскаля всегда выбирает первый из приведенных вариантов — каждому else соответствует ближайший предшествующий if. Если требуется реализация второго варианта, молено использовать операторные скобки begin...end. В общем случае, чтобы четко определить, что чему подчинено, используйте begin...end аналогично круглым скобкам в арифметических выражениях.

Пример условного оператора:

if Two = 2 then
    Writeln('Два равно 2')
else
    Writeln('Это не 2. В чем дело? ');