Просмотр содержимого документа
«Практическое занятие №42»
deПрактическое занятие №42 (1И)
Тема: Интерактивная среда программирование на Python. Ввод и вывод данных.
Цель работы: формирование теоретических и практических навыков работы на языке программирования Python
Оборудование: компьютер с установленной операционной системой Windows, подключение к сети Интернет
Время работы 2 часа
Теоретические сведения
Операции над числами с плавающей точкой могут вызывать ошибки и давать неожиданные результаты. Работа с типом float требует повышенного внимания.
Также отображение таких чисел конечно, несмотря на то что в математике имеются иррациональные числа (например, Пи, корень квадратный из двух).
При изучении темы следует обратить внимание на:
Структуру числа с плавающей точкой (какие его части сохраняются в памяти и сколько бит занимает каждая);
Конструктор типа float;
Способы преобразования в целые числа (trunc, floor, ceiling, round);
Правила округления.
Если вы можете избежать применения чисел с плавающей точкой, этим стоит воспользоваться, так как они могут давать при вычислениях ложные результаты с точки зрения математики. При необходимости точного итога на практике используют встроенный модуль decimal (десятичные числа) или fractions (дроби).
Ход работы
Задача 1
Напишите функцию to_float(num), которая преобразует любое число в число с плавающей точкой. Если в качестве аргумента передан другой тип данных, она возвращает «Невозможно преобразовать».
Задача 2
Дано 4 числа. Нужно написать функцию avg_5(a, b, c, d), которая возвращает среднее арифметическое аргументов и округляет его до 5 знаков после запятой.
Задача 3
Функция mul_to_int(a, b) может принимать целые или вещественные числа. Если результат умножения аргументов не имеет значимых чисел после запятой, то она возвращает его в виде целого числа. В противном случае – в виде float.
Задача 4
Напишите функцию округления round_standard(num), принимающую число с плавающей точкой и округляющую его до целого числа в соответствии с правилами школьной математики.
Задача 5
Так как в Python операции с вещественными числами могут давать неожиданные результаты (в частности, 0.1 + 0.2 не будет в точности равняться 0.3), стоит задача с этим как-то справляться. Требуется написать функцию eqv(a, b, c), которая принимает 3 числа. Числа a и b складываются. Затем эта сумма сравнивается с числом "с" с определенной степенью точности. Точность равняется 0.01 % от большего из чисел a и b. Функция вернет True, если выполняется равенство, иначе False.
Контрольные вопросы:
Из каких трех элементов состоит тип данных float?
Какие типы данных можно преобразовать в числа с плавающей точкой?