Номер §5.3 ПМ 1

ГДЗ по информатике 8 класс, Босова 2023, страница 224

§. ПМ Округление и выделение целой части

Запустите программу несколько раз для каждого x∈{10,2; 10,8; −10,2; −10,8}x\in\{10{,}2;\ 10{,}8;\ -10{,}2;\ -10{,}8\}. Что вы можете сказать о типе результата каждой из этих функций? Попытайтесь пояснить следующие результаты работы функции round: round(1.5) → 2; round(2.5) → 2; round(2.65, 1) → 2.6; round(2.75, 1) → 2.8. Обсудите этот вопрос в группе.

Решение

В программе из примера функция int(x) отбрасывает дробную часть в направлении нуля. Функция round(x) без второго аргумента округляет до ближайшего целого. Для данных примеров результаты таковы:

x round(x) int(x)
.
.
−. − −
−. − −

Обе функции в этих вызовах возвращают значение типа int, хотя исходное x имеет тип float. Например, для отрицательного числа −. отбрасывание дробной части даёт −, а округление к ближайшему целому — −.

Если число лежит ровно посередине между двумя возможными результатами, Python выбирает чётный результат. Поэтому round(.) даёт и round(.) тоже даёт . При округлении до десятых число . равноудалено от . и .; чётная последняя цифра у ., поэтому получается .. Значение . хранится как приближённое двоичное вещественное число, немного меньше точного .; поэтому round(., ) даёт .. Для вещественного x вызов round(x, ) возвращает float.

Ответ

round(x): , , −, −; int(x): , , −, −. Без второго аргумента оба результата имеют тип int; с числом знаков round возвращает float.

Помогло?

Нет твоего задания?Сфоткай, и ДЗмэн решит за пару секунд.

Решить по фото