Вычислить длину наибольшего звена ломанной - 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.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с консольным вводом-выводом.
- Создается тип данных
point
, который представляет собой точку с координатами x и y. - Задается константа n, которая определяет количество точек, вводимых пользователем.
- Создается переменная a, которая представляет собой массив из n точек.
- Задаются две байтовые переменные i и imx, которые будут использоваться для отслеживания текущего и предыдущего звена.
- Создается переменная mx, которая будет хранить длину наибольшего звена.
- Инициализируется переменная imx значением 1, которая будет отслеживать индекс текущего наибольшего звена.
- Запускается цикл for, который начинается с i=1 и продолжается до n-1.
- Внутри цикла происходит сравнение длины текущего звена с длиной предыдущего звена.
- Если текущая длина больше, то обновляется значение переменной mx и переменная imx устанавливается равной i.
- После завершения внутреннего цикла, выводится сообщение с длиной наибольшего звена и его индексом.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д