Нахождение расстояния между точками - Turbo Pascal
Формулировка задачи:
Четыре точки заданы своими координатами X(x1, x2), Y(y1, y2), Z(z1, z2), P(p1, p2). Выяснить, какие из них находятся на максимальном расстоянии друг от друга и найти значение этого расстояния. Вычисление расстояния между двумя точками оформить в виде процедуры.
Заранее спасибо))
Решение задачи: «Нахождение расстояния между точками»
textual
Листинг программы
uses crt; type point=record s:char; x,y:real; end; procedure rasst(a,b:point;var r:real); begin r:=sqrt(sqr(a.x-b.x)+sqr(a.y-b.y)); end; var a:array[1..4] of point; i,j,ii,jj:byte; r,mx:real; begin clrscr; a[1].s:='X'; writeln('Введите координаты точки X'); readln(a[1].x,a[1].y); a[2].s:='Y'; writeln('Введите координаты точки Y'); readln(a[2].x,a[2].y); a[3].s:='Z'; writeln('Введите координаты точки Z'); readln(a[3].x,a[3].y); a[4].s:='P'; writeln('Введите координаты точки P'); readln(a[4].x,a[4].y); mx:=-1; for i:=1 to 3 do for j:=i+1 to 4 do begin rasst(a[i],a[j],r); if r>mx then begin mx:=r; ii:=i; jj:=j; end; end; writeln('Максимальное расстояние между точками ',a[ii].s,' и ',a[jj].s,' = ',mx:0:2); readln end.
Объяснение кода листинга программы
- Создается тип данных
point
, который представляет точку с координатами x и y. - Определяется процедура
rasst
, которая вычисляет расстояние между двумя точками по формуле расстояния Евклида. - Создается переменная
a
типаarray[1..4] of point
, которая представляет массив из 4 точек. - Задаются начальные значения для переменной
r
(максимальное расстояние) иmx
(индекс текущей максимальной точки). - Запускается цикл, который проходит по всем парам точек в массиве
a
. - Для каждой пары точек вызывается процедура
rasst
, которая вычисляет расстояние между ними и сравнивает его с текущим максимальным расстоянием. - Если новое расстояние больше текущего максимального расстояния, обновляется значение
mx
и сохраняются индексы текущей максимальной точки. - По завершении цикла выводится максимальное расстояние между точками.
- Программа завершается вызовом функции
readln
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д