Учебник Turbo Pascal. Введение - Вложенные операторы if...then...else...
ОГЛАВЛЕНИЕ
Вложенные операторы if...then...else...
Как уже отмечалось, условные операторы можно вкладывать друг в друга, программируя таким образом сложные ветвления. Рассмотрим следующий оператор:
if expression_1 then
statement_1
else
if expression_2 then
statement_2
else
if expression_3 then
statement_3
...
else
if expression_n then
statement_n;
Вначале вычисляется значение логического выражения expression_1. Если оно истинно, выполняется оператор statement_1, если же это значение ложно, вычисляется значение выражения expression_2. В том случае, когда полученное значение истинно, будет выполняться оператор statement_2, при значении «ложь» будет вычисляться выражение expression_3 и т. д.
Если выражения expression независимы, то есть вычисление их значений в любом порядке дает один и тот же результат для каждого из них, имеет смысл располагать их в таком порядке, чтобы выражение, с наибольшей вероятностью принимающее значение «истина», стояло на первом месте, выражение, принимающее значение «истина» с меньшей вероятностью, — на втором и т. д. Это уменьшит время выполнения данного фрагмента программы, особенно если вложенный оператор появляется в цикле, который выполняется многократно.
Пример вложенных условных операторов:
if Two = 2 then
if One = 1 then
Writeln('Единица равна 1')
else
Writeln('Единица не равна 1')
else
if Three = 3 then
Writeln('Три равно 3')
else
Writeln('Три не равно 3');