Уроки 51–52 · 2 урока · М. Р. Файзиева, Д. М. Сайфуров, Н. С. Хайтуллаева. Информатика и информационные технологии, 9 класс. «Nashriyot uyi Tasvir», Ташкент, 2020
52
Практическое занятие: модуль math
Учебник: с. 103
ЦельНа практическом занятии использует функции модуля math (sqrt, floor, ceil, factorial, log10, pi, sin) и round() для округления и решает геометрические задачи.
Новые слова
math: модуль математических функций и констант · mathsqrt(): квадратный корень из числа · sqrt()floor(): округляет вниз; ceil(): округляет вверх до целого числа · floor() va ceil()round(x, n): округляет x до n знаков после запятой; это встроенная функция · round()
Объяснение
Модуль math даёт готовые функции для математических вычислений; мы загружаем его с помощью import math и используем как math.sqrt(x). math.sqrt(x) – квадратный корень, math.factorial(n) – n!, math.log10(x) – десятичный логарифм, math.pi – число π, а math.sin и math.cos принимают угол в радианах, поэтому градусы нужно преобразовать с помощью math.radians(). math.floor(x) округляет вниз, а math.ceil(x) – вверх: floor(−1.5) = −2, ceil(−1.5) = −1. round(x, n) и abs(x) – встроенные функции и не требуют math. Вещественные числа хранятся в памяти приближённо, поэтому при вычислении sin 30° мы получим 0.4999…; результат нужно округлять с помощью round(). Извлечение корня из отрицательного числа даёт ValueError. Площадь равностороннего треугольника S = a² · √3 / 4, то есть math.sqrt(3) / 4 * a ** 2; не путайте с √(3/4).
Примеры
Функции: import math ⏎ print(math.sqrt(144), math.floor(2.7), math.ceil(2.1), abs(-5)) Результат: 12.0 2 3 5. Равносторонний треугольник (a = 4): import math ⏎ a = 4 ⏎ print(round(math.sqrt(3) / 4 * a ** 2, 2)) площадь примерно равна 6.93.
Гипотенуза и другое: import math ⏎ print(math.sqrt(3 ** 2 + 4 ** 2), math.factorial(5), math.log10(1000)) в прямоугольном треугольнике с катетами 3 и 4 гипотенуза равна 5.0, 5! = 120, log10(1000) = 3.0. Круг и синус: import math ⏎ print(round(math.pi * 2 ** 2, 2), round(math.sin(math.radians(30)), 2)) площадь круга радиуса 2 равна 12.57, sin 30° = 0.5.
Работа в классе
«Инженер-калькулятор»: группа пишет 3 небольшие вычислительные программы, в которых вводятся катеты треугольника, радиус круга и угол; результаты сравниваются вручную и с помощью калькулятора.
Упражнения
1
Чему равны math.floor(-1.5) и math.ceil(-1.5)?
-2 и -1
2
Напишите программу, которая находит гипотенузу прямоугольного треугольника с катетами 6 и 8.
import math ⏎ a = 6 ⏎ b = 8 ⏎ print(math.sqrt(a ** 2 + b ** 2))
3
Чему равно round(3.14159, 2)?
3.14
4
Почему math.sqrt(-4) даёт ошибку?
У отрицательного числа нет действительного квадратного корня; Python выдаёт ValueError (math domain error).