e-olymp 8520. Условный оператор — 1

Условие

Вычислите значение $ y $ в соответствии со следующим условием:

[latex] y=\begin{cases}x^{2} — 3x +4 , x<5\\x + 7 , x\geq 5\end{cases} [/latex]

Входные данные:

Одно целое число [latex] x (-1000\leq x\leq 1000) [/latex].

Выходные данные

Выведите значение $ y $ в соответствии с заданным условием.

Тесты

входные данные выходные данные
 1             2             2
 2             10             17
 3             15             22
 4             32             39

Решение

Решение этой задачи довольно простое. Мне потребовалось создать условие, где если $ x $ меньше пяти, то [latex]y=x^{2}-3x+4 [/latex] , а для  $ x $ больше или равняется пяти [latex]y=x+7 .[/latex]

e-olymp
ideone.com

Без условного оператора :

Решение I

Используем логический оператор $ && $ так как он не вычисляет второе условие, если первое ложно.

ideone.com

Решение II

Для вычисления используется тернарный оператор который проверяет условие и выполняет действие [latex]y=x^{2}-3x+4 [/latex] если условие вернет истину (true) или С если условие возвращает ложь (false).

ideone.com

Решение III

В этом решении используется оператор множественного выбора switch, который сравнивает $ x $ со значением заложенным в  case, а после выполняет действие [latex]y=x^{2}-3x+4 [/latex]. Если значения не совпадают, тогда выполняется [latex]y=x^{2}-3x+4 [/latex].

ideone.com