Субота, 20.04.2024, 19:02
Гость

Мішатронік

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Чи працювали ви з мікроконтролером?
Всього відповідей: 5
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0


Вложенные конструкции if-else

Следует быть внимательными при использовании вложенных операторов if. Предпочтительнее пользоваться схемой 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 (первый вариант) конструкция получается логически более понятной.

 

Форма входа
Пошук
Друзі сайту
Календар
«  Квітень 2024  »
ПнВтСрЧтПтСбНд
1234567
891011121314
15161718192021
22232425262728
2930

Єдина Країна! Единая Страна!