Методика изучения Языка программирования Python
Урок 5. Решение задач на основе функций и констант, определенных в модулях math и cmath.
Конспект урока № 5.
Тема урока: Решение задач на основе функций и констант, определенных в модулях math и cmath.
Тип урока: комбинированный урок усвоения новых знаний.
Цель урока: научить учащихся решать вычислительные задачи на основе функций и констант, определенных в модулях math и cmath.
Задачи урока:
Образовательная: научить применять на практике модули math и cmath;
Развивающая: развивать у учащихся логическое и алгоритмическое мышление, навыки мыслительной деятельности, включая каждого учащегося в учебно-познавательный процесс и создавая условия для работы каждого в индивидуальном психологическом ритме;
Воспитательная: воспитывать у учащихся самостоятельность, активность, интерес к предмету.
Модуль Math
Модуль math всегда доступен и обеспечивает доступ к математическим функциям. Данные функции неприменимы к комплексным числам, для работы с комплексными числами имеются функции с теми же именами в модуле cmath. Модуль содержит следующие функции. Во всех случаях, кроме особо оговоренных, функции возвращают число типа float.
math.acos(x) # арккосинус
math.asin(x) # арксинус
math.atan(x) # арктангенс х
math.atan2 (x, y) # арктангенс y/x
math.ceil(x) # округление вверх
math.cos(x) # косинус
math.cosh(x) # гиперболический косинус
math.e # константа е
math.exp(x) # экспонента (е в степени х)
math.fabs(x) # модуль х
math.floor(x) # округление вниз
math.fmod (x, y) # остаток от деления x/y
math.frexp(x) # мантисса и порядок х; результат в виде (m, i), где x = m * 2**i;
# i - целое, m - число с плавающей точкой в пределах 0.5 <= |m| < 1.0
math.hypot (x, y) # гипотенуза; sqrt (x*x + y*y)
math.ldexp (m, i) # m * (2**i) - функция, обратная frexp
math.log(x) # натуральный логарифм
math.log10 (x) # десятичный логарифм
math.modf(x) # возвращает (y, q), где y - дробная часть x, a q - целая часть х;
# обе части имеют знак самого х
math.pi # константа пи
math.pow (x, y) # возведение х в степень у
math.sin(x) # синус
math.sinh(x) # гиперболический синус
math.sqrt(x) # квадратный корень
math.tan(x) # тангенс
math.tanh(x) # гиперболический тангенс
Решим задачу по применению данного модуля: Определим остаток от деления двух чисел.
Листинг 11. Нахождение остатка от деления двух чисел
Модуль Cmath
Этот модуль всегда доступен и позволяет проводить операции над комплексными числами. При этом функции модуля поддерживают работу не только с комплексными, но и с целыми числами и числами с плавающей запятой. Причина, по которой имеются два таких схожих модуля, в том, что многим пользователям не нужны комплексные числа или они просто не знают что это такое. В этих случаях будет даже лучше, если при math.sqrt(-1) будет возбуждено исключение, чем будет найдено комплексное решение. При этом отметим, что функции в модуле всегда возвращают комплексное число, даже если исходные числа не содержат мнимой части.
сmath.acos(x) # арккосинус
сmath.asin(x) # арксинус
сmath.atan(x) # арктангенс х
сmath.cos(x) # косинус
сmath.cosh(x) # гиперболический косинус
сmath.exp(x) # экспонента (е в степени х)
сmath.log(x) # натуральный логарифм
сmath.log10 (x) # десятичный логарифм
сmath.sin(x) # синус
сmath.sinh(x) # гиперболический синус
сmath.sqrt(x) # квадратный корень
сmath.tan(x) # тангенс
сmath.tanh(x) # гиперболический тангенс
Вопросы для контроля:
1. Что представляет собой модуль math и Cmath?
