import math
def analyze_points():
print("Введите координаты трёх точек (x, y):")
try:
x1, y1 = float(input("x1: ")), float(input("y1: "))
x2, y2 = float(input("x2: ")), float(input("y2: "))
x3, y3 = float(input("x3: ")), float(input("y3: "))
except ValueError:
print("Ошибка: координаты должны быть числами.")
return
# 1. Находим длины отрезков (сторон)
a = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
b = math.sqrt((x3 - x2)**2 + (y3 - y2)**2)
c = math.sqrt((x1 - x3)**2 + (y1 - y3)**2)
print("\n--- Результаты ---")
print("Длины отрезков:")
print(f"a (между 1 и 2) = {a:.4f}")
print(f"b (между 2 и 3) = {b:.4f}")
print(f"c (между 3 и 1) = {c:.4f}")
# 2. Выясняем, представляют ли они треугольник
# Используем round(), чтобы избежать специфических ошибок округления типа float
# (например, когда 5.000000000000001 оценивается как больше 5.0)
if (round(a + b, 6) > round(c, 6) and
round(a + c, 6) > round(b, 6) and
round(b + c, 6) > round(a, 6)):
print("\nВывод: Точки образуют треугольник.")
# 3. Находим площадь по формуле Герона
p = (a + b + c) / 2.0
# abs() используется для страховки от микро-отрицательных значений под корнем из-за float
s = math.sqrt(abs(p * (p - a) * (p - b) * (p - c)))
print(f"Площадь треугольника: S = {s:.4f}")
else:
print("\nВывод: Точки НЕ образуют треугольник (лежат на одной прямой или совпадают).")
if __name__ == "__main__":
analyze_points()