《改变程序流程》

上传人:资****亨 文档编号:214529504 上传时间:2021-11-23 格式:PPT 页数:32 大小:167.50KB
返回 下载 相关 举报
《改变程序流程》_第1页
第1页 / 共32页
《改变程序流程》_第2页
第2页 / 共32页
《改变程序流程》_第3页
第3页 / 共32页
《改变程序流程》_第4页
第4页 / 共32页
《改变程序流程》_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《《改变程序流程》》由会员分享,可在线阅读,更多相关《《改变程序流程》(32页珍藏版)》请在金锄头文库上搜索。

1、第五章第五章改变程序流程改变程序流程.v 结构化编程方法概述v 选择结构v 异常的程序流程v 循环结构内容提要内容提要.结构化编程方法结构化编程方法vv基本程序结构基本程序结构A AB Bl 顺序结构顺序结构.l l 选择结构选择结构条件条件A AB B结构化编程方法结构化编程方法.l l 循环结构循环结构条件条件A ATrueTrueFalseFalse条件条件A ATrueTrueFalseFalse当型循环结构当型循环结构直到型循环结构直到型循环结构结构化编程方法结构化编程方法.l l gotogoto 语句语句( (不提倡使用不提倡使用) ) 例:例: 100 100 printpri

2、nt *, *, 请输入一个实数请输入一个实数 readread *, a *, a printprint *, a = , a *, a = , a gotogoto 100 100结构化编程方法结构化编程方法.关系运算符关系运算符英语含义英语含义所代表的数学符号所代表的数学符号.GT.GT.GE.GE.LT.LT.LE.LE.EQ.EQ.NE.NE. = =/=/=Greater ThanGreater ThanGreater than or Equal toGreater than or Equal toLess ThanLess ThanLess than or Equal toLes

3、s than or Equal toEQual toEQual toNot Equal toNot Equal to ( (大于大于) ) ( (大于或等于大于或等于) ) ( (小于小于) ) ( (小于或等于小于或等于) ) ( (等于等于) ) ( (不等于不等于) )结构化编程方法结构化编程方法vv判断语句的构成判断语句的构成l l 关系表达式关系表达式.逻辑运算符逻辑运算符含义含义算例算例例子含义例子含义.AND.AND.OR.OR.NOT.NOT.EQV.EQV.NEQV.NEQV.(.XOR.XOR.)与与或或非非同或同或异或异或A .AND. BA .AND. BA .OR.

4、BA .OR. B.NOT. A.NOT. AA .EQV. BA .EQV. BA .NEQV. BA .NEQV. BA A,B B 为真时,则为真时,则 A.AND.B A.AND.B 为真为真A A,B B 之一为真,则之一为真,则 A.OR.B A.OR.B 为真为真A A 为真,则为真,则 .NOT. A .NOT. A为假为假A A和和B B值为同一逻辑常量时,值为同一逻辑常量时,A .EQV.B A .EQV.B 为真为真A A和和B B的值为不同的逻辑常量时,的值为不同的逻辑常量时, A.NEQV.BA.NEQV.B为真为真结构化编程方法结构化编程方法l l 逻辑表达式逻辑表

