Задание 5 Параграф 5.3 ГДЗ Босова 8 класс 2025 (Информатика)
Известны координаты вершин А, В, С треугольника. Разработайте и отладьте программу, вычисляющую площадь этого треугольника.
Для проверки правильности программы используйте тест:
Входные данные: $$x_A=2,\ y_A=1,\ x_B=6,\ y_B=5,\ x_C=10,\ y_C=1$$
Выходные данные: $$s=16.0$$
Площадь треугольника по координатам его вершин удобно найти по формуле Герона. Сначала вычислим длины сторон:
$$d_1=\sqrt{(x_A-x_B)^2+(y_A-y_B)^2}$$
$$d_2=\sqrt{(x_A-x_C)^2+(y_A-y_C)^2}$$
$$d_3=\sqrt{(x_B-x_C)^2+(y_B-y_C)^2}$$
Затем найдём полупериметр:
$$p=\frac{d_1+d_2+d_3}{2}$$
И площадь:
$$S=\sqrt{p(p-d_1)(p-d_2)(p-d_3)}$$
from math import *
xa, ya = map(int, input(«x, y точки A >> «).split())
xb, yb = map(int, input(«x, y точки B >> «).split())
xc, yc = map(int, input(«x, y точки C >> «).split())d1 = sqrt((xa — xb) ** 2 + (ya — yb) ** 2)
d2 = sqrt((xa — xc) ** 2 + (ya — yc) ** 2)
d3 = sqrt((xb — xc) ** 2 + (yb — yc) ** 2)p = (d1 + d2 + d3) / 2
s = sqrt(p * (p — d1) * (p — d2) * (p — d3))print(«s=», «{:6.1f}».format(s))
Проверка на тесте:
$$A(2,1),\; B(6,5),\; C(10,1)$$
Получаем:
$$d_1=\sqrt{(2-6)^2+(1-5)^2}=\sqrt{32}$$
$$d_2=\sqrt{(2-10)^2+(1-1)^2}=8$$
$$d_3=\sqrt{(6-10)^2+(5-1)^2}=\sqrt{32}$$
$$p=\frac{\sqrt{32}+8+\sqrt{32}}{2}=4+4\sqrt{2}$$
$$S=16$$
Ответ: $$16.0$$



