Возможен ли следующий оператор присваивания при каком-нибудь описании переменной x? Ответ обосновать. x:=round(sqrt(x)) mod 6*x+x mod 2/x.
Возможен ли следующий оператор присваивания при каком-нибудь описании переменной x? Ответ обосновать.
x:=round(sqrt(x)) mod 6*x+x mod 2/x.
Ответ(ы) на вопрос:
Заметим выражение x mod 2. Оператор mod допустим только для целочисленных типов операндов. Также в выражении есть оператор деления /, значит его значение получится вещественного типа. Противоречие.
Ответ: невозможен
x mod 2 : требует чтоб х была integer
(x mod 2)/x : даже если все делится на цело, то результатом будет тип real
round(sqrt(x)) mod 6*x+x mod 2/x : конечный результат будет типа real т.е. х должен быть типа real, чтоб получить в себя результат
А это противоречит первому требованию
Так что без дополнительных операций приведения типов тут не обойтись
Ответ - нет
Не нашли ответ?
Похожие вопросы