Задание 10 Параграф 2.4 ГДЗ Босова 9 класс 2017 (Информатика)
Рассмотрим вариант решения задания из учебника Босова 9 класс, Бином: 10. Напишите функцию, вычисляющую площадь треугольника по целочисленным координатам его вершин. Напишите программу вычисления площади четырёхугольника по координатам его вершин с помощью этой функции. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 9 bosova9 2-4/10 938
Площадь треугольника по координатам его вершин удобно находить через длины сторон и формулу Герона:
$$S=\sqrt{p(p-a)(p-b)(p-c)}$$
где $$a$$, $$b$$, $$c$$ — длины сторон треугольника, а $$p$$ — его полупериметр:
$$p=\frac{a+b+c}{2}$$
Сначала составим вспомогательную функцию для вычисления расстояния между двумя точками:
$$d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}$$
Затем напишем функцию площади треугольника по трём вершинам. Площадь четырёхугольника разобьём на сумму площадей двух треугольников: $$ABC$$ и $$BCD$$.
program trt;
var
xa, ya, xb, yb, xc, yc, xd, yd: integer;
s: real;function dll(a, b, c, d: integer): real;
begin
dll := sqrt(sqr(a — c) + sqr(b — d));
end;function strt(xa, ya, xb, yb, xc, yc: integer): real;
var
ab, ac, bc, p: real;
begin
ab := dll(xa, ya, xb, yb);
bc := dll(xb, yb, xc, yc);
ac := dll(xa, ya, xc, yc);
p := (ab + ac + bc) / 2;
strt := sqrt(p * (p — ab) * (p — ac) * (p — bc));
end;begin
write(‘введи координаты вершин A B C D по очереди через пробел (x,y)’);
readln(xa, ya, xb, yb, xc, yc, xd, yd);
s := strt(xa, ya, xb, yb, xc, yc) + strt(xb, yb, xc, yc, xd, yd);
writeln(‘площадь четырехугольника=’, s:8:2);
end.
Ответ
Площадь четырёхугольника находится как сумма площадей двух треугольников, вычисленных по формуле Герона.