19
Объяснение:
по условию задачи на вход подали число 9, проверяем первое условие: оно верно, так как 9 больше нуля, переходим к следующему условию (х<8): наше значение на входе не удовлетворяет данному if'у, ввиду того, что 9 не меньше 8, следовательно, переходим к оператору else (иначе) и подставляем в формулу изначально данное значение х, т.е. 9, получаем:
у:=2*9+1=19
в части программы необходимо вывести y, поэтому на выход пойдет число 19.
return n != 0 && n % 2 == 0 ? -n : n;
Оператор != - оператор равенства, возвращающий истину, если операнды не равны, и ложь иначе. n != 0 - значение условия "n не равно 0"
Оператор ?: - тернарный оператор, его запись имеет вид _условие_ ? _возвращаемое_значение_при_истинности_условия_ : _возвращаемое_значение_при_ложности_условия_ .
Операторы, использованные в выражении, по убыванию приоритета (операторы с равным приоритетом в одной строке):
унарный -
%
== !=
&&
?:
А тогда return n != 0 && n % 2 == 0 ? -n : n; эквивалентно return ((n != 0) && ((n % 2) == 0)) ? (-n) : n;
Если n не равно 0 и дает остаток 0 при делении на 2 (т.е. четно), возвращается значение -n, иначе возвращается n.
Результат: вывод числа 19.
Объяснение:
У нас x = 9, поэтому выполняется это: else y := 2*x + 1 (2 * 9 + 1 = 18 + 1 = 19).
То есть стоит оператор if (если) х (переменная) < (меньше) 8, то ...
это не работает, так как x > 9, поэтому выполнятся операция после else.