10. Напишите функцию, вычисляющую площадь треугольника по координатам его вершин. Напишите программу вычисления площади четырёхугольника по координатам его вершин с помощью этой функции.
Ответ
Вот пример программы на Паскале, которая вычисляет площадь треугольника по координатам его вершин с помощью функции triangleArea, и затем вычисляет площадь четырёхугольника по координатам его вершин:
program QuadrilateralArea;
type
Point = record
x, y: real;
end;
function triangleArea(p1, p2, p3: Point): real;
begin
triangleArea := abs((p1.x * (p2.y - p3.y) + p2.x * (p3.y - p1.y) + p3.x * (p1.y - p2.y)) / 2);
end;
var
p1, p2, p3, p4: Point;
area: real;
begin
writeln('Введите координаты вершины 1:');
readln(p1.x, p1.y);
writeln('Введите координаты вершины 2:');
readln(p2.x, p2.y);
writeln('Введите координаты вершины 3:');
readln(p3.x, p3.y);
writeln('Введите координаты вершины 4:');
readln(p4.x, p4.y);
area := triangleArea(p1, p2, p3) + triangleArea(p1, p3, p4);
writeln('Площадь четырёхугольника:');
writeln(area);
end.
В этой программе мы определяем тип Point, который представляет координаты точки как пару действительных чисел x и y.
Затем мы определяем функцию triangleArea, которая принимает три точки (p1, p2 и p3) и использует формулу площади треугольника на плоскости: |p1.x(p2.y — p3.y) + p2.x(p3.y — p1.y) + p3.x*(p1.y — p2.y)| / 2.
Затем мы объявляем переменные p1, p2, p3 и p4 типа Point, которые представляют вершины четырёхугольника.
После этого мы запрашиваем у пользователя ввод координат вершин четырёхугольника.
Затем мы вычисляем площадь четырёхугольника, складывая площади двух треугольников, образованных вершинами четырёхугольника.
В конце мы выводим значение площади четырёхугольника.
Пример работы программы:
Введите координаты вершины 1:
0 0
Введите координаты вершины 2:
0 1
Введите координаты вершины 3:
1 1
Введите координаты вершины 4:
1 0
Площадь четырёхугольника:
1