Главная » Статьи » Мои статьи

Вложенные конструкции 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.


then-if

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 (первый вариант) конструкция получается логически более понятной.

Категория: Мои статьи | Добавил: Soln (26.01.2015)
Просмотров: 201 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar