import math
import cmath
def calculate_expressions():
print("=== Часть 1: Вычисление a и b ===")
x, y, z = 6, 7, 8
# Использование cmath для предотвращения ValueError из-за arccos(49)
term1 = math.exp(2 * (x ** 2) - y)
term2 = (3 * cmath.acos(y ** 2)) / ((z ** 2 + x * y) ** 2)
a = term1 + term2
num_b = abs(x - y) ** 2
den_b = 3 * z + math.cos(x ** 2)
b = math.tan(num_b / den_b)
print(f"Значение a: {a}")
print(f"Значение b: {b}\n")
def check_and_calculate_triangle():
print("=== Часть 2: Расчет параметров прямоугольного треугольника ===")
try:
x1, y1 = map(float, input("Введите координаты точки A (через пробел, например: 0 0): ").split())
x2, y2 = map(float, input("Введите координаты точки B (через пробел): ").split())
x3, y3 = map(float, input("Введите координаты точки C (через пробел): ").split())
except ValueError:
print("Ошибка: введены некорректные данные. Ожидаются числа.")
return
# Вычисление длин сторон
ab = math.dist((x1, y1), (x2, y2))
bc = math.dist((x2, y2), (x3, y3))
ca = math.dist((x3, y3), (x1, y1))
print(f"\nДлины отрезков: AB={ab:.3f}, BC={bc:.3f}, CA={ca:.3f}")
# Проверка на существование треугольника
if ab + bc <= ca or ab + ca <= bc or bc + ca <= ab:
print("Результат: Треугольник с такими координатами не существует (точки лежат на одной прямой).")
return
# Классификация треугольника (поиск прямого угла)
sides = sorted([ab, bc, ca])
# Проверка теоремы Пифагора (используется math.isclose для точности float)
if math.isclose(sides[0]**2 + sides[1]**2, sides[2]**2, rel_tol=1e-6):
print("Результат: Данный треугольник является прямоугольным.")
# Площадь прямоугольного треугольника равна половине произведения катетов
area = 0.5 * sides[0] * sides[1]
print(f"Площадь треугольника: S = {area:.3f}")
else:
print("Результат: Треугольник не является прямоугольным. Площадь не вычисляется согласно условию задачи.")
if __name__ == "__main__":
calculate_expressions()
check_and_calculate_triangle()