П'ятниця, 19.04.2019, 03:59
Гость

Мішатронік

Автор - Кренцін Михайло

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Java чи С++
Всього відповідей: 1
Статистика

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

 

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


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