fortran语言第3章(共8章)

fortran语言第3章(共8章)

ID:22022623

大小:2.48 MB

页数:26页

时间:2018-10-21

fortran语言第3章(共8章)_第1页
fortran语言第3章(共8章)_第2页
fortran语言第3章(共8章)_第3页
fortran语言第3章(共8章)_第4页
fortran语言第3章(共8章)_第5页
资源描述:

《fortran语言第3章(共8章)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、IF结构除了能够单独使用外,结构中的任意一个语句块里都可以再次嵌入另一个结构。被嵌入的结构可以是另一个IF结构,也可以是另一些形态、功能不同的结构,如CASE结构、DO结构等。前提是必须将整个结构完整地嵌入到IF结构的某一个语句块中,不允许被嵌入结构的一部分在一个语句块中,另一部分在别的语句块或是不在被嵌入的IF结构中,即被嵌入的任何结构不允许跨越两个独立的语句块。二、块IF的嵌套第二节块IF选择结构IF语句嵌套的形式可以表示如下:[构造名1:]IF(逻辑表达式1)THEN[构造名2:]IF(逻辑表达式2)THE

2、N[构造名3:]IF(逻辑表达式3)THEN……ENDIF[构造名3]……ENDIF[构造名2]……ELSE……ENDIF[构造名1]第二节块IF选择结构一个嵌套分支结构可使用若干个块IF语句,相应就有若干个ENDIF语句,每个块IF语句还可能使用一些ELSEIF语句、ELSE语句,这就可能构成一个复杂的IF-ELSEIF-THEN-ELSE结构。当嵌套层次过多时,往往一时难以找到同一层的块IF中的各语句,一般可按以下方法确定:(1)从最内层的块IF语句开始,向下找到离它最近的ENDIF语句,将它们用线括起来,这

3、就是同一层次的块IF。(2)由内向外重复这一个过程,直到遇见最外层块IF语句和ENDIF语句为止。(3)在书写嵌套分支结构时采取缩进方式进行程序书写,程序的嵌套层次就容易确定。例、给定一个年份,判断是否为闰年。分析:闰年的判断条件是能被4整除,但不能被100整除或能被100整除且能被400整除。Y不能被4整除TF打印Y不是闰年Y不能被100整除T打印Y是闰年FY能被400整除打印Y是闰年TF打印Y不是闰年例、给定一个年份,判断是否为闰年。分析:闰年的判断条件是能被4整除,但不能被100整除或能被100整除且能被4

4、00整除。If(MOD(y,4)==0)ThenIf(MOD(y,100)==0)ThenIf(MOD(y,400)==0)Thena=“TRUE”!既能被100又能被400整除的数Elsea=“FALSE“!能被100整除但不能被400整除的数EndIfElsea=“TRUE“!能被4整除但不能被100整除的数EndIfElsea=“FALSE“!不能被4,100和400整除的数EndIf使用块IF嵌套应注意以下几点:1、不允许从块IF语句外控制转移到块IF语句的语句体内的任意位置。2、允许通过控制转移语句(如

5、GOTO语句)从块IF语句内控制转移到块IF语句外。3、在嵌套的块IF语句中,内层的块IF不能和外层的块IF相互交叉。第二节块IF选择结构IF结构除了可以实现二义判断之外,还可以实现多重判断。此时,IF结构中需加入新的元素----ELSEIF语句。方法1:转化为单分支,逻辑IF语句并列方法2:逐次二分,转化为块IF结构嵌套例:将百分制转换成等级制,根据成绩x输出A:x>=90B:80=

6、AD(*,*)XIf(X>=90)WRITE(*,*)"优秀!"If(X>=80.AND.X<90)WRITE(*,*)"良好!"If(X>=70.AND.X<80)WRITE(*,*)"中等!"If(X>=60.AND.X<70)WRITE(*,*)"及格!"If(X<60)WRITE(*,*)“不及格!"上述代码段中有5个IF语句。一个学生的得分只能是上述5种情况当中的一种,但程序仍然要做5次判断,所以算法效率较低。下面用ELSEIF块重写上述代码段。第二节块IF选择结构方法2:执行左侧代码段时,一旦发现某个

7、逻辑条件为“真”,就不会再去判断其他的逻辑条件。最不利情况下(如50分),系统才要判断4次。此算法效率明显高于前一种。WRITE(*,*)"请输入成绩:“READ(*,*)aIf(a>=90)ThenWRITE(*,*)"优秀!"ElseIf(a>=80)ThenWRITE(*,*)"良好!"ElseIf(a>=70)ThenWRITE(*,*)"中等!"ElseIf(a>=60)ThenWRITE(*,*)"及格!"ElseWRITE(*,*)“不及格!"EndIfEndIfEndIfEndIfWRITE(*,

8、*)"请输入成绩:“READ(*,*)XIf(X>=90)ThenWRITE(*,*)"优秀!"ElseIf(X>=80)ThenWRITE(*,*)"良好!"ElseIf(X>=70)ThenWRITE(*,*)"中等!"ElseIf(X>=60)ThenWRITE(*,*)"及格!"ElseWRITE(*,*)“不及格!"EndIf下面给出ELSEIF块更一般的构造形

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

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

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