Подробно и с объяснением! допустим ли следующий оператор присваивания? если да, то выпишите тип и итоговое значение переменной «y», если нет, то напишите, почему. 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) Для удобства анализа введем добавочные скобки и пробелы. y := round( ( (3 * 7) div y ) mod (7 / 3) ) / y – trunc(0.724) 3*7 даст величину целочисленного типа. Тип переменной y в операции (3*7) div y может быть по определению этой операции только целочисленным. Целочисленным будет и её результат. Деление 7/3 даст результат вещественный, так уж устроена операция "/" Получаем по типам: <целочисленный> mod <вещественный>. Операция mod определена только для целочисленных операндов, поэтому тут ошибка.
Для удобства анализа введем добавочные скобки и пробелы.
y := round( ( (3 * 7) div y ) mod (7 / 3) ) / y – trunc(0.724)
3*7 даст величину целочисленного типа.
Тип переменной y в операции (3*7) div y может быть по определению этой операции только целочисленным. Целочисленным будет и её результат.
Деление 7/3 даст результат вещественный, так уж устроена операция "/"
Получаем по типам: <целочисленный> mod <вещественный>. Операция mod определена только для целочисленных операндов, поэтому тут ошибка.