оператор if
Добавлено: 03.06.2012 16:52:14
Это не относится именно к Free Pascal, скорее, к паскалю вообще.
Рассмотрим такой оператор:
Предположим, что условие A не выполнятся. Тогда, как это видно из структуры кода, должна выполняться процедура proc3.
На самом деле, ничего не выполняется, и вот почему:
Код - один и тот же, но здесь по структуре кода не должно выполняться ничего (так и происходит).
Проблему можно решить, добавив пустую ветку else:
Но это делает код непонятным. Вопрос: как исправить код правильно?
Рассмотрим такой оператор:
- Код: Выделить всё
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;
Но это делает код непонятным. Вопрос: как исправить код правильно?