Вычислить длину звена - Turbo Pascal

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

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

Вычислить длину наибольшего звена ломанной, заданной n точками A1(x1;y1),A2(x2;y2), A3(x3;y3), A4(x4;y4), A5(x5;y5).

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

textual
Листинг программы
const N = 5;
type vect_t = record
  x,y: double;
end;
type line_t = array[1..N] of vect_t;
 
var line: line_t;
var i,x: integer;
var max,tmp: double;
 
function LengthLine( const line: line_t; index: integer; var r: double ): boolean;
begin
  if i + 1 > N then 
    LengthLine := false
  else begin
    r:= sqrt( abs( (line[i + 1].x - line[i].x) * (line[i + 1].y - line[i].y) ) );
    LengthLine := true;
  end;
end;
 
begin
 
 
  for i:=1 to N do begin
    writeln( 'Input line[',i,'].x , line[',i,'].y' );
    readln(line[i].x);
    readln(line[i].y);
  end;
  
  LengthLine(line , 1 , max);
  
  i := 2;
  while( LengthLine(line , i , tmp) ) do begin
    if tmp > max then
      max := tmp;  
    i := i + 1;
  end;
  
  writeln( 'Max: ',max );
end.

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

  1. В начале объявляются необходимые переменные: N, vect_t, line_t, line, i, x, max, tmp.
  2. Затем определяется функция LengthLine, которая принимает в качестве аргументов константную ссылку на массив line типа line_t, индекс i и временную переменную r типа double. Эта функция возвращает булево значение, указывающее, является ли длина линии от i до i+1 больше или равной max.
  3. В основной части кода происходит инициализация и вывод входных данных, а затем вызов функции LengthLine с аргументами line, 1 и max.
  4. Затем начинается цикл while, который выполняется до тех пор, пока функция LengthLine не вернет false. Внутри цикла происходит сравнение tmp с max, и если tmp больше max, то max обновляется. Затем i увеличивается на 1.
  5. По завершении цикла выводится значение max.

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


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

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

11   голосов , оценка 3.818 из 5