Найти периметр n-угольника, заданного на плоскости координатами своих вершин. (написать функцию для нахождения длины стороны n-угольника). паскаль, через функции пользователя.
Program n1; var i, n: integer; x,y : array[1..100] of integer; per: real; function dlina(x1,x2,y1,y2 : integer) : real; begin dlina := sqrt(sqr(x2-x1) + sqr(y2-y1)); end; begin write('введите кол-во сторон: '); readln(n); per := 0; write('введите x1 координату: '); readln(x[1]); write('введите y1 координату: '); readln(y[1]); for i:=2 to n do begin write('введите х',i,' координату: '); readln(x[i]); write('введите y',i,' координату: '); readln(y[i]); per := per + dlina(x[i-1],y[i-1],x[i],y[i]); end; per := per + dlina(x[i],y[i],x[1],y[1]); writeln('периметр искомого ',n,' угольника',per); readln; end.
var
i, n: integer;
x,y : array[1..100] of integer;
per: real;
function dlina(x1,x2,y1,y2 : integer) : real;
begin
dlina := sqrt(sqr(x2-x1) + sqr(y2-y1));
end;
begin
write('введите кол-во сторон: ');
readln(n);
per := 0;
write('введите x1 координату: ');
readln(x[1]);
write('введите y1 координату: ');
readln(y[1]);
for i:=2 to n do
begin
write('введите х',i,' координату: ');
readln(x[i]);
write('введите y',i,' координату: ');
readln(y[i]);
per := per + dlina(x[i-1],y[i-1],x[i],y[i]);
end;
per := per + dlina(x[i],y[i],x[1],y[1]);
writeln('периметр искомого ',n,' угольника',per);
readln;
end.