Задание 5 Параграф 4.3 ГДЗ Босова 8 класс 2025 (Информатика)
Известны координаты вершин А, В, С треугольника. Разработайте и отладьте программу, вычисляющую площадь этого треугольника.
Для проверки правильности программы используйте тест:
Входные данные: $$x_a=2,\ y_a=1,\ x_b=6,\ y_b=5,\ x_c=10,\ y_c=1$$
Выходные данные: $$s=16.0$$
Найдём длины сторон треугольника по координатам вершин и затем вычислим площадь по формуле Герона.
Для вершин $$A(2,1)$$, $$B(6,5)$$, $$C(10,1)$$ получаем:
$$a=\sqrt{(2-6)^2+(1-5)^2}=\sqrt{16+16}=\sqrt{32}=4\sqrt{2}$$
$$b=\sqrt{(6-10)^2+(5-1)^2}=\sqrt{16+16}=\sqrt{32}=4\sqrt{2}$$
$$c=\sqrt{(2-10)^2+(1-1)^2}=\sqrt{64}=8$$
Полупериметр:
$$p=\frac{a+b+c}{2}=\frac{4\sqrt{2}+4\sqrt{2}+8}{2}=4\sqrt{2}+4$$
Площадь:
$$S=\sqrt{p(p-a)(p-b)(p-c)}=\sqrt{(4\sqrt{2}+4)\cdot 4\cdot 4\cdot (4\sqrt{2}-4)}=16$$
Программа на Pascal:
var
xa, ya, xb, yb, xc, yc: integer;
a, b, c, p, s: real;
begin
readln(xa, ya);
readln(xb, yb);
readln(xc, yc);
a := sqrt(sqr(xa — xb) + sqr(ya — yb));
b := sqrt(sqr(xb — xc) + sqr(yb — yc));
c := sqrt(sqr(xa — xc) + sqr(ya — yc));
if ((a + b) > c) and ((b + c) > a) and ((a + c) > b) then
begin
p := (a + b + c) / 2;
s := sqrt(p * (p — a) * (p — b) * (p — c));
writeln(‘s=’, s:4:1);
end
else
writeln(‘Треугольник не существует’);
end.
Ответ: $$S=16.0$$



