Вычислить длину наибольшего звена ломанной - Turbo Pascal

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

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

Вычислить длину наибольшего звена ломанной, заданной n точками A1(x1;y1),A2(x2;y2)...An(xn;yn).

Решение задачи: «Вычислить длину наибольшего звена ломанной»

textual
Листинг программы
uses crt;
type point=record
           x,y:real;
           end;
const n=5;
var a:array[1..n] of point;
     i,imx:byte;
    mx:real;
begin
clrscr;
randomize;
writeln('Введите координаты точек');
for i:=1 to n do
 begin
  writeln('Точка ',i);
  readln(a[i].x,a[i].y);
 end;
writeln;
mx:=sqrt(sqr(a[1].x-a[2].x)+sqr(a[1].y-a[2].y));
imx:=1;
for i:=2 to n-1 do
if sqrt(sqr(a[i].x-a[i+1].x)+sqr(a[i].y-a[i+1].y))>mx then
 begin
  mx:=sqrt(sqr(a[i].x-a[i+1].x)+sqr(a[i].y-a[i+1].y));
  imx:=i;
 end;
write('Наибольшее звено ',imx,'-',imx+1,' его длина=',mx:0:1);
readln
end.

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

  1. В начале кода подключается библиотека crt, которая используется для работы с консольным вводом-выводом.
  2. Создается тип данных point, который представляет собой точку с координатами x и y.
  3. Задается константа n, которая определяет количество точек, вводимых пользователем.
  4. Создается переменная a, которая представляет собой массив из n точек.
  5. Задаются две байтовые переменные i и imx, которые будут использоваться для отслеживания текущего и предыдущего звена.
  6. Создается переменная mx, которая будет хранить длину наибольшего звена.
  7. Инициализируется переменная imx значением 1, которая будет отслеживать индекс текущего наибольшего звена.
  8. Запускается цикл for, который начинается с i=1 и продолжается до n-1.
  9. Внутри цикла происходит сравнение длины текущего звена с длиной предыдущего звена.
  10. Если текущая длина больше, то обновляется значение переменной mx и переменная imx устанавливается равной i.
  11. После завершения внутреннего цикла, выводится сообщение с длиной наибольшего звена и его индексом.
  12. Конец программы.

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


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

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

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