Вычислить длину звена - 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.
Объяснение кода листинга программы
- В начале объявляются необходимые переменные: N, vect_t, line_t, line, i, x, max, tmp.
- Затем определяется функция LengthLine, которая принимает в качестве аргументов константную ссылку на массив line типа line_t, индекс i и временную переменную r типа double. Эта функция возвращает булево значение, указывающее, является ли длина линии от i до i+1 больше или равной max.
- В основной части кода происходит инициализация и вывод входных данных, а затем вызов функции LengthLine с аргументами line, 1 и max.
- Затем начинается цикл while, который выполняется до тех пор, пока функция LengthLine не вернет false. Внутри цикла происходит сравнение tmp с max, и если tmp больше max, то max обновляется. Затем i увеличивается на 1.
- По завершении цикла выводится значение max.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д