Param69. Используя тип TPoint и функцию Leng (см. задание Param64), описать функцию PerimN($$P$$, $$N$$) вещественного типа, находящую периметр N-угольника, вершины которого (в порядке их обхода) передаются в массиве $$p$$ размера $$N$$ $$(>2)$$ с элементами типа TPoint. С помощью этой функции найти периметры трех многоугольников, если дано число их сторон и координаты их вершин.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
program Param69; type TPoint = record x,y:real; end; TArrayPoint = array[1..10] of TPoint; var P:TArrayPoint; i,i2,N:integer; Function Leng(A,B:TPoint):real; begin Leng:=sqrt(sqr(A.X-B.X)+sqr(A.Y-B.Y)); end; Function PerimN(P:TArrayPoint;N:integer):real; var i:integer; begin result:=Leng(P[1],P[N]); for i:=1 to N-1 do result:=result+Leng(P[i],P[i+1]); end; begin for i2:=1 to 3 do begin Write('N: '); Readln(N); for i:=1 to N do begin Write(i,'(x,y): '); Readln(P[i].x,P[i].y); end; Writeln(PerimN(P,N)); end; end. |
Другие задачи из раздела Param можно посмотреть здесь.
Комментарии:
Комментарии 1