Учебник 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. В чем дело? ');