📸 Нужно решить свою задачу?
Загрузите фото — AI решит за секунды!
school Общие знания verified Решено AI

Решение: Класс для Тригонометрических Функций на Python

calendar_today
schedule 1 мин. чтения
visibility 1 просмотр

Изображение задачи:
Нажмите для увеличения

Представлен класс на Python для вычисления тригонометрических функций, включая синус, косинус, тангенс, и их обратные функции, а также перевод градусов в радианы. Решение использует модуль math.

check_circle

Подробное решение

Задание: Создайте класс по работе с тригонометрическими функциями. В классе должны быть реализованы функции вычисления: — косинуса; — синуса; — тангенса; — арксинуса; — арккосинуса; — арктангенса; — перевода из градусов в радианы. Решение: Для решения этой задачи мы создадим класс на языке Python. В этом классе будут методы для каждой из перечисленных тригонометрических функций, а также метод для перевода градусов в радианы. Мы будем использовать встроенный модуль math для выполнения большинства вычислений.

1. Создание класса Trigonometry

Начнем с определения класса Trigonometry. В этом классе не будет необходимости в конструкторе __init__, так как все методы будут принимать аргументы напрямую.

class Trigonometry:
    # Методы класса будут здесь

2. Реализация функций вычисления

Теперь добавим методы для каждой тригонометрической функции. Для этого нам понадобится импортировать модуль math.

import math

class Trigonometry:
    def calculate_cosine(self, angle_radians):
        """
        Вычисляет косинус угла.
        Аргумент angle_radians должен быть в радианах.
        """
        return math.cos(angle_radians)

    def calculate_sine(self, angle_radians):
        """
        Вычисляет синус угла.
        Аргумент angle_radians должен быть в радианах.
        """
        return math.sin(angle_radians)

    def calculate_tangent(self, angle_radians):
        """
        Вычисляет тангенс угла.
        Аргумент angle_radians должен быть в радианах.
        """
        return math.tan(angle_radians)

    def calculate_arcsine(self, value):
        """
        Вычисляет арксинус значения.
        Значение value должно быть в диапазоне [-1, 1].
        Возвращает угол в радианах.
        """
        if not (-1 <= value <= 1):
            raise ValueError("Значение для арксинуса должно быть в диапазоне [-1, 1]")
        return math.asin(value)

    def calculate_arccosine(self, value):
        """
        Вычисляет арккосинус значения.
        Значение value должно быть в диапазоне [-1, 1].
        Возвращает угол в радианах.
        """
        if not (-1 <= value <= 1):
            raise ValueError("Значение для арккосинуса должно быть в диапазоне [-1, 1]")
        return math.acos(value)

    def calculate_arctangent(self, value):
        """
        Вычисляет арктангенс значения.
        Возвращает угол в радианах.
        """
        return math.atan(value)

    def degrees_to_radians(self, angle_degrees):
        """
        Переводит угол из градусов в радианы.
        """
        return math.radians(angle_degrees)

3. Примеры использования класса

Теперь покажем, как можно использовать созданный класс и его методы.

# Создаем экземпляр класса
trig_calculator = Trigonometry()

# Пример 1: Перевод градусов в радианы
angle_degrees = 90
angle_radians = trig_calculator.degrees_to_radians(angle_degrees)
print(f"Угол {angle_degrees} градусов в радианах: {angle_radians}")

# Пример 2: Вычисление синуса, косинуса и тангенса
# Для 90 градусов (pi/2 радиан)
print(f"Синус {angle_degrees} градусов: {trig_calculator.calculate_sine(angle_radians)}")
print(f"Косинус {angle_degrees} градусов: {trig_calculator.calculate_cosine(angle_radians)}")
# Тангенс 90 градусов не определен, но для угла, близкого к 90, можно показать
# Возьмем 45 градусов (pi/4 радиан)
angle_degrees_45 = 45
angle_radians_45 = trig_calculator.degrees_to_radians(angle_degrees_45)
print(f"Тангенс {angle_degrees_45} градусов: {trig_calculator.calculate_tangent(angle_radians_45)}")

