ВУЗ:
Составители:
Рубрика:
209
var a:mnogoug; { многоугольник }
n:integer; { количество вершин }
{ Длина стороны}
function dlina(x1,y1,x2,y2:real):real;
begin dlina:=sqrt(sqr(x1-x2)+sqr(y1-y2)) end;
{ Площадь треугольника }
function treug(x1,y1,x2,y2,x3,y3:real):real;
var a,b,c:real;
p:real;
begin { вычисление длин сторон }
a:=dlina(x1,y1,x2,y2);
b:=dlina(x1,y1,x3,y3);
c:=dlina(x2,y2,x3,y3);
p:=(a+b+c)/2; { полупериметр }
{ площадь треугольника по формуле Герона }
treug:=sqrt(p*(p-a)*(p-b)*(p-c))
end;
{ Периметр многоугольника }
function perim(a:mnogoug;n:integer):real;
var i:integer; { номера вершин }
d:real; { периметр }
begin { длина стороны между вершиной 1 и вершиной n }
d:=dlina(a[1,1],a[2,1],a[1,n],a[2,n]);
{ обход сторон и вычисление суммы их длин }
for i:=1 to n-1 do
d:=d+dlina(a[1,i],a[2,i],a[1,i+1],a[2,i+1]);
perim:=d
end;
{ Площадь многоугольника }
function area(a:mnogoug;n:integer):real;
var d:real; { площадь }
i:integer; { номера вершин }
begin d:=0;
{ Разбиваем
многоугольник на треугольники диагоналями, проведенными из
вершины 1 }
for i:=2 to n-1 do
d:=d+treug(a[1,1],a[2,1],a[1,i],a[2,i],a[1,i+1],a[2,i+1]);
area:=d
end;
{ Длина наибольшей стороны многоугольника }
function stor(a:mnogoug;n:integer):real;
209 var a:mnogoug; { многоугольник } n:integer; { количество вершин } { Длина стороны} function dlina(x1,y1,x2,y2:real):real; begin dlina:=sqrt(sqr(x1-x2)+sqr(y1-y2)) end; { Площадь треугольника } function treug(x1,y1,x2,y2,x3,y3:real):real; var a,b,c:real; p:real; begin { вычисление длин сторон } a:=dlina(x1,y1,x2,y2); b:=dlina(x1,y1,x3,y3); c:=dlina(x2,y2,x3,y3); p:=(a+b+c)/2; { полупериметр } { площадь треугольника по формуле Герона } treug:=sqrt(p*(p-a)*(p-b)*(p-c)) end; { Периметр многоугольника } function perim(a:mnogoug;n:integer):real; var i:integer; { номера вершин } d:real; { периметр } begin { длина стороны между вершиной 1 и вершиной n } d:=dlina(a[1,1],a[2,1],a[1,n],a[2,n]); { обход сторон и вычисление суммы их длин } for i:=1 to n-1 do d:=d+dlina(a[1,i],a[2,i],a[1,i+1],a[2,i+1]); perim:=d end; { Площадь многоугольника } function area(a:mnogoug;n:integer):real; var d:real; { площадь } i:integer; { номера вершин } begin d:=0; { Разбиваем многоугольник на треугольники диагоналями, проведенными из вершины 1 } for i:=2 to n-1 do d:=d+treug(a[1,1],a[2,1],a[1,i],a[2,i],a[1,i+1],a[2,i+1]); area:=d end; { Длина наибольшей стороны многоугольника } function stor(a:mnogoug;n:integer):real;
Страницы
- « первая
- ‹ предыдущая
- …
- 205
- 206
- 207
- 208
- 209
- …
- следующая ›
- последняя »