- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 循环结构程序设计 用DO语句实现循环 用DO WHILE语句实现循环 几种循环组织方式的比较 循环的嵌套 循环结构的程序设计方法 计算处理方法和处理过程完全一样,只是数值变化,重复地运行某个语句块。这个语句块被重复执行的情形,称为循环。 一、用DO语句实现循环 1.DO循环一般格式 DO i=e1,e2[,e3] …(循环体) END DO 其中i代表循环变量,它可以是整型或实型变量。e1、e2、e3称为循环参数表达式,分别表示循环变量的初值、终值和步长。循环体是在循环过程中被重复执行的语句组。 例1 INTERGER:: S=0,MARK,I REAL AVE S=0 DO I=1,10 READ *,MARK S=S+MARK END DO AVE=S/10.0 WRITE(*,*)‘AVE=‘,AVE END 2.DO循环执行过程 阅读程序 M=3 DO K=1,M M=5 WRITE(*,*)K,M END DO WRITE(*,*)K,M END 该程序的输出结果是: 例2 二、用DO WHILE语句实现循环 对于循环次数确定的循环问题使用DO循环是比较方便的。但是,有些循环问题事先是无法确定循环次数的,只能通过给定的条件来决定是否继续循环。这时可以使用DO WHILE语句来实现循环。 1. DO WHILE循环的一般格式 DO WHILE (逻辑表达式) 循环体 END DO 2.DO WHILE循环的执行过程 例4.9 求 例4.10 已知 求 y3时的最大n值及对应的y值 三、循环的嵌套 即多重循环结构。 例8 求[100,1000]以内的全部素数。 1.判断素数 2.用穷举法逐一验证[100,1000]是否为素数 阅读程序 N=0 DO K=3,5 DO J=2,K IF(MOD(K,J)==0) EXIT N=N+J END DO END DO WRITE(*,*) N END 运行上述程序后,输出的N的值为 A)2 B) 9 C) 11 D) 16 二重嵌套的执行过程 1.当控制进入到外层DO结构后,外层循环变量得到初值,计算出外层DO结构的循环次数Ri。 2.若Ri0,则结束外循环的执行;若Ri0,执行外层结构的循环体内的语句。 3.当遇到内层DO语句时,控制进入内层DO结构;内层循环变量得到初值,算出内层DO结构的循环次数Rj。 4.若Rj0,顺次执行内循环的各语句;当Rj0时,从正常出口退出内循环。 5.继续执行内循环DO结构后面的外循环体内的其它语句。 6.外层DO结构循环变量加一个步长,循环次数Ri减1。 7.重复2-6步的算法,直到Ri等于0,结束全部循环。 * * * * 读入某战士十次打靶的成绩,计算其平均成绩。 计算e1、e2、e3的值 e1→i 计算循环次数r r=0? 执行循环体 i+e3→i r-1→r END DO下面的语句 Y N DO循环的执行次数 r=MAX(INT((e2-e1+e3)/e3) ,0) 练习: 1、判断 (A) DO循环的循环控制变量不能在循环体内赋值 (B) DO循环的控制变量表达式,终值和步长可以是整型和实型 2、 有如下循环入口语句 INTEGER I DO I=0.5,-0.5,-1.0 该循环的执行次数为____________。 (A) 0 (B) 1 (C) 出错 (D) 无限 输出“不是” 输出“是” 相等吗? N SUM=0 SUM和M Y 因子吗? N SUM=SUM+I 当I∈[1, M/2]时 I为M的 Y 输入一个整数M 一个整数的因子(不包括该数本身)之和等于它本身,则称该数为完数。例如6的因子有1,2,3,且1+2+3=6,因此6是完数。输入一个整数,判断它是否完数 F1=F F2=F1 输出F 当I≤30时 I=3 F=F1+F2 F1=1,F2=1 例3? Fibonacci数列定义如下: F1=1 F2=1 Fn=Fn-1+Fn-2 (n2) 求Fibonacci数列的前30项。 ? 例4 所谓“水仙花数”是指一个三位整数,其各位数字立方和等于该数本身。例如,153就是一个水仙花数。输出全部“水仙花数”。
文档评论(0)