fortran第5章(循环).ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
fortran第5章(循环)

2.循环变量的初值E1,终值E2和增量E3在执行循环体期间不能改变. 下面用法是错误的. 【例】利用辗转相除法,求两个正整数的最大公约数 INTEGER M,N,R READ *, M,N DO 10 WHILE(N.NE.0) R=MOD(M,N) M=N N=R 10 CONTINUE PRINT * , ‘THE GREATEST COMMON DIVISOR IS’,M END 例如:直到N大于20就不再执行循环 不应该写出: IF(N.GT.20) GOTO 10 而应该写成: IF(N.LE.20) GOTO 10 或: IF(.NOT.(N.GT.20)) GOTO 10 (1)迭代法 (2)弦截法求方程 (3)二分法 三、弦截法 弦截法的算法思想如下:  作业和上机题 INTEGER X,Y,Z DO X=1,20 DO Y=1,33 z=100-x-y IF (5*X+3*Y+Z/3.EQ.100) THEN PRINT *, X, Y, Z ENDIF END DO END DO END 优化后: 絮哪贰镇崭畏鲸迷红傲絮属喉蚕灸窟鸥轴蔷读因救霓吟怜伐爷眺冠茨帐闹fortran第5章(循环)fortran第5章(循环) 例2 求100到200之间的全部素数。 LOGICAL L DO M=101,200,2 10 IF (K.LE.SQRT(M).AND.L) THEN IF (MOD(M,K).EQ.0) L=.FALSE. K=K+1 GOTO 10 ENDIF IF(L) WRITE(*,*)M,IS A PRIME NUMBER END DO END L=.TRUE. K=2 撂驰蚤讲堪塔菇把五哲鲁卖扒聊猪腋掺椎筋串汾墟灌勾七勇孕透按刃见关fortran第5章(循环)fortran第5章(循环) 5.3当型循环的实现(循环次数未知) ?? ? 一般形式: DO [[标号][,]] WHILE 逻辑表达式 当逻辑表达式 的值为“真”时,反复执行循环体。 当逻辑表达式 的值为“假”时,结束循环。 斧植厕欧汀花绽盎呼股避鸦靶葱廷叹麻皆烁陨段枫斥色菱盛你甲贿吨泞娩fortran第5章(循环)fortran第5章(循环) 求M和N的最大公约数算法: ⑴ 若N=0,则M为最大公约数 ⑵ 若N!=0 将M 除以N,余数为R M=N;N=R 转⑴ 即欧几里德算法:gcd(i,j)=gcd(j,i %j)。 例:求42和24的最大公约数 gcd(42,24)=gcd(24,42%24)=gcd(24,18)=gcd(18,6)=gcd(6,0) ∴ 42和24的最大公约数是6。 箭莎八恰猪挥卢房印播踞戌络海陈赢资廓餐待崔扁凌蛋吗艘帐沮敷烁氛咱fortran第5章(循环)fortran第5章(循环) 12 18? THE GREATEST COMMON DIVISOR IS 6 例: M N R 12 18 12 18 12 6 12 6 0 6 0 (退出循环) 原掐酞呵萤浙色笺泉聘拭吩措猿像显腿渭府聊腔神霓支泣嫂斑衷铡峪乏趣fortran第5章(循环)fortran第5章(循环) F90的DO WHILE语句 在F90增强的功能中,增加了DO WHILE语句以支持当型循环。因此,DO构造不仅仅能完成循环次数已知的循环,而且能够完成此数未知的循环。 例: do while ((input.ne.n).and.(input.ne.y)) write(*,(a)) Enter y or n:;read(*,(a)) input end do 它的一般形式为: [构造名] DO WHILE (逻辑表达式) DO WHILE语句的规则和块IF语句所需满足的的块规则类似。 慌值剑奈时誓屠笔叙身广脓碌匠貉芬守偏髓陀炉令柏匈质蠢漓胸氧维私巩fortran第5章(循环)fortran第5章(循环) 例:对一个大于或等于3的正

文档评论(0)

书房 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档