Как мы используем оператор переключателя

При программировании роботов количество условных операторов в программах может быть очень большим. Даже в самом простом случае, чтобы определить направление движения робота, понадобятся 4, 8 или даже больше условий, в зависимости от режима движения робота по горизонтали.  Обычно эти наборы условий относятся к одной и той же переменной, и выполняются в зависимости от ее значения.

Для  более простого моделирования таких ситуаций и исключения  каскадного использования операторов if в исходном коде программы, языки программирования оснащены отдельным оператором, который позволяет выбирать не одно из пмиадвух, а одно из множества возможных действий!

Этот оператор называется оператором множественного выбора. В языках C и C++ множественный выбор осуществляется оператором switch(<селектор>),  где селектор – это переменная или выражение, чье значение анализируется оператором switch. 

Структура оператора множественного выбора описывается следующей схемой.

Принцип работы оператора switch следующий: сначала вычисляется значение выражения selector. Затем вычисленное значение сравнивается, поочередно, со значениями каждой ветви case. В случае равенства с одним из значений выполняется ассоциированный данному значению блок операторов, а break переводит выполнение программы к следующему после switch оператору.

Если ни одно из значений ветвей case не равно значению выражения – селектора, тогда выполняется блок операторов ветви default. Если ветвь default отсутствует в операторе (ее присутствие не является обязательным) тогда switch не будет иметь никакого эффекта.

Давайте посмотрим, как преобразуется программа-калькулятор, если используется оператор switch:

Отметим, что программа приобрела еще один функционал – если введен символ несуществующей операции, будет отображаться сообщение ” Operație nedefinită!” и программа окончит свою работу кодом завершения 1.