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

Related Images:

Mif4

Задача

Даны действительные числа x, y, z. Проверить, выполняются ли неравенства x < y < z.

Решение

Нам даны действительные числа x, y, z и нужно проверить выполняются ли неравенства x < y < z. Для этого нам нужно проверить будут ли выполняться такие неравенства: [latex] x<y[/latex]  и  [latex] y<z [/latex].

Код

Тесты

Входные данные Выходные данные
3 4 6  right
9 1 3 wrong
5 4 3 wrong

 

Задача взята отсюда.

Здесь можно найти код программы на Ideone.com.

Related Images:

А36

Задача: Даны действительные числа [latex]a[/latex], [latex]b[/latex], [latex]c[/latex]Проверить, выполняются ли неравенства  [latex]a<b<c[/latex].

Тесты:

Ввод Вывод Результат
a b c неравенство                     не выполнено
2 1 3 b<=a<c: нер-во a<b<c                 не выполняется неравенство                     не выполнено
1 3 2 a<=c<=b: нер-во a<b<c                 не выполняется неравенство                     не выполнено
3 1 2 b<=c<=a: нер-во a<b<c                 не выполняется неравенство                     не выполнено
3 2 1 c<=b<=a: нер-во a<b<c                 не выполняется неравенство                     не выполнено
2 3 1 c<=a<b: нер-во a<b<c                 не выполняется неравенство                     не выполнено
1 2 3 нер-во a<b<c справедливо неравенство выполнено

Код программы:

Отчет:

После ввода чисел a, b, c программа проверит их соотношения. Ввиду наличия трех сравниваемых чисел имеем 3! = 6 возможных комбинаций чисел, и только одна из них соответствует требованию. Если неравенство [latex]a<b<c[/latex] имеет место быть, то программа сообщит о его выполнении. В противном же случае консоль выдаст ответ о не выполненном неравенстве, предварительно сообщив причину.

Копия кода на сайте Ideone: ideone.com/aYmMJ2

Related Images:

А37

Задача: Даны  действительные числа [latex]a, b, c[/latex]. Удвоить эти числа, если  [latex] a \geq b \geq c[/latex], и заменить их абсолютными значениями, если  это не так.

[latex]a[/latex] [latex]b[/latex] [latex]c[/latex] [latex]a_1[/latex] [latex]b_1[/latex] [latex]c_1[/latex] Комментарий
 26  16        -2          52.00        32.00         -4.00 Пройден
 20  30         0          20.00        30.00           0 Пройден
 -4  -16        -20         -8.00       -32.00         -40.00 Пройден
 2.75  3.56        -1          2.75        3.56           1 Пройден
 2   2         2           4.00        4.00          4.00 Пройден
В задача нужно проделать на введенными числами операции в зависимости от соблюдения неравенств. Если [latex] a \geq b \geq c[/latex], то мы удваиваем все введенные числа. Если же, неравенство [latex] a \geq b \geq c[/latex] не соблюдается, то находим модули каждого из чисел([latex]|a|, |b|, |c| [/latex] ) и выводим полученное как результат.

Ссылка на Ideone.

Код Java

Ссылка на Ideone

Related Images: