- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Visual Fortran90 第四章 节 选择结构程序设计 FORTRAN90程序设计 .ppt
INTEGER::cj READ*,cj IF (cj=80) PRINT*, A IF (cj =70.AND.cj80) PRINT*, B IF (cj =60.AND.cj70) PRINT*, C IF (cj60) PRINT*, D END A: cj=80 B: 70=cj80 C: 60=cj70 D: cj60 方法2:逐次二分,转化为块IF结构嵌套 IF结构的任一语句块中都可以嵌入另一个结 构,但必须是整个结构完整的嵌入,绝不能跨 越两块。 为了清晰区分内外层结构,一般内层结构要比外层结构缩进几格,即代码写成“锯齿形”,也称“嵌套型”。 例将上例改写: IF (cj=80) THEN print*, “A” ELSE IF (cj =70) THEN print*, “B” ELSE IF (cj =60) THEN print*, “C” ELSE print*, “D” ENDIF ENDIF ENDIF A: cj=80 B: 70=cj80 C: 60=cj70 D: cj60 在某些场合,IF结构的嵌套是必须的; 但嵌套过多容易出错,也不易维护,因此应尽量减少嵌套的层次; 方法是把条件分细,列成多条ELSEIF语句,ELSEIF结构为: Elseif 结构: IF(e1)THEN block1 ELSEIF(e2)then block2 ELSEIF(e3)then block3 -------- ELSE block n ENDIF e1 e2 e3 block1 block2 block3 T T T F F F 执行过程: 计算e值是否成立: 真 相应的block,接着执行ENDIF下一个语句,转向出口,即使还有满足条件的语句块,也不予执行; 假 下一个elseif条件语句 所有条件均不成立 else后的Block ENDIF下一个语句 IF (cj =80 ) THEN print*,“A” ELSE IF (cj =70 ) THEN print*, “B” ELSE IF (cj =60) THEN print*, “C” ELSE print*, “D” END IF 用ELSEIF语句 只有一个endif 结构简洁. A: cj=80 B: 70=cj80 C: 60=cj70 D: cj60 4.3.3 IF结构的取名 IF结构可:无名或有名 IF结构的取名与变量的取名方法相同 IF结构名:IF (e1) THEN 块1 ELSE IF (e2) THEN [IF结构名] 块2 … ELSE IF(en) THEN [IF结构名] 块n ELSE [IF结构名] 块n+1 END IF IF结构名 同一IF结构中的结构名一定要一致! 例: 假设IF结构名为FIRST,则入口语句为: FIRST:IF (e1) THEN 出口语句为: END IF FIRST 注意: 入口、出口写结构名时,其结构名应该一致。 IF结构名与入口语句间要用冒号分隔,出口语句(ENDIF语句)与结构名之间要空1格,不能有冒号。 ELSEIF语句与ELSE语句后可以写结构名,也可以不写,如果写,其结构名一定要与入口语句处的结构名一致。 例:计算y=f(x)+g(x) f(x)=x2-16 1+ ex+1,f(x)0 g(x)= +25 ,f(x)=0 0 ,f(x)0 分析:1.通过表达式计算f 注:f 与f(x)的区别 2.计算g 3.f +g PROGRAM MAIN REAL::X,F,G READ*,X F=X**2-16 first: IF (F0) THEN G=1+EXP(X+1) ELSE next: IF
文档评论(0)