Координаты точек - Pascal ABC

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

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

Добрый день. На плоскости заданы своими координатами n точек.Составить программу ,определяющуюю определяющую ,между какими из пар точек самое большое расстояние.Указание.Координаты точек занести в массив.

Решение задачи: «Координаты точек»

textual
Листинг программы
uses crt;
const nmax=15;
var x,y:array[1..nmax] of real;
    n,i,j,imx,jmx:byte;
    mx:real;
begin
randomize;
repeat
write('Количество точек от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
for i:=1 to n do
 begin
  x[i]:=10*random-4;
  y[i]:=10*random-4;
 end;
writeln('Координаты:');
write('N');
for i:=1 to n do
write(i:5);
writeln;
write('X');
for i:=1 to n do
write(x[i]:5:1);
writeln;
write('Y');
for i:=1 to n do
write(y[i]:5:1);
writeln;
writeln;
mx:=sqrt(sqr(x[1]-x[2])+sqr(y[1]-y[2]));
imx:=1;
jmx:=2;
for i:=1 to n-1 do
for j:=i+1 to n do
if sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]))>mx then
 begin
  mx:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]));
  imx:=i;
  jmx:=j;
 end;
writeln('Максимальное расстояние между точками ',imx,'-',jmx,' = ',mx:0:2);
end.

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

  1. В начале кода подключается библиотека crt, которая обеспечивает функции для работы с числами с плавающей точкой.
  2. Затем определяется константа nmax, которая ограничивает количество точек до 15.
  3. Далее определяются переменные x и y типа array[1..nmax] of real, которые будут хранить координаты точек.
  4. Также определяются байтовые переменные n, i, j, imx и jmx, которые будут использоваться для цикла и поиска максимального расстояния между точками.
  5. Затем с помощью функции randomize производится инициализация генератора случайных чисел.
  6. После этого начинается цикл repeat, который продолжается до тех пор, пока количество точек не будет варьироваться от 2 до nmax.
  7. Внутри цикла пользователю предлагается ввести количество точек n.
  8. Для каждой точки вводятся ее координаты x и y с помощью функций readln и write.
  9. После ввода всех точек выводится сообщение с их номерами.
  10. Затем вычисляется максимальное расстояние между двумя точками с помощью функции sqrt и цикла for.
  11. Если это расстояние больше предыдущего максимального расстояния, то обновляется значение максимального расстояния и индексов точек i и j.
  12. В конце выводится сообщение с максимальным расстоянием и его индексами.

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


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

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

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