Главная » Статьи » Мои статьи |
Вложенные конструкции if-else
Предпочтительнее пользоваться схемой else-if(т.е. вкладывать во внешнюю ветку else), а неthen-if (т.е не вкладывать во внешнюю веткуif). Так как в последнем случае придется следить за тем, к какой ветке относится соответствующее else. Пренебрежение этим правилом приводит к нагромождению закрывающих else. Сравните две программы ниже. Они делают одно и то же. Однако предпочтительной является первая. else-if var a: integer; begin write('Введите целое число: '); readln(a); if a = 0 then writeln('zero') else if a = 1 then writeln('one') else if a = 2 then writeln('two') else writeln('unknown'); readln end.
var a: integer; begin write('Введите целое число: '); readln(a); if a <> 0 then if a <> 1 then if a <> 2 then writeln('unknown') else writeln('two') else writeln('one') else writeln('zero'); readln end.
При использовании второго варианта надо помнить следующее общее правило: каждый else относится к ближайшему предшествующему if, еще не имеющему парного else. При вложении в ветвь else (первый вариант) конструкция получается логически более понятной. | |
Просмотров: 201 | |
Всего комментариев: 0 | |