5、达式.运算类别运算类别运算符运算符优先级优先级括号括号( )1 1算术运算算术运算*2 2* /* /3 3单目单目 + - + -4 4双目双目 + - + -5 5关系运算关系运算.GT. .GE. .LT. .LE. .EQ. .NE.GT. .GE. .LT. .LE. .EQ. .NE.6 6逻辑运算逻辑运算.NOT.NOT.7 7.AND.AND.8 8.OR.OR.9 9.EQV. .NEQV.(.XOR.).EQV. .NEQV.(.XOR.)1010结构化编程方法结构化编程方法l l 运算优先级运算优先级.v 结构化编程方法概述v 选择结构v 异常的程序流程v 循环结构内容提

6、要内容提要.选择结构选择结构vv 块块if ifl l :if if()thenthen else else endifendif .选择结构选择结构l l : if if()thenthen else ifelse if()thenthen else ifelse if()then then else else endifendif vv if if( ) .if if() then then if if( (逻辑表达式逻辑表达式) ) then then else if else if () then then elseelse endifendif if if() end ifend i

7、f选择结构选择结构Lab1:Lab1:Lab2:Lab2:Lab2Lab2Lab1Lab1vv if if语句的嵌套使用语句的嵌套使用Lab2Lab2Lab2Lab2exam_5_1.选择结构选择结构vv select case select case (Fortran 90Fortran 90新增新增) : select caseselect case() casecase () case defaultcase default end select end select 不能出现浮不能出现浮点数点数Elcal.for、STIFFNESS.F90.选择结构选择结构xyo1if if(x .l

8、e.(x .le. 0.0) 0.0) thenthen y = 0.0 y = 0.0elseelse y = 1.0 y = 1.0endifendifprintprint *, y = , y *, y = , yy = 1.0y = 1.0if if(x .le.(x .le. 0.0) y = 0.00.0) y = 0.0printprint *, y = , y *, y = , y.选择结构选择结构vv 算术算术if if (Fortran 90Fortran 90废除废除)if if(x - 0.0) 10, 10, 20(x - 0.0) 10, 10, 201010y =

9、 0.0y = 0.0 gotogoto 30 3020 20 y = 1.0y = 1.030 30 printprint *, y = , y *, y = , y.选择结构选择结构vv 计算计算gotogoto (Fortran 95Fortran 95废除废除)gotogoto(10, 20) (x (10, 20) (x .le.le. 0.0) + 2 0.0) + 21010y = 0.0y = 0.0 gotogoto 30 3020 20 y = 1.0y = 1.030 30 printprint *, y = , y *, y = , yback3.for.T. = -1

10、.T. = -1 .F. = 0 .F. = 0 .选择结构选择结构vv 赋值赋值gotogoto (Fortran 90Fortran 90废除,废除,Fortran95Fortran95取消取消) assignassign 10 10 toto a a goto goto a, a, (10, 20)(10, 20)1010y = 0.0y = 0.0 gotogoto 30 3020 20 y = 1.0y = 1.030 30 printprint *, y = , y *, y = , y.v 结构化编程方法概述v 选择结构v 异常的程序流程v 循环结构内容提要内容提要.条件条件A

11、ATrueTrueFalseFalse条件条件A ATrueTrueFalseFalse当型循环结构当型循环结构直到型循环结构直到型循环结构循环结构循环结构.循环结构循环结构vv 计数型循环(当型)计数型循环(当型) : dodo =, enddo enddo l l 循环次数循环次数 = = maxmax( (intint( (循环终值循环终值- -循环初值循环初值) /) /步长步长+ 1, 0)+ 1, 0)l l 循环变量一般应为整型(可以用实型,但不提倡)循环变量一般应为整型(可以用实型,但不提倡).循环结构循环结构i = e1i = e1r = r = maxmax( (intin

12、t(e2-e1)/inc+1,0)(e2-e1)/inc+1,0)r .ne. 0r .ne. 0执行循环体执行循环体i = i + inci = i + incr = r - 1r = r - 1FalseFalseTrueTruei i: 循环变量循环变量e1e1:初值:初值e2e2: 终值终值incinc:步长:步长r r: 循环次数循环次数exam_5_2.l l 不允许改变循环变量不允许改变循环变量i i循环结构循环结构l l 允许改变表达式允许改变表达式e1e1,e2e2,incinc中变量的值,并且不影中变量的值,并且不影响循环次数响循环次数l l 退出循环后循环变量的值有意义退

13、出循环后循环变量的值有意义.循环结构循环结构l l dodo循环的嵌套循环的嵌套 dodo i = e1, e2 i = e1, e2, , inc inc dodo j = e1, e2 j = e1, e2, , inc inc enddoenddo enddoenddo.循环结构循环结构 dodo 10, i = e1, e2, inc 10, i = e1, e2, inc 10 10 continuecontinuel l FORTRAN 77FORTRAN 77中的中的dodo循环循环 dodo 10, i = e1, e2, inc 10, i = e1, e2, inc 10

14、10 循环终端语句可以是除了循环终端语句可以是除了GOTOGOTO、块、块IFIF、CASECASE、CYCLECYCLE、DODO、ELSEELSE、ELSE ELSE IFIF、END END IFIF、ENDEND、END END SELECTSELECT、EXITEXIT、SELECT SELECT CASECASE、STOPSTOP和和RETURNRETURN语语句以外的任一可执行语句句以外的任一可执行语句 .循环结构循环结构 dodo 10, i = e1, e2, inc 10, i = e1, e2, inc dodo 20, j = e1, e2, inc 20, j = e

15、1, e2, inc 20 20 continuecontinue10 10 continuecontinue dodo 10, i = e1, e2, inc 10, i = e1, e2, inc dodo 10, j = e1, e2, inc 10, j = e1, e2, inc 10 10 continuecontinueStiff.for.循环结构循环结构vv 条件型循环条件型循环 : dodo whilewhile() enddo enddo l l 当型当型 dodo if if() exitexit enddoenddo1010 if if() goto goto 1010

16、l l 直到型直到型.v 结构化编程方法概述v 选择结构v 异常的程序流程v 循环结构内容提要内容提要.异常的程序流程异常的程序流程vv 在选择和循环结构中不允许从结构外跳转到结在选择和循环结构中不允许从结构外跳转到结构内构内 goto goto 1010 if if() then then1010 end if end if goto goto 10 10 do do i = e1, e2, inc i = e1, e2, inc1010 enddoenddo. do do i = e1, e2, inc i = e1, e2, inc goto goto 10 10 enddoenddo10 .10 .vv 允许从结构内跳转到结构外,但不符合结构允许从结构内跳转到结构外,但不符合结构化的编程规范化的编程规范 if if() then then goto goto 1010 end if end if10 10 异常的程序流程异常的程序流程.vv 改变循环结构流程的语句改变循环结构流程的语句l l: dodo i = e1, e2, inc i = e1, e2, inc if if

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号