西安交大fortran上机作业.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档