Найти длины высот треугольника, если заданы координаты вершин треугольника - Free Pascal
Формулировка задачи:
Найти длины высот треугольника, если заданы координаты вершин треугольника.
Через функцию
Решение задачи: «Найти длины высот треугольника, если заданы координаты вершин треугольника»
textual
Листинг программы
function Visota(x1,y1,x2,y2,x3,y3:real):real;
var s:real;
begin
s:=abs(x1*(y2-y3)+x2*(y3-y1)+x3*(y1-y2))/2;{площадь}
Visota:=2*s/sqrt(sqr(x1-x2)+sqr(y1-y2));
end;
var x1,y1,x2,y2,x3,y3:real;
begin
writeln('Введите координаты X,Y вершин треугольника:');
readln(x1,y1,x2,y2,x3,y3);
write('Длины высот: ',Visota(x1,y1,x2,y2,x3,y3):0:2,' ',
Visota(x2,y2,x3,y3,x1,y1):0:2,' ',
Visota(x3,y3,x1,y1,x2,y2):0:2);
readln
end.
Объяснение кода листинга программы
- Задана функция Visota, которая принимает шесть аргументов типа real (x1, y1, x2, y2, x3, y3) и возвращает значение типа real.
- Внутри функции Visota определена переменная s, которая вычисляет площадь треугольника по формуле Герона.
- Значение переменной s затем используется для вычисления длин высот треугольника по формуле Ньютона.
- В основной части программы запрашиваются координаты вершин треугольника с помощью функции readln.
- Затем вызывается функция Visota с введенными координатами вершин треугольника и выводятся значения длин высот треугольника с помощью функции write.
- Программа завершается вызовом функции readln.