Описать процедуру Dist(Px,Py,Ax,Ay,Bx,By,D), находящую расстояние D от точки P до прямой AB - Turbo Pascal (32795)

Узнай цену своей работы

Формулировка задачи:

Прошу знатоков помочь в решении задачи, заранее благодарен. Используя функции Otr и Area, описать процедуру Dist(Px,Py,Ax,Ay,Bx,By,D), находящую расстояние D от точки P до прямой AB по формуле D = 2*SPAB / |AB|, где SPAB — площадь треугольника PAB. С помощью этой процедуры найти расстояния от точки P до прямых AB, AC, BC, если даны координаты точек P, A, B, C.

Решение задачи: «Описать процедуру Dist(Px,Py,Ax,Ay,Bx,By,D), находящую расстояние D от точки P до прямой AB»

textual
Листинг программы
uses crt;
function Otr(ax,ay,bx,by:real):real;
begin
Otr:=sqrt(sqr(ax-bx)+sqr(ay-by));
end;
function Area(px,py,ax,ay,bx,by:real):real;
begin
Area:=abs((ax-px)*(by-py)-(bx-px)*(ay-py))/2;
end;
procedure Dist(px,py,ax,ay,bx,by:real;var d:real);
begin
d:=2*Area(px,py,ax,ay,bx,by)/Otr(ax,ay,bx,by);
end;
var px,py,ax,ay,bx,by,cx,cy,d:real;
begin
writeln('Введите координаты точки Р:');
readln(px,py);
writeln('Введите координаты точек А,В,С');
readln(ax,ay,bx,by,cx,cy);
Dist(px,py,ax,ay,bx,by,d);
writeln('Расстояние от точки Р до прямой АВ=',d:0:2);
Dist(px,py,ax,ay,cx,cy,d);
writeln('Расстояние от точки Р до прямой АC=',d:0:2);
Dist(px,py,bx,by,cx,cy,d);
writeln('Расстояние от точки Р до прямой ВC=',d:0:2);
readln
end.

Объяснение кода листинга программы

  1. Создаётся функция Otr(ax,ay,bx,by:real):real, которая вычисляет расстояние между двумя точками в пространстве с использованием формулы расстояния между двумя точками в евклидовом пространстве.
  2. Создаётся функция Area(px,py,ax,ay,bx,by:real):real, которая вычисляет площадь треугольника, образованного точками P, A, B.
  3. Создаётся процедура Dist(px,py,ax,ay,bx,by:real;var d:real), которая вычисляет расстояние от точки P до прямой AB.
  4. Объявляются переменные px, py, ax, ay, bx, by, cx, cy и d:real;
  5. Выводится приглашение для ввода координат точки Р.
  6. Выводится приглашение для ввода координат точек А, В, С.
  7. Вычисляется расстояние от точки Р до прямой АВ и выводится результат.
  8. Вычисляется расстояние от точки Р до прямой АС и выводится результат.
  9. Вычисляется расстояние от точки Р до прямой ВС и выводится результат.
  10. Завершается программа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы