Возможен ли следующий оператор присваивания при каком-нибудь описании переменной x? Ответ обосновать. x:=round(sqrt(x)) mod 6*x+x mod 2/x.
Answers & Comments
A1dar
X mod 2 : требует чтоб х была integer (x mod 2)/x : даже если все делится на цело, то результатом будет тип real round(sqrt(x)) mod 6*x+x mod 2/x : конечный результат будет типа real т.е. х должен быть типа real, чтоб получить в себя результат А это противоречит первому требованию Так что без дополнительных операций приведения типов тут не обойтись
Ответ - нет
4 votes Thanks 3
A1dar
У операций mod/div такой же приоритет, как и у операций умножения/деления. Не нужно путать с побитовыми операциями
archery
ну и я про то что они идут последовательно и нет / в операции mod, потому что сначала будет выполнено mod, а потом /
archery
тогда ваш ответ или не полный или не понятный
A1dar
Что здесь непонятного? Заметили x mod 2 — x целочисленный. Заметили / — одно из слагаемых вещественное, как и само выражение
archery
все нормально. сначала взяли остаток а потом его поделили, противоречий нет
A1dar
Поделили остаток, получили вещественное число. Это вам ничего не говорит?
archery
мне то говорит, что результат действиетльное число и его надо присвоить х которое для мод должно быть целым, но это не очевидно и это надо описывать
A1dar
я это в ответе и описал, для меня это очевидно
archery
ответ вы пишете не для себя а для чайников
Заметим выражение x mod 2. Оператор mod допустим только для целочисленных типов операндов. Также в выражении есть оператор деления /, значит его значение получится вещественного типа. Противоречие. Ответ: невозможен
Answers & Comments
(x mod 2)/x : даже если все делится на цело, то результатом будет тип real
round(sqrt(x)) mod 6*x+x mod 2/x : конечный результат будет типа real т.е. х должен быть типа real, чтоб получить в себя результат
А это противоречит первому требованию
Так что без дополнительных операций приведения типов тут не обойтись
Ответ - нет
Verified answer
Заметим выражение x mod 2. Оператор mod допустим только для целочисленных типов операндов. Также в выражении есть оператор деления /, значит его значение получится вещественного типа. Противоречие.Ответ: невозможен