# Пример 3: Вычисление арксинуса, арккосинуса и арктангенса
value_sin = 0.5
arcsin_result = trig_calculator.calculate_arcsine(value_sin)
print(f"Арксинус {value_sin} (в радианах): {arcsin_result}")
print(f"Арксинус {value_sin} (в градусах): {math.degrees(arcsin_result)}")

value_cos = 0.5
arccos_result = trig_calculator.calculate_arccosine(value_cos)
print(f"Арккосинус {value_cos} (в радианах): {arccos_result}")
print(f"Арккосинус {value_cos} (в градусах): {math.degrees(arccos_result)}")

value_tan = 1
arctan_result = trig_calculator.calculate_arctangent(value_tan)
print(f"Арктангенс {value_tan} (в радианах): {arctan_result}")
print(f"Арктангенс {value_tan} (в градусах): {math.degrees(arctan_result)}")

Полный код:

import math

class Trigonometry:
    def calculate_cosine(self, angle_radians):
        """
        Вычисляет косинус угла.
        Аргумент angle_radians должен быть в радианах.
        """
        return math.cos(angle_radians)

    def calculate_sine(self, angle_radians):
        """
        Вычисляет синус угла.
        Аргумент angle_radians должен быть в радианах.
        """
        return math.sin(angle_radians)

    def calculate_tangent(self, angle_radians):
        """
        Вычисляет тангенс угла.
        Аргумент angle_radians должен быть в радианах.
        """
        return math.tan(angle_radians)

    def calculate_arcsine(self, value):
        """
        Вычисляет арксинус значения.
        Значение value должно быть в диапазоне [-1, 1].
        Возвращает угол в радианах.
        """
        if not (-1 <= value <= 1):
            raise ValueError("Значение для арксинуса должно быть в диапазоне [-1, 1]")
        return math.asin(value)

    def calculate_arccosine(self, value):
        """
        Вычисляет арккосинус значения.
        Значение value должно быть в диапазоне [-1, 1].
        Возвращает угол в радианах.
        """
        if not (-1 <= value <= 1):
            raise ValueError("Значение для арккосинуса должно быть в диапазоне [-1, 1]")
        return math.acos(value)

    def calculate_arctangent(self, value):
        """
        Вычисляет арктангенс значения.
        Возвращает угол в радианах.
        """
        return math.atan(value)

    def degrees_to_radians(self, angle_degrees):
        """
        Переводит угол из градусов в радианы.
        """
        return math.radians(angle_degrees)

# --- Примеры использования ---
if __name__ == "__main__":
    trig_calculator = Trigonometry()

    print("--- Перевод градусов в радианы ---")
    angle_degrees_example = 180
    angle_radians_example = trig_calculator.degrees_to_radians(angle_degrees_example)
    print(f"Угол {angle_degrees_example}° в радианах: {angle_radians_example} радиан")
    print(f"Проверка: {angle_radians_example} ≈ {math.pi} (pi)")

    print("\n--- Вычисление синуса, косинуса, тангенса ---")
    # Угол 30 градусов
    angle_30_degrees = 30
    angle_30_radians = trig_calculator.degrees_to_radians(angle_30_degrees)
    print(f"Угол: {angle_30_degrees}° ({angle_30_radians} радиан)")
    print(f"Синус({angle_30_degrees}°): {trig_calculator.calculate_sine(angle_30_radians)}")
    print(f"Косинус({angle_30_degrees}°): {trig_calculator.calculate_cosine(angle_30_radians)}")
    print(f"Тангенс({angle_30_degrees}°): {trig_calculator.calculate_tangent(angle_30_radians)}")

    # Угол 45 градусов
    angle_45_degrees = 45
    angle_45_radians = trig_calculator.degrees_to_radians(angle_45_degrees)
    print(f"\nУгол: {angle_45_degrees}° ({angle_45_radians} радиан)")
    print(f"Синус({angle_45_degrees}°): {trig_calculator.calculate_sine(angle_45_radians)}")
    print(f"Косинус({angle_45_degrees}°): {trig_calculator.calculate_cosine(angle_45_radians)}")
    print(f"Тангенс({angle_45_degrees}°): {trig_calculator.calculate_tangent(angle_45_radians)}")

    print("\n--- Вычисление арксинуса, арккосинуса, арктангенса ---")
    # Значение для арксинуса
    value_for_arcsin = 0.5
    arcsin_result_rad = trig_calculator.calculate_arcsine(value_for_arcsin)
    print(f"Арксинус({value_for_arcsin}): {arcsin_result_rad} радиан")
    print(f"Арксинус({value_for_arcsin}): {math.degrees(arcsin_result_rad)}°")

    # Значение для арккосинуса
    value_for_arccos = 0.5
    arccos_result_rad = trig_calculator.calculate_arccosine(value_for_arccos)
    print(f"Арккосинус({value_for_arccos}): {arccos_result_rad} радиан")
    print(f"Арккосинус({value_for_arccos}): {math.degrees(arccos_result_rad)}°")

    # Значение для арктангенса
    value_for_arctan = 1.0
    arctan_result_rad = trig_calculator.calculate_arctangent(value_for_arctan)
    print(f"Арктангенс({value_for_arctan}): {arctan_result_rad} радиан")
    print(f"Арктангенс({value_for_arctan}): {math.degrees(arctan_result_rad)}°")

    print("\n--- Обработка ошибок ---")
    try:
        trig_calculator.calculate_arcsine(2.0)
    except ValueError as e:
        print(f"Ошибка при вычислении арксинуса: {e}")

