欢迎来到天天文库
浏览记录
ID:5398839
大小:466.00 KB
页数:58页
时间:2017-11-10
《fortran第4章(条件)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章逻辑运算和选择结构4.1关系表达式4.2逻辑表达式4.3逻辑IF语句4.4分块条件语句4.5块IF构造4.6多重选择和CASE构造a)关系运算符关系运算符就是关系比较符。Fortran中有六个关系运算符:关系运算符英语含义所代表的数学符号.GT..GE..LT..LE..EQ..NE.(F77)>>=<<====(F95)GreaterThanGreaterthanorEqualtoLessThanLessthanorEqualtoEQualtoNotEqualto>(大于)≥(大于或等于)<(小于)≤(小于或等于)=(等于)≠(不等于)4.1关系表
2、达式注意:关系运算符的两个字母(如GT,LE…)的二侧各有一个点,不要漏写。b)关系表达式关系表达式是最简单的一种逻辑表达式。其一般形式为:<算术表达式><关系运算符><算术表达式><字符表达式><关系运算符><字符表达式>算术表达式也可以是一个算术量,即为一个数值常数、数值型变量、数值函数。例:A+B<=0.→A+B.LE.0.A*B=C/D→A*B.NE.C/D注意:1)关系表达式中关系操作符只准出现一次。2)数学中不等式写法与FORTRAN中关系表达式的写法有同有异,不可随意使用数学中的习惯用法,例如语句写法3<X<7就是不正确的关系表达式2.关系表
3、达式求值的过程是:先分别计算两个表达式的值,然后将他们进行比较.1.关系表达式的值是一个逻辑常数.即.TRUE.或.FALSE.例:A*B.GE.C+D(设:A=2.0,B=3.5,C=2.3,D=6.2)先计算A*B和C+D的值,然后判断7.0.GE.8.5结果不成立其值为.FALSE.关系运算的特点:3.当两个算术关系表达式的数据类型不相同时,求值过程为:将两个算术表达式化为同一类型然后比较.转换规律是将低级类型向高级类型转换。因此,执行关系表达式的过程为:算出算术表达式的值;将两个算术表达式值转换成同一类型;将两个表达式的值进行比较。具体操作是:将e1
4、RELOPe2写成((e1)-(e2))RELOP0即对两个算术表达式求差,然后与零进行比较,其中零的类型与表达式((e1)-(e2))的类型相同.如:X*X.LT.2*J可写作:X*X-2*J.LT.0.04.当算术表达式是非整型时尽量不用关系运算符.EQ.和.NE.因为实型数在计算机中不能保证完全精确.例X,Y的实型值为5.0,在计算机中可能为5.000001或4.9999995.除了算术量可进行比较外,字符关系表达式可对两个字符量进行比较。对数学式X=Y的关系运算可用:ABS(X-Y).LT.1.E-30;对X≠Y可用:ABS(X-Y).GT.1.E-
5、30。4.3逻辑表达式a)逻辑量Fortran的逻辑常量:.TRUE.(表示“真”,即满足逻辑条件);.FALSE.(表示“假”,即不满足逻辑条件)。例:当X=3时,“X<5”的值为.TRUE.(真),而“X<=0”的值为.FALSE.(假)。逻辑型变量用来存放逻辑常量。它的值也只能是.TRUE.或.FALSE.之一。可以将一逻辑常量赋予一个逻辑变量。如:将A定义为逻辑型变量,用赋值语句对其赋值:LOGICALAA=.TRUE.逻辑赋值语句的一般形式为:逻辑变量=逻辑表达式。b)逻辑运算符Fortran有5个逻辑运算符,每个操作符两边都有一点,不可省略:逻辑
6、运算符含义逻辑运算例例子含义.AND..OR..NOT..EQV..NEQV.逻辑与逻辑或逻辑非逻辑等价逻辑不等价A.AND.BA.OR.B.NOT.AA.EQV.BA.NEQV.BA,B为真时,则A.AND.B为真A,B之一为真,则A.OR.B为真A为真,则.NOT.A为假A和B值为同一逻辑常量时,A.EQV.B为真A和B的值为不同的逻辑常量,则A.NEQV.B为真注意:不要将.AND.与.EQV.混淆:A.AND.B是当A和B均为真时才为真;A.EQV.B是当A和B均为真或均为假时为真。逻辑非.NOT.例:3.5.GT.2其值为.TRUE..NOT.(3
7、.5.GT.2)其值为.FALSE.逻辑与.AND.例:3.5.LE.10.0.AND.20.0.GT.15.1其值为真3.5.LE.10.0.AND.20.0.LT.15.1其值为假逻辑或.OR.例:3.5.LE.10.0.OR.20.0.LT.15.1其值为真3.5.GE.10.0.OR.20.0.LT.15.1其值为假c)逻辑表达式的运算逻辑同.EQV.(逻辑等值)例:3.5.LE.10.0.EQV.20.0.LT.15.0其值为假3.5.LE.10.0.EQV.20.0.GE.15.0其值为真逻辑异.NEQV.(逻辑不等值)例:3.5.GE.10.0
8、.NEQV.20.0.LT.15.0其值为真3.5.
此文档下载收益归作者所有