- 1、本文档共41页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工程分析程序设计 上机作业(二)
模块化编程(1)
上机目的:掌握内部例程、主程序、外部例程、接口块、模块等功能的使用方法。
有一个六边形,求其面积。为求面积,作了3条辅助线。如图所示:(提示,三角形面积=,其中,a、b、c为三个边长)。要求用内部函数来实现。
PROGRAM MAIN
IMPLICIT NONE
REAL ::L1=10,L2=20,L3=18,L4=15,L5=21,L6=14,L7=30,L8=36,L9=28
REAL F
F=AREA(L5,L6,L9)+AREA(L1,L8,L9)+AREA(L2,L7,L8)+AREA(L3,L4,L7)
PRINT*,F
CONTAINS
FUNCTION AREA(A,B,C)
REAL S,A,B,C,AREA
S=(A+B+C)/2
AREA=SQRT(S*(S-A)*(S-B)*(S-C))
END FUNCTION
END
使用牛顿法求解以下方程的根:(要求用外部子程序)
PROGRAM MAIN
IMPLICIT NONE
REAL F,DF
EXTERNAL GEN
CALL GEN(F,DF)
END
SUBROUTINE GEN(F,DF)
IMPLICIT NONE
REAL ::X=0
REAL F,DF
INTEGER ::N=0
INTEGER ::MaxN=100
REAL ::Eps=1.0E-6
F=X**2+4*X+1
DF=2*X+4
DO WHILE (ABS(F)Eps.AND.NMaxN)
X=X-F/DF
N=N+1
F=X**2+4*X+1
DF=2*X+4
END DO
IF (F=Eps) THEN
PRINT*,ANSWER IS ,X
ELSE
PRINT*,NO ANSWER
END IF
END SUBROUTINE
PROGRAM MAIN
IMPLICIT NONE
REAL F,DF
EXTERNAL GEN
CALL GEN(F,DF)
END
SUBROUTINE GEN(F,DF)
IMPLICIT NONE
REAL ::X=0
REAL F,DF
INTEGER ::N=0
INTEGER ::MaxN=100
REAL ::Eps=1.0E-6
F=7*X**4+6*X**3-5*X**2+4*X+3
DF=28*X**3+18*X**2-10*X+4
DO WHILE (ABS(F)Eps.AND.NMaxN)
X=X-F/DF
N=N+1
F=7*X**4+6*X**3-5*X**2+4*X+3
DF=28*X**3+18*X**2-10*X+4
END DO
IF (F=Eps) THEN
PRINT*,ANSWER IS ,X
ELSE
PRINT*,NO ANSWER
END IF
END SUBROUTINE
编写一个子例程子程序,SUM(S,T,N1,N2)。把整型数N1到N2进行求和,并把求和的结果放置到S,把整型数N1到N2进行求积,并把求积的结果放置到T。并用这个子程序来计算
PROGRAM MAIN
IMPLICIT NONE
INTEGER N1,N2,S,T,A1,A2,A3,A4,Y
PRINT*,请输入N1,N2:
READ*,N1,N2
CALL SUM(S,T,N1,N2)
A1=S
PRINT*,请输入N1,N2:
READ*,N1,N2
CALL SUM(S,T,N1,N2)
A2=S
PRINT*,请输入N1,N2:
READ*,N1,N2
CALL SUM(S,T,N1,N2)
A3=T
PRINT*,请输入N1,N2:
READ*,N1,N2
CALL SUM(S,T,N1,N2)
A4=T
Y=A1+A2+A3-A4
PRINT*,Y=,Y
END
SUBROUTINE SUM(S,T,N1,N2)
IMPLICIT NONE
INTEGER S,T,N1,N2,I
S=0
T=1
DO I=N1,N2
S=S+I
T=T*I
END DO
END
编写一个模块程序,提供以下服务:定义出常量?、e。定义出子程序,实现求和、求阶乘n!。并在主程序中计算如下结果:从键盘上输入整数n、实型数A、R、R0,求(实型)和(实型)
MODULE CX
IMPLICIT NONE
REAL,PARAMETER::PI=3.1415926,E=2.718
CONTAINS
FUNCTION ADD(N)
IMPLICIT NONE
INTEGER I,N,ADD
ADD=1
DO I=2,N
ADD=ADD+I
END DO
END FUNCTION
FUNCTION CJ(N)
IMPLICIT NONE
INTEGER I,N,CJ
文档评论(0)