Пояснения для школьника:

  1. Мы создали "коробку" (класс) под названием Trigonometry. В этой коробке будут храниться все наши инструменты (функции) для работы с углами.
  2. Каждый "инструмент" (метод) в этой коробке умеет делать что-то одно:
    • calculate_cosine: считает косинус угла.
    • calculate_sine: считает синус угла.
    • calculate_tangent: считает тангенс угла.
    • calculate_arcsine: находит угол по его синусу.
    • calculate_arccosine: находит угол по его косинусу.
    • calculate_arctangent: находит угол по его тангенсу.
    • degrees_to_radians: переводит градусы в радианы. Это важно, потому что большинство компьютерных функций работают с радианами.
  3. Когда мы хотим что-то посчитать, мы сначала "достаем" нашу коробку (создаем объект trig_calculator = Trigonometry()), а потом используем нужный инструмент, например, trig_calculator.calculate_sine(...).
  4. Внутри функций мы используем готовые математические функции из модуля math, чтобы не изобретать велосипед. Например, math.cos() для косинуса.
  5. Для арксинуса и арккосинуса есть важное правило: значение, которое мы им даем, должно быть от -1 до 1. Если дать другое, программа сообщит об ошибке.

Математические формулы (для справки):

Перевод градусов в радианы:

\[ \text{радианы} = \text{градусы} \times \frac{\pi}{180} \]

Например, для 90 градусов:

\[ 90 \times \frac{\pi}{180} = \frac{\pi}{2} \]

Основные тригонометрические тождества:

\[ \sin^2(\alpha) + \cos^2(\alpha) = 1 \] \[ \tan(\alpha) = \frac{\sin(\alpha)}{\cos(\alpha)} \]

Обратные тригонометрические функции:

Если \( \sin(\alpha) = x \), то \( \alpha = \arcsin(x) \)

Если \( \cos(\alpha) = x \), то \( \alpha = \arccos(x) \)

Если \( \tan(\alpha) = x \), то \( \alpha = \arctan(x) \)

list Все задачи

Нужно решить свою задачу?

Загрузите фото или введите текст — AI решит с пошаговым объяснением!

Решите свою задачу прямо сейчас

Введите текст задачи или загрузите фото — получите ответ мгновенно

Выберите режим AI:
🚀 Pro v3
20 руб. • 99.9%
⚡ Lite v3
5 руб. • 95%
Ваш баланс: 10 руб.
Пополнить
psychology
Задайте любой вопрос
Поддерживаются текст, фото и голосовой ввод
🎉
Бонус получен!
+20 ₽
Добавлено на ваш баланс