FORTRAN90第二章选择结构程序设计.ppt
《FORTRAN90第二章选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《FORTRAN90第二章选择结构程序设计.ppt(32页珍藏版)》请在三一办公上搜索。
1、2.1 关系表达式与逻辑表达式,2 选择结构程序设计,2.2 块IF结构与IF语句,2.3 CASE结构,2.4 选择结构程序设计举例,2.5 小结,2.1关系表达式与逻辑表达式,算法中经常要根据某种逻辑判断的结果来决定下一个步骤应该做什么。这就是带分支选择的算法。选择结构是结构化算法中一种基本结构。实现选择结构的前提是进行关系运算和逻辑判断。,2.1.1 关系表达式,算术量A与B之间存在六种关系:AB AB AB A=B AB A(.GT.)表示=(.GE.)表示/=(.NE.)表示=(.EQ.)表示=(.LE.)表示(.LT.)表示()中是早期版本的写法,不提倡使用。,格式:E1关系运算符
2、 E2 E1与E2为算术量或字符型的量,关系表达式的值是逻辑量:真或假,算术运算符的优先级别高于关系运算符:3+5.GT.SQRT(49.0)-3=8.GT.4,真,实数的运算与存储都有误差,对实数进行=或/=运算时要特别当心。一般用两者之差的绝对值作为判断的依据。用ABS(A-B)1E-6来代替A/=B对于整型数,可直接用=,/=来判断.,2.1.2 逻辑表达式,逻辑型变量:可以将关系表达式的结果赋值给一个变量,该变量的值只能是真或假,类型是逻辑型 LOGICAL A,B,L1 A=3+5.GT.SQRT(49.0)-3 逻辑赋值语句,FORTRAN用五种逻辑运算符表示布尔运算:.NOT.逻
3、辑非.AND.逻辑与.OR.逻辑或.EQV.逻辑等.NEQV.逻辑不等.NEQV.也可用.XOR.表示。布尔运算按照数学上的规定进行。要在理解的基础上掌握逻辑运算的“真值表”,判断几个条件是否同时满足,数学上可以用布尔运算,FORTRAN用逻辑表达式表示。,逻辑表达式的格式:E1逻辑运算符 E2 E1与E2为逻辑型的量,可以是:逻辑变量、逻辑常量、关系表达式、逻辑表达式、整型量,逻辑表达式运算次序:括号函数算术表达式关系表达式逻辑运算同一级别的运算,从左至右进行,逻辑运算符优先级别:.NOT.高于.AND.高于.OR.高于.EQV.和.NEQV.,逻辑表达式的值也是逻辑量:真或假,当逻辑运算符
4、作用于整型量时,执行整数的按位操作,结果是一个整数而不是逻辑型数据。3.XOR.5=6 3.and.5=5 3.or.5=7,五种逻辑运算符中,逻辑非、逻辑与、逻辑或是基本的。其它两种可以由它们组合得到,例如:.EQV.B 等价于(注意逻辑运算符两边小圆点)A.AND.B.OR.NOT.A.AND.NOT.B.NEQV.B 等价于,关系表达式不可连写:BC 不能写成 A.LT.B.LE.C 须用逻辑表达式,2.2块IF结构与IF语句,FORTRAN 90有三种方法实现选择结构:IF语句、块IF结构和CASE结构。,4.2.1逻辑IF语句,4.2.2 块IF结构,2.2.1 逻辑IF语句,逻辑I
5、F语句也称为行IF语句。格式:IF(E)可执行语句,例:IF(X0)PRINT*,XIF(X0.and.Y0)PRINT*,第一象限,逻辑IF语句本身仅仅是一条语句,当条件为真时,也只执行一条语句,而不可能执行多条语句,与下面要介绍的块IF有明显的区别。,IF(X=0)Y=X+5,也可写为,Y=XIF(X=0)Y=X+5,而IF(X=0)Y=X+5Y=X,是错误的.,2.2.2 块IF,2.2.2 块IF,IF(E)THEN 一条或多条执行语句ELSEIF(E)THEN 一条或多条执行语句ELSEIF(E)THEN 一条或多条执行语句ELSE 一条或多条执行语句 ENDIF,块if语句和end
6、 if 语句分别标志块IF的开始和结束。每个块IF都有且仅有一条块if语句、end if 语句,块IF中每个块都可以省略,表示那种情况下什么也不做。,每个块IF至多有一条ELSE语句和一个ELSE块。没有ELSE块的时候,ELSE语句可有可无。,一个块IF中可以没有也可以有一条或多条Else if语句,省略ELSEIF块时,Else if语句可有可无。,被省略的块也可以理解为空块。,块IF中最多只有一个块被执行,在省略ELSE语句的情况下,有可能什么也不做。,2.2.2.1 块IF的几种形式,因各个块都可省略,块IF常以较简单的形式出现,2.2.2.2 块IF编程例题,例:输入三条边的长度,计
7、算三角形面积。,简要程序Read(*,*)A,B,CIF(A.LE.0.OR.B.LE.0.OR.C.LE.0)THENSTOP 输入数据错误,边长必须为正数ENDIFIF(A+B.LE.C.OR.A+C.LE.B.OR.B+C.LE.A)THEN PRINT*,不能构成三角形!STOP 12345ELSE S=(A+B+C)*0.5 S=SQRT(S*(S-A)*(S-B)*(S-C)PRINT*,三角形边长:,A,B,C,面积:,SENDIFEND,例:计算分段函数的值,0 x-102x+20-10 x 020 0 x 2030-0.5x 20 x 4050-x 40 x 500 x 50
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FORTRAN90 第二 选择 结构 程序设计
链接地址:https://www.31ppt.com/p-6505862.html