Условный оператор — это еще одна важная функция для принятия решений в программировании на Arduino.
Условный оператор состоит из условия, которое может быть оценено как истинное или ложное, и двух выражений.
Если условие принимает значение истина, условное выражение становится равным первому выражению. Если условие принимает значение ложь, выражение становится равным второму выражению.
Остальная часть этой статьи объяснит и проиллюстрирует, как работает условный оператор.
Структура условного оператора
Условный оператор в Ардуино имеет следующую структуру:
1 |
condition ? first_expression : second_expression; |
Где condition (условие) будет оцениваться как истинное или ложное, в результате чего все выражение становится равным первому выражению (если condition оценивается как истинное) или второму выражению (если condition оценивается как ложное).
Как видно из приведенного выше кода, условное выражение состоит из вопросительного знака (?) и двоеточия (:).
Ниже приведен пример скетча, показывающий, как использовать условное выражение.
Пример условного выражения
В приведенном ниже скетче используется условный оператор для определения, какое из двух чисел больше.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
int val1, val2, result; void setup() { Serial.begin(9600); // изменяем значения val1 и val2, чтобы увидеть, что // делает условное выражение val1 = 2; val2 = 5; // если значение val1 больше значения val2, вернуть значение val1 // иначе, если значение val1 меньше значения val2, вернуть значение val2 result = (val1 > val2) ? val1 : val2; // показать результат в окне Монитор порта Serial.print("The bigger number is: "); Serial.println(result); } void loop() { } |
Измените значение переменных val1 и val2 в скетче, и большее из двух чисел всегда будет отображаться в окне Монитор порта IDE Arduino.
Как работает скетч
Условие (val1> val2) оценивается, и будет либо истинным, либо ложным.
Условие оценивается как ложное
Если значение val1 меньше значения val2, условие оценивается как ложное. Условное выражение теперь принимает значение второго выражения — val2.
Затем переменной result присваивается значение выражения, которое равно val2 и представляет собой большее число из двух значений val1 и val2.
Условие оценивается как истинное
Если мы изменим значение val1 на 12, чтобы было тогда:
1 2 |
val1 = 12; val2 = 5; |
val1 теперь больше, чем val2, и условие оценивается как истинное. Условное выражение принимает значение первого выражения — val1.
Переменной result присваивается значение выражения, которое является val1. val1 — большее из двух значений (значение 12).
Вывод
Мы попытались вам кратко объяснить работу и значение условного оператора в программровании Ардуино. Мы попытались кратко вам о нем рассказать и надеемся, что у нас это получилось. Если есть вопросы, то давайте вместе попробуем на них ответить в комментариях под этой статьей.
В следующей статье мы с вами поговорим о функции в Ардуино.
С Уважением, МониторБанк