Иакинф
5 год назад
Найти периметр N-угольника, заданного на плоскости
координатами своих вершин. (Написать функцию для нахождения длины
стороны N-угольника). Паскаль, через функции пользователя.
ОТВЕТЫ
Окунев
Jun 29, 2019
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.
180
Смежные вопросы: