请人帮忙设计一个Fortran程序!谢谢啦!!!

来源:百度知道 编辑:UC知道 时间:2024/06/30 06:00:27
有一个边长为8.5的八边形草地。计算八边形草地的面积,并输出。要求边长(8.5)和边数(8)从键盘输入。帮帮忙啊!!
对实验内容1的方法分析如下:
由于没有直接计算八边形面积的公式,需要将八边形分解为8个三角形,利用三角形面积计算公式进行计算。边长为a的n边形(如八边形,即:n=8)可分解为n个等腰三角形.

等腰三角形b边的长可用以下公式计算:
已知三角形三边:x、y、z。求任意三角形面积的计算公式如下:
p=(x+y+z)/2
三角形面积=√p(p-x)(p-y)(p-z)
根据任意三角形面积计算公式,可按以下公式计算n边形中三角形ABC的面积。
p=(a+b+b)/2=a/2+b
ΔABC面积=√p(p-a)(p-b)(p-b)=√p(p-a)(p-b)2
n边形面积计算公式如下:
n边形面积=ΔABC面积×n
取n为8,可计算得到八边形面积。

program test
implicit none
integer::n
real::l,p,s,b

real,parameter::pi=3.1415926

read*,l,n

b=l*sin(pi*(0.5-1/n))/sin(2*pi/n)

p=l/2+b

s=sqrt(p*(p-l)*(p-b)**2)

print*,s

end

program test
implicit none
integer::n
real::l,p,s,b

real,parameter::pi=3.1415926

read*,l,n

b=l*sin(pi*(0.5-1/n))/sin(2*pi/n)

p=l/2+b

s=sqrt(p*(p-l)*(p-b)**2)

print*,s

end
这就是答案