Работа операторов if и else в Ардуино

if-elseВ предыдущей статье мы разобрали работу оператора if, а в этой статье мы рассмотрим работу оператора if вместе с else.

Добавление else дает больше возможностей для принятия решений в операторе if.

Использование if-else

Если мы используем оператора if, то код в теле оператора if выполняется только тогда, когда оператор if принимает значение истина. Если значение равно ложь, выполнение программы пропускает код в теле оператора if и продолжается ниже тела оператора if.

При добавлении оператора else, код в теле оператора else будет выполняться только в том случае, если соответствующий оператор if принимает значение ложь.

В следующем коде показан синтаксис конструкции if-else:

В приведенном ниже коде показано, как функционирование оператора if сравнивается с функционированием конструкции пары if-else:

Когда условное выражение истинно :

  1. Код в теле оператора if выполняется.
  2. Код в теле оператора else не запускается.

Когда условное выражение оценивается как ложное :

  1. Код в теле оператора if не запускается.
  2. Код в теле оператора else запускается.

Пример скетча if-else

В скетче ниже показан пример использования конструкции if-else. Светодиод загорится, если символ «a» будет отправлен в Arduino с помощью окна Монитор порта. Если отправляется любой другой символ, кроме «a», тогда выражение if оценивается как ложное, и выполняется код в блоке else, который выключает светодиод.

Примечания к примеру скетча if-else

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

Конструкция if-else, в приведенном выше примере, фактически помещается в тело оператора if. Это называется «вложением», а значит мы должнв говорить, что if-else вложено внутрь первого оператора if.

Чтобы было понятнее, вот вложенная конструкция if-else:

Приведенный выше код вложен в тело оператора if:

Как это работает

Этот примерный скетч основан на скетче из предыдущей статьи. Вместо выключения светодиода при отправке только «b», светодиод отключается при отправке любого символа, кроме «a».

Символ «а» включит светодиод, как и в предыдущем скетче, т.к. условное выражение if принимает значение истина при получении «а». Любой другой полученный символ приведет к тому, что условное выражение будет оцениваться как ложное. Когда выражение оценивается как ложное, тело оператора if не запускается, но вместо этого выполняется тело оператора else, которое выключает светодиод.

Вывод

Эта статья написана как продолжение предыдущей статьи. Мы не захотели смешивать все конструкции операторов в одной статье, иначе вы просто могли бы просто запутаться. Изучать работу операторов и их взаимодействие лучше постепенно. В следующей статье мы рассмотрим работу конструкции if-else-if.

С Уважением, МониторБанк

Добавить комментарий