Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Оператор IF-ELSE IF-ELSE






 

Операторы if могут быть вложенными. В этом случае служебное слово else (если оно используется) связывается с последним оператором if, с которым ещё не было связано else. Во избежание путаницы с вложенными операторами, лучше пользоваться фигурными скобками или структурировать текст отступами для явного указания того, к какому из операторов if принадлежит слово else. Примеры применения вложенных операторов if– else приведены ниже:

1 if (input > 78)

2 air_condision = on; //включить кондиционер, если жарко

3 else

4 if (input > 58)

5 fan = on; //включить вентилятор, если душно, но

//не жарко

6 else

7 heater = on; //включить обогреватель, если прохладно

8 …………

В этом примере программа должна различить, к какому из трех диапазонов принадлежит текущее значение температуры окружающей среды. Если температура превышает 78 градусов по Фаренгейту, то должен быть включен кондиционер. Если температура меньше 79 градусов, но больше 58, то следует оставить включенным только вентилятор, а если температура равна или ниже 58 градусов, то следует включить обогреватель.

Те же управляющие действия могут быть записаны с применением другой конструкции операторов if-else:

1 if (input > 78)

2 air_condision = on; //включить кондиционер, если жарко

3 if (input > 58)

5 fan = on; //включить вентилятор, если душно и жарко

6 else

7 heater = on; //включить обогреватель, если прохладно

Отличие этого варианта программы от предыдущего состоит в том, что оба оператора if–else стали независимыми друг от друга. А в предыдущем примере второй оператор if– else был вложен в первый. Это конструктивное изменение программы внесло коррективы в реализуемый ею алгоритм управления. Так в первом варианте при значении переменной input=80 выражение первого оператора if окажется истинным и будет включен кондиционер. И далее управление будет передано строке 8, т.е. вторая конструкция if будет пропущена из рассмотрения. Во втором случае при том же значении переменной input=80 после проверки первого условия будет также включен кондиционер, но затем управление будет передано второму оператору if. Поскольку второе условие также выполняется, то вентилятор будет также включен.

Еще один вариант реализации того же задачи:

1 if (input > 78)

2 air_condision = on; //включить кондиционер, если жарко

3 if ((input > 58) & & (input < 79))

5 fan = on; //включить вентилятор, если душно, но не жарко

6 if (input < 59)

7 heater = on; //включить обогреватель, если прохладно

Проанализировав этот программный фрагмент, Вы увидите, что он соответствует первому варианту управления кондиционером, вентилятором и обогревателем. Логика построения этого программного фрагмента хорошо структурирована и позволяет реализовать множество разных действий при различных значениях переменной input. Причем ни одно действие по логике построения программы не будет сочетаться с каким либо другим из перечисленного списка:

1 if (condition 1)

2 (instruction set 1);

3 if (condition 2)

5 (instruction set 2);

6 if (condition 3)

7 (instruction set 3);

Если число различных значений переменной условия condition превышает 4 или 5, то для выполнения подобной задачи следует использовать оператор switch.

 


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.006 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал