- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环结构的实现课件.ppt
第五章 循环结构的实现 本章重点: 1.DO循环。 2.当型循环的实现。 3.直到型循环的实现。 第五章 循环结构的实现 〖用GOTO语句实现循环〗 〖用DO语句实现循环〗 〖当型循环的实现〗 〖直到型循环的实现〗 〖循环形式的关系和比较〗 №5.1 用GOTO语句实现循环 GOTO的形式: GOTO〈标号〉 例: 读入30个学生学号和成绩,并打印出来 N=1 100 READ(*,*)NUM,GRADE WRITE(*,*)NUM,GRADE N=N+1 IF(N.LE.30) GO TO 100 END 说明:由于GOTO语句破坏了语句顺序执行的正常状况, 不符合结构化原则,所以一般不提倡使用它。 GOTO语句举例 键盘输入10个数,输出最大值 №5.2 用DO语句实现循环 DO语句的一般形式为: DO 标号 循环变量=表达式1,表达式2,[表达式3] 或写成:DO S [,] V= e1, e2, [e3] 说明: 1.方括号内为可选项,在写该语句时,若[表达式3]不写,则循环变量的增量为1(步长值); №5.2.1 DO语句使用说明 2.循环变量初值、终值和步长可以分别是常量、变量或表达式; 3.循环次数可以从循环初值、终值和步长计算出来: r=int((e2-e1+e3)/e3); 4. e3不应为0,因为在求循环次数r时,e3为分母,r会趋 向无穷大; 5. e1,e2,e3的值可以为正或负,e1,e2的值可以为0; 6.当r0时,按r=0处理,即一次也不执行循环; 7. 如果循环控制变量的类型和e1,e2,e3的类型不一致时,则按赋值规则处理,即将e1,e2,e3的类型化成循环控制变量的类型,然后进行处理。 8.循环控制变量和循环初值、终值 、步长可以是整形、实型或双精度型。 №5.2.2 循环的执行过程 1.计算e1,e2,e3表达式的值,并将他们转换成循环控制变量的类型; 2.将初值e1赋给循环变量v,它相当于执行一个赋值语句:v=e1; 3.计算应循环的次数r; 4.检查循环次数,若r≤0则跳过循环体执行下一行语句,r0执行循环体; 5.执行终端语句时,循环变量v增值,v=v+e3; 6. 循环次数r减1,r=r-1,计算出还应执行的循环次数 7.返回4,重复执行4,5,6,7。 ※注※ 循环体不包括循环语句,DO语句只执行一次而不是执行r次。 №5.2.3 循环终端语句和继续语句 1、循环终端语句可为一般的可执行语句; 2、为了使循环起止范围清晰,通常用继续语句作为终端语句。继续语句的形式为: 标号 CONTINUE 说明: 1.继续语句本身不进行任何机器操作,只是将流程转 到逻辑上的下一个语句; 2.循环范围清晰容易识别,且不必记哪些语句不能作 终端语句。 3.继续语句一般与DO语句配对使用形式为: DO 标号,I=初值,终值,步长 循环体 标号 CONTINUE №5.2.4 DO循环的一些规定 1.循环变量可以在循环体中被引用,但不应再被赋值; 2.循环的次数,在执行循环体期间是确定不变的; 3.可以用转移语句从循环体内转到循环外,也可在循环内转移,但不允许从循环外转到循环体内; 4.未执行完应执行的循环次数而脱离循环的称为“非正常出口”,执行完全部应执行的循环次数而脱离循环称“正常出口”。 DO 循环应用举例 例1: 读入30个学生学号和成绩,并 打印出来 DO 10,N = 1, 30, 1 READ(*,*) NUM,GRADE 10 WRITE(*,*) NUM,GRADE END 例2:求5!的值 INTEGER FACT FACT = 1 DO 10
文档评论(0)