Рассмотрим такой оператор:
- Код: Выделить всё
if A then
if B then
proc1
else
if C then
proc2
else
proc3;
Предположим, что условие A не выполнятся. Тогда, как это видно из структуры кода, должна выполняться процедура proc3.
На самом деле, ничего не выполняется, и вот почему:
- Код: Выделить всё
if A then
if B then
proc1
else
if C then
proc2
else
proc3;
Код - один и тот же, но здесь по структуре кода не должно выполняться ничего (так и происходит).
Проблему можно решить, добавив пустую ветку else:
- Код: Выделить всё
if A then
if B then
proc1
else
if C then
proc2
else
else
proc3;
Но это делает код непонятным. Вопрос: как исправить код правильно?