fortran第5章(循环

fortran第5章(循环

ID:39327142

大小:519.60 KB

页数:63页

时间:2019-06-30

fortran第5章(循环_第1页
fortran第5章(循环_第2页
fortran第5章(循环_第3页
fortran第5章(循环_第4页
fortran第5章(循环_第5页
资源描述:

《fortran第5章(循环》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章循环结构的实现5.1GOTO语句实现循环GOTO语句的一般形式为:GOTO(语句标号)在一个基本结构内部可以使用GOTO语句。如果在逻辑IF语句中使用GOTO语句就可以实现有条件的循环,循环操作能够在一定条件下结束。在程序中存在两类循环:无条件的循环:无条件循环是无休止地执行一个程序段,有条件的循环:有条件的循环是在满足一定条件时才执行循环。GOTO语句实现无条件的循环:1FORTRAN程序中有条件的循环的3种循环类型:1.DO型循环(用循环语句实现)2.当型循环(用DOWHILE语句)3.直

2、到型循环(用IF语句)25.2用DO语句实现循环(循环次数已知的循环)当需要执行的循环次数为已知时,用DO语句实现循环比较方便。它的一般形式为:例如:DO10N=1,100,1T=N/2.010PRINT*,TDO[[标号][,]]循环变量=初值式E1,终值式E2[,增量式E3]3循环变量的初值、终值和步长可以为正或负。初值、终值可以为零。但步长不应为0,否则循环变量的值永远不会超过终值,从而陷入死循环。说明:循环变量是整型的例:D0I=1.5,3.6,1.2循环次数不应该是INT((3.6-1.5

3、+1.2)/1.2)=2,而应当先将实型量转化为整型量,即变成相当的循环语句DOI=1,3,1其循环次数为3次而不是2次。例:对于D0k=-1,-3,-1其循环次数=INT((-3+1-1)/(-1))=3次k按序分别取值为:-1,-2,-3。如果循环变量的类型和初值、终值和步长的类型不一致,则按赋值的规则处理,即需先将初值、终值和步长的类型转化成循环变量的类型,然后进行处理。4循环变量是实型的例:D0X=0.0,50.0,0.1理论循环次数=INT(50.1/0.1)=501但实际上在许多计算机上

4、它只执行500次循环。原因是实数在内存中的误差使得增量值不是准确的0.1,由于循环的误差积累,到执行完500次循环后X的值可能已超过50.0,因而停止执行循环。改用整型循环变量时,则循环改写为:D0I=0,500;X=I/10。例:D0X=1.5,3.6,1.2它的循环次数应为INT((3.6-1.5+1.2)/1.2)=2次X取值分别是1.5,2.7。由于实型数在运算和存储时有一些误差,因而循环次数的理论值与实际值之间会有一些差别。所以应该避免使用实型的循环变量,用整型循环变量计算出的循环次数是绝

5、对准确的。5DO循环的执行过程为:(1)计算表达式E1,E2,E3的值,并将它们转换成循环变量的类型。(2)循环变量的初值取E1的值。(3)循环次数r=INT(E2-E1+E3)/E3).如:DO10I=2,20,2r=(20-2+2)/2=10r为0的情况:E1>E2,E3>0如:DO10K=10,5,2E1r(7)返回(4)6例:DO20I=1,5,2N=I*I20PRINT*,I,N经计算:r=

6、(5-2+2)/2=3,各有关变量的值在各次循环中变化的情况如下表:终止循环的条件:循环变量的值超过终值。7继续语句(CONTINUE语句)它是一个可执行语句,但它不产生任何机器操作。一般把它用做循环的终端语句。注意:循环的终端语句不能是GOTO,块IF,ELSEIF,ENDIF,STOP等语句。它的形式为:CONTINUE8循环终端语句循环终端语句为一般的执行语句。F90规定:循环终端语句可以是除了GOTO、块IF、CASE、CYCLE、DO、ELSE、ELSEIF、ENDIF、END、ENDSE

7、LECT、EXIT、SELECTCASE、STOP和RETURN语句以外的任一可执行语句,如打印语句、赋值语句、输入语句、逻辑IF语句等都可以作为终端语句。特殊的循环终端语句是:ENDDO(常用于无语句标号时)CONTINUE(常用于有语句标号时)新编写的程序应该尽量使用以ENDDO结束的块DO构造。9例1.一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第20次着地时,共经过了多少米?90H=100S=0DOI=1,20S=S+HH=H/2.0ENDDOWRITE(*,*)

8、’S=‘,SEND0177H=100S=0DO10I=1,20S=S+HH=H/2.010CONTINUEWRITE(*,*)’S=‘,SEND10有关DO循环的一些规定1.循环变量在循环体内不能再被赋值.例如,下面用法是错误的:DOK=10,100,2K=K/2WRITE(*,*)KENDDO112.循环变量的初值E1,终值E2和增量E3在执行循环体期间不能改变.下面用法是错误的.M2=100DOI=1,M2M2=50ENDDO3.循环的次数是根据循环变量的初值、终

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。