Четвер, 21.11.2024, 13:16
Гость

Мішатронік

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

Онлайн всього: 5
Гостей: 5
Користувачів: 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  »
ПнВтСрЧтПтСбНд
    123
45678910
11121314151617
18192021222324
252627282930

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