Возможен ли следующий оператор присваивания при каком-нибудь описании переменной x? Ответ...

0 голосов
111 просмотров

Возможен ли следующий оператор присваивания при каком-нибудь описании переменной x? Ответ обосновать.
x:=round(sqrt(x)) mod 6*x+x mod 2/x.


Информатика (343 баллов) | 111 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

X mod 2 : требует чтоб х была integer
(x mod 2)/x : даже если все делится на цело, то результатом будет тип real
round(sqrt(x)) mod 6*x+x mod 2/x : конечный результат будет типа real т.е. х должен быть типа real, чтоб получить в себя результат
А это противоречит первому требованию
Так что без дополнительных операций приведения типов тут не обойтись

Ответ - нет

(53.1k баллов)
0 голосов

Заметим выражение x mod 2. Оператор mod допустим только для целочисленных типов операндов. Также в выражении есть оператор деления /, значит его значение получится вещественного типа. Противоречие.
Ответ: невозможен

(13.3k баллов)
0

У операций mod/div такой же приоритет, как и у операций умножения/деления. Не нужно путать с побитовыми операциями

0

ну и я про то что они идут последовательно и нет / в операции mod, потому что сначала будет выполнено mod, а потом /

0

Я и не спорю

0

тогда ваш ответ или не полный или не понятный

0

Что здесь непонятного? Заметили x mod 2 — x целочисленный. Заметили / — одно из слагаемых вещественное, как и само выражение

0

все нормально. сначала взяли остаток а потом его поделили, противоречий нет

0

Поделили остаток, получили вещественное число. Это вам ничего не говорит?

0

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

0

я это в ответе и описал, для меня это очевидно

0

ответ вы пишете не для себя а для чайников