- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工程分析程序设计 上机作业(三)
模块化编程(2)
上机目的:进一步掌握内部例程、外部例程、接口块、模块等功能的使用方法。练习例程 重载、例程递归的使用方法。
1、 利用例程重载编写一个子程序求余数ACR(A, B)。要求,对两个整型数和两个实型数都有 效(实型数相除的余数:两个实型数相除后的商仍然収一个整数,但剩余值小于除数) [不能用Fortran的内部惭数MOD(x,y)]o
MODULE Mod
IMPLICIT NONE
INTERFACE ACR
MODULE PROCEDURE ACRREALS
END INTERFACE
CONTAINS
SUBROUTINE ACRREALS(A,B,C)
IMPLICIT NONE
REAL A,B
INTEGERC
DO WHILE (AB)
A=A-B
END DO
C=A
END SUBROUTINE
END MODULE
PROGRAM MAIN
USE Mod
IMPLICIT NONE
REAL A,B
INTEGERC
PRINT弩请输入A,B的值
READ*,A,B
CALLACR(A,B,C)
PRINT*,A和B的余数是:;C
END PROGRAM
2、 编写函数子程序GDC求两个数的最大公约数。求最大公约数的算法如下:把两个数中 大的那个数作为被除数,两数相除得到一个余数。把余数去除除数得到新一轮的余数。 不断重复这一过程直到余数为0,这时的除数就是两个数的最大公约数。
调用此函数,求1260, 198, 72三个数的最大公约数。
program main
implicit none
integer a,b,c,i,j,k
print*,请输入要求的数:a,b,c
read*,a,b,c
i=gdc(a,b) j=gdc(b,c) k=gdc(i,j) print*,k contains function gdc(a,b) implicit none integer a,b,c,d,gdc if (ba) then d=a a=b b=d end if c=mod(a,b) do while (c0) a=b b=c c=mod(a9b) end do gdc=b end function end
ca *C:\Progra Files\Bicrosoft
ca *C:\Progra Files\Bicrosoft
Visual Studio\CoB*on\ISDEV98\lY PROJECTS\...
诂祈入要求的I
1260 198 72
18
Press key to cont inue
3、编写一个函数子程序求sinh(x),以下分三个步骤完成:(1)用递归算法,求出
尢 兀Z x ,、宀才一心d亠I. X2 X3 X4 xn
要求计算—= ;(2) 自 仃编稈求出幺 匕1 + x 1 1 =〉—
要求计算
/?! n-\\ n 2! 3! 4! ,?=0 /?!
精度是—10_6[^能用Fortran的内部函数EXP(x)]; (3)计算sinh(x)= n\
PROGRAM MAIN
IMPLICIT NONE
INTEGER N,X
REALM
PRINT*;请输入X值「
READ*,X
M=SINH(X)
PRINT*,SINH(X)二;M
CONTAINS
FUNCTION SINH(X)
IMPLICIT NONE
INTEGER I,X,N
REAL A,B,C,SINH
1=1
A=X/I
DO WHILE (A1.0E-6)
C=l+A
1=1+1
A=A*(X/I)
END DO
SINH=(C-(l/C))/2
END FUNCTION
END
4、编写一程序用Euler法求解微分方程^- = y2-x2 ,当x=0时,y二1.0。试求出 dx
x=0.1,0.2,0.3,0.4....,1.0 时的 y 值。算法如下:
Euler法求解y=/(兀,y(Q),定解条件:x = x0, y = y()。取向前差分,
令 丁 =;(儿+1一儿),h = xM+1 - xz,
h
得yw+i =儿+力* /(兀,儿)+。(胪)
/(兀0,儿)n //(Xl’yjn 歹2 …n yn
PROGRAM MAIN
IMPLICIT NONE
REAL X,Y
INTEGER I
Y=1.0
X=0
DO 1=1,10
Y=Y+0」*(Y*Y-X*X)
X=X+0.1
PRINT*;X=,,X;Y=\Y
END DO
END
您可能关注的文档
最近下载
- 销售岗位年度述职报告2022(7篇).docx VIP
- (起重机)设备维修保养验收记录.pdf VIP
- 山东科技大学2020-2021学年第1学期《高等数学(上)》期末考试试卷(A卷)及标准答案.pdf
- 河南省濮阳市2024-2025学年七年级上学期期末考试英语试题(含答案).docx VIP
- 2025年糖尿病科护士工作总结及2026年工作计划.docx
- UL923标准中文版-2019微波炉炊具第七版.docx VIP
- 2024-2025学年北京海淀区五年级(上)期末英语试卷.pdf
- 中国国家标准 GB/T 15114-2023铝合金压铸件.pdf
- 三年级数学上册第八单元分数的初步认识专项训练——作图题.docx VIP
- (2025年)电大《中国古代文化常识》形考任务及考题库答案.docx VIP
原创力文档


文档评论(0)