fortran程序设计第5章.pptVIP

  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文档。上传文档
查看更多
[例5.15]用公式?2/6=1/12+1/22+1/32+…+1/N2求?的近似值。N由键盘输入 READ *, N SUM=0.0 I=1 10 IF (I .LE. N) THEN TERM=1.0/(I*I) SUM=SUM+TERM I=I+1 GOTO 10 END IF PI=SQRT(6.0*SUM) PRINT *, ‘PI=’, PI END 5.4 直到型循环的实现 在FORTRAN中实现直到型的方法有2: 用UNTIL语句 用逻辑IF语句 5.4.1 用UNTIL语句实现直到型循环 格式: DO S1,UNTIL (条件) 循环体 标号S1 CONTINUE 注意:UNTIL (条件)虽然写在循环的第一个语句,但它却在执行终端语句时进行判断条件的。 [例5.17]求5! T=1.0 I=2 DO 10, UNTIL (I .GT. 5) T=T*I I=I+1 10 CONTINUE PRINT *, T END [例5.18]求2000~2500年之间的所有闰年。若能被4整除,不能被100整除,则输出 是闰年。若能被100整除,又能被400整除,输出是闰年 INTEGER YEAR YEAR=2000 DO 100, UNTIL (YEAR .GT. 2500) IF (MOD(YEAR, 4) .EQ. 0) THEN IF (MOD(YEAR, 100) .NE. 0) THEN PRINT *, YEAR ‘ IS A LEAP YEAR’ ELSE IF (MOD(YEAR, 400) .EQ. 0) THEN PRINT *, YEAR, ‘ IS A LEAP YEAR’ ELSE PRINT *, YEAR, ‘ IS NOT A LEAP YEAR’ END IF ELSE PRINT *, YEAR, ‘ IS NOT A LEAP YEAR’ END IF Y=Y+1 100 CONTINUE END 5.4.2 用逻辑IF语句实现直到型循环 若不能用UNTIL语句,则可以用逻辑IF语句实现直到型循环。其形式可以表示为: 标号S1 循环体 IF (逻辑表达式) GOTO S1 [例5.19]求1-1/2+1/3-1/4+……+1/99-1/100 INTEGER SIGN SUM=1.0 DENO=2.0 SIGN=1 10 SIGN=(-1)*SIGN TERM=SIGN/DENO SUM=SUM+TERM DENO=DENO+1 IF (DENO .LE. 100.0) GOTO 10 PRINT *, SUM END [例5.20]判素数 INTEGER W READ *, N W=0 I=2 J=SQRT(REAL(N)) 10 R=MOD(N, I) IF (R .EQ. 0) THEN W=1 ELSE I=I+1 END IF IF (I .GT. J) .OR. (W .NE. 0) THEN ELSE GOTO 10 END IF IF (W .EQ. 0) THEN PRINT *, N, ‘ IS A PRIME NUMBER.’ ELSE PRINT *, N, ‘ IS NOT A PRIME NUMBER.’ END IF END [例5.21]Fibonacci数列问题 问题:某人第一个月有一对兔子,假定到第三个月时这对兔子会产下一对小兔子。以后每月都生一对小兔子。而小兔子生下后到第三个月又会生一对小兔子。以此规律繁殖。显然,第一个月,第二个月时只有一对兔子,第三个月共有两对(生了一对),第四个月有3对(老的再生下一对),第五个月有5对(老的已生2对,小的生1对),如此繁殖下去。 归纳数列的规律:它前两个数为1,1,从第三个数开始每个数是其前面两个数之和,即1,1,2,3,5,8,13,21,34,……。 请编程打印出此数列的前面若干个数,使每一个数都不超过100000,如果到第30个数仍未超过10万,则打印30个数即可。 递推关系式为: Fn=Fn-1+Fn-2 (n2) 初始条件为: F1

文档评论(0)

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

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

1亿VIP精品文档

相关文档