Нахождение расстояния между точками - 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.

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

  1. Создается тип данных point, который представляет точку с координатами x и y.
  2. Определяется процедура rasst, которая вычисляет расстояние между двумя точками по формуле расстояния Евклида.
  3. Создается переменная a типа array[1..4] of point, которая представляет массив из 4 точек.
  4. Задаются начальные значения для переменной r (максимальное расстояние) и mx (индекс текущей максимальной точки).
  5. Запускается цикл, который проходит по всем парам точек в массиве a.
  6. Для каждой пары точек вызывается процедура rasst, которая вычисляет расстояние между ними и сравнивает его с текущим максимальным расстоянием.
  7. Если новое расстояние больше текущего максимального расстояния, обновляется значение mx и сохраняются индексы текущей максимальной точки.
  8. По завершении цикла выводится максимальное расстояние между точками.
  9. Программа завершается вызовом функции readln.

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


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

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

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