Энциклопедия Turbo Pascal. Главы 9-11 - Ошибки if/then/if/else
ОГЛАВЛЕНИЕ
Страница 38 из 40
Ошибки if/then/if/else
Даже очень опытные программисты могут допустить ошибку в конструкции if/then/if/else. Например, уверены ли вы, что следующий код работает правильно
if count<100 then
if count>50 then F1
else F2;
Не шутите с соответствующим форматированием. Предложение else не ассоциируется с первым if, а только со вторым if. Помните, что else всегда ассоциируется с ближайшим if. В данном примере вместо выполнения F2, когда count больше 100, Турбо Паскаль не делает ничего. Кроме того, F2 будет выполняться только, если count меньше 100 и - если меньше 50. Вы увидите это когда код правильно отформатирован:
if count<100 then
if count>50 then F1
else F2;
Если вы хотите просто выполнить F2, когда count больше 100, вам надо было бы использовать конструкцию begin/end, как показано далее:
if count<100 then
begin
if count>50 then F1;
end
else F2;