- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
fortran习题4答案fortran习题4答案
工程分析程序设计 上机作业(五)
模块化编程
上机目的:掌握内部例程、主程序、外部例程、模块等功能的使用方法。
有一个六边形,求其面积。为求面积,作了3条辅助线。如图所示:(提示,三角形面积=,其中,a、b、c为三个边长)。要求用内部函数来计算每个三角形的面积。
program main
implicit none
real :: A(9)=(/10,30,16,13,21,14,20,36,28/)
integer i
real s
s=area(A(3),A(4),A(7))+area(A(2),A(7),A(8))+
area(A(1),A(8),A(9))+area(A(5),A(6),A(9))
print*,The area is,s
contains
function area(x,y,z)
implicit none
real x,y,z
real p,area
p=(x+y+z)/2
area=sqrt(p*(p-x)*(p-y)*(p-z))
end function
end
编写一个子例程子程序,SUM(S,T,N1,N2)。把整型数N1到N2进行求和,并把求和的结果放置到S,把整型数N1到N2进行求积,并把求积的结果放置到T。并用这个子程序来计算:
program main
implicit none
integer A(8)
integer i,b,c,d,e,f,g,m,n,y
b=0;d=0;g=1;n=1
do i=1,8
A(i)=i
end do
call sum(b,c,1,4)
call sum(d,e,3,8)
call sum(f,g,3,6)
call sum(m,n,1,3)
y=b+d+g-n
print*,y=(1+2+3+4)+(3+4+5+6+7+8)+(3*4*5*6)-(1*2*3)=,y
contains
subroutine sum(s,t,N1,N2)
integer s,t,N1,N2,i
do i=N1,N2
s=s+A(i)
t=t*A(i)
end do
end subroutine
end
编写函数子程序GDC求两个数的最大公约数。求最大公约数的算法如下:把两个数中大的那个数作为被除数,两数相除得到一个余数。把余数去除除数得到新一轮的余数。不断重复这一过程直到余数为0,这时的除数就是两个数的最大公约数。
调用此函数,求1260,198,72三个数的最大公约数。
program main
implicit none
integer a,b,c,m,n,temp
print*,请输入三个数:
print*,a b c
read*,a,b,c
if (ab) then
temp=a
a=b
b=temp
end if
call GDC(a,b,m)
if (cm) then
temp=c
c=m
m=temp
end if
call GDC(m,c,n)
print*,最大公约数为,n
contains
subroutine GDC(x,y,z)
integer x,y,z,k
do while(mod(x,y)/=0)
k=mod(x,y)
x=y
y=k
end do
z=y
end subroutine
end
编写一个模块程序,提供以下服务:定义出常量(、e。定义出子程序,实现求和、求阶乘n!。并在主程序中计算如下结果:从键盘上输入整数n、实型数A、R、R0,求(实型)和(实型)。
module mytask
implicit none
real,parameter :: PI=3.1415926
real,parameter :: e =2.7182818
contains
function sub(n)
integer i,n,sub
sub=0
do i=1,n
sub=sub+i*i
end do
end function sub
function fact(n)
integer i,n
real fact
fact=1
do i=1,n
fact=fact*i
end
您可能关注的文档
- APR版制程APR版制程.ppt
- AP生物真题及答案AP生物真题及答案.pdf
- ArcGIS 10.2将PostgreSQL原生数据发布为要素服务ArcGIS 10.2将PostgreSQL原生数据发布为要素服务.pdf
- APL美国总统轮船_SOLAS_Chn+VGM+Handbook+_lowres_withlinks+copyAPL美国总统轮船_SOLAS_Chn+VGM+Handbook+_lowres_withlinks+copy.pdf
- ARM 显微光谱角度分辨ARM 显微光谱角度分辨.pdf
- ArtiosCAD 7.6安装说明ArtiosCAD 7.6安装说明.pdf
- AS coating生产流程AS coating生产流程.pdf
- ASD5330点型可燃气体探测器使用说明书ASD5330点型可燃气体探测器使用说明书.pdf
- AT180Y系列多功能电力仪表说明书_V1.2AT180Y系列多功能电力仪表说明书_V1.2.pdf
- AT25DF321A-SH-T;AT25DF321A-SH-B;AT25DF321A-MH-Y;AT25DF321A-MH-T;中文规格书,Datasheet资料AT25DF321A-SH-T;AT25DF321A-SH-B;AT25DF321A-MH-Y;AT25DF321A-MH-T;中文规格书,Datasheet资料.pdf
文档评论(0)