В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Ks1mak
Ks1mak
12.09.2020 08:05 •  Информатика

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

Показать ответ
Ответ:
bangorucc
bangorucc
01.09.2020 20:32

Разберем оператор по шагам. Обозначим Т - промежуточный результат операции.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).Итог: оператор недопустим и будет отмечен ошибочным при компиляции


0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота