Расстояние от точки до отрезка - Free Pascal
Формулировка задачи:
Помогите пожалуйста решить
Входные данные
Шесть чисел – координаты точки и координаты концов отрезка.Выходные данные
Одно число – расстояние от точки до отрезка.Решение задачи: «Расстояние от точки до отрезка»
textual
Листинг программы
var x0,y0,x1,y1,x2,y2,a,b,c,s,h,d:real; begin readln(x0,y0,x1,y1,x2,y2); {квадраты боковых сторон треугольника} a:=sqr(x0-x1)+sqr(y0-y1); b:=sqr(x0-x2)+sqr(y0-y2); {квадрат основания} c:=sqr(x2-x1)+sqr(y2-y1); {площадь треугольника} s:=abs((x0-x2)*(y1-y2)-(x1-x2)*(y0-y2))/2; {высота к основанию} h:=2*s/sqrt(c);{и его высоту} writeln('a=',sqrt(a):0:2,' b=',sqrt(b):0:2,' c=',sqrt(c):0:2,' h=',h:0:2); {если треугольник тупоугольный, найдем до какого конца расстояние меньше} if (a+c<b)or(b+c<a) then begin if a<b then d:=sqrt(a) else d:=sqrt(b); end else d:=h;{если не тупоугольный, расстояние=высоте} write(d:0:2); end.
Объяснение кода листинга программы
- Входные данные считываются в переменные x0, y0, x1, y1, x2, y2.
- Вычисляются квадраты боковых сторон треугольника: a, b.
- Вычисляется квадрат основания треугольника: c.
- Вычисляется площадь треугольника: s.
- Вычисляется высота к основанию треугольника: h.
- Выводится значение переменных a, b, c, h.
- Если треугольник не является тупоугольным, то расстояние до отрезка равно высоте.
- Если треугольник является тупоугольным, то определяется конец отрезка, к которому расстояние меньше.
- Если a меньше b, то расстояние до отрезка равно a.
- Если b меньше a, то расстояние до отрезка равно b.
- Если a и b равны, то расстояние до отрезка равно a.
- Выводится значение переменной d.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д