Подробно и с объяснением! Допустим ли следующий оператор присваивания? Если да, то...

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

Подробно и с объяснением!

Допустим ли следующий оператор присваивания? Если да, то выпишите тип и итоговое значение переменной «y», если нет, то напишите, почему.
y := round(3*7 Div y Mod 7/3)/y – Trunc(0.724)


Информатика (5.1k баллов) | 81 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
y := round(3*7 div y mod 7/3)/y – trunc(0.724)
Для удобства анализа введем добавочные скобки и пробелы.
y := round( ( (3 * 7) div y ) mod (7 / 3) ) / y – trunc(0.724)
3*7 даст величину целочисленного типа.
Тип переменной y в операции (3*7) div y может быть по определению этой операции только целочисленным. Целочисленным будет и её результат.
Деление 7/3 даст результат вещественный, так уж устроена операция "/"
Получаем по типам: <целочисленный> mod <вещественный>. Операция mod определена только для целочисленных операндов, поэтому тут ошибка.
(142k баллов)
0

Благодарю за исчерпывающий ответ!

0

Пожалуйста