Задать вопрос
25 декабря, 20:26

Допустим ли следующий оператор присваивания? Если да, то напишите тип и итоговое значение переменной y, если нет, то напишите, почему

y: = round (y * (7 div 4) mod 7/3) / y - Trunc (0.724)

+4
Ответы (1)
  1. 25 декабря, 22:40
    0
    Разберем оператор по шагам. Обозначим Т - промежуточный результат операции.

    y: = round (y * (7 div 4) mod 7/3) / y - trunc (0.724) ;

    1) T: = 7 div 4 ⇒ T:=1, тип T целочисленный.

    2) T:=y*T, тип Т определяется типом y.

    3) T:=T mod 7, в операции mod операнды могут быть только целочисленными, следовательно, тип у в 2) может быть только целочисленным, иначе мы получим на данном шаге ошибку. Результат операции - Т целочисленного типа.

    4) T:=T/3; T - вещественного типа.

    5) T; =round (T) ; T - целочисленного типа.

    6) T:=T/y, T - вещественного типа.

    7) Trunc (0.724) вернет 0 целочисленного типа.

    8) Т:=T-0 не изменит значения и типа Т: Т по-прежнему остается вещественным.

    9) y:=T; для корректного присваивания y должен иметь вещественный тип, но это, как указано в 3), вызовет ошибку при выполнении 2).

    Итог: оператор недопустим и будет отмечен ошибочным при компиляции.
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Допустим ли следующий оператор присваивания? Если да, то напишите тип и итоговое значение переменной y, если нет, то напишите, почему y: = ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы