- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算物理 第三讲
关系运算的特点是: ???关系表达式中包括算术运算符和关系运算符,其运算的次序是先进行算术运算,然后进行关系运算。 ???不同类型的数值量进行比较时,系统会先将这两个量转换成同一个类型,然后再比较。转换的规律是将低级类型向高级类型转换。因此,执行关系表达式的过程为:算出算术表达式的值;将两个算术表达式值转换成同一类型;将两个表达式的值进行比较。 ???关系表达式的值不是一个数值,而是一个逻辑量。它的值是“真”和“假”二者之一。 ???由于实数的精度限制,因此用.EQ.(等于)和.NE.(不等于)运算符时要特别注意。要考虑到可能出现的误差,并设法弥补。如对数学式A=B的关系运算可用:ABS(A-B).LT.1.E-30;对A≠B可用:ABS(A-B).GT.1.E-30。 ???除了算术量可进行比较外,字符关系表达式可对两个字符量进行比较。 2.2.1 关系表达式 2.2.2 逻辑表达式 逻辑量 Fortran的逻辑常量只有两个:.TRUE. (表示“真”,即满足逻辑条件); .FALSE. (表示“假”,即不满足逻辑条件)。 例:当X=3时,“X5”的值为.TRUE.(真),而“X=0.”的值为.FALSE.(假)。 逻辑型变量用来存放逻辑常量。它的值也只能是.TRUE.或.FALSE.之一。 可以将一逻辑常量赋予一个逻辑变量。如将A定义为逻辑型变量,用赋值语句对其赋值: LOGICAL A A=.TRUE. 逻辑赋值语句的一般形式为:逻辑变量=逻辑表达式。 b) 逻辑运算符 Fortran有5个逻辑运算符,每个操作符两边都有一点,不可省略: A,B为真时,则A.AND.B为真 A,B之一为真,则A.OR.B为真 A为真,则.NOT.A为假 A和B值为同一逻辑常量时,A.EQV.B为真 A和B的值为不同的逻辑常量,则A.NEQV.B为真 A.AND.B A.OR.B .NOT.A A.EQV.B A.NEQV.B 逻辑与 逻辑或 逻辑非 逻辑等价 逻辑不等价 .AND. .OR. .NOT. .EQV. .NEQV. 例子含义 逻辑运算例 含义 逻辑运算符 注意不要将.AND.与.EQV.混淆:A.AND.B是当A和B均为真时才为真;A.EQV.B是当A和B均为真或均为假时为真。 2.2.2 逻辑表达式 2.2.2 逻辑表达式 c) 逻辑表达式的运算 下面是逻辑表达式的例子: 当A<B和A>C时表达式值为真 当X<0或X>100时,表达式值为真 当X≤0时,表达式值为假 当两个括弧内的值都为真或都为假时,表达式的值为真 当L1与L2的逻辑值不相同时,表达式的值为真 (A.LT.B).AND.(A.GT.C) (X.LT.0.).OR.(X.GT.100.) .NOT.(X.LE.O.) (A.GT.B).EQV.(C.GT.D) L1.NEQV.L2 说明 逻辑表达式 2.2.2 逻辑表达式 一个逻辑表达式中可以包括多个逻辑运算符 如逻辑表达式:A.GE.0.0.AND.A+C.GT.B+D.OR..NOT..TRUE.中不仅有逻辑运算符,还有关系运算符和算术运算符。 Fortran规定了以下的运算顺序: (1)先计算算术表达式的值(例如上式中的A+C和B+D)。 (2)再求关系表达式的值(例如上式中的A.LE.0.0和A+C.GT.B+D)。 (3)最后进行逻辑运算,其顺序是:.NOT. > .AND. > .OR. > .EQV. 和 .NEQV.。如果有括弧,则先进行括弧内的运算。 2.2.2 逻辑表达式 可用下表表示各种运算符的优先级别: 9 .EQV. .NEQV. 8 .OR. 7 .AND. 6 .NOT. 逻辑运算 5 .GT. .GE. .LT. .LE. .EQ. .NE. 关系运算 4 + - 3 * / 2 ** 算术运算 1 ( ) 括号 优先级 运算符 运算类别 2.2.3 逻辑IF语句 IF语句不是一种选择结构,只是一条语句,它在算法较简单的场合下,可以灵活地完成二分叉选择算法。逻辑IF语句判别逻辑表达式的值是否为“真”,并执行一操作。 其一般形式为:IF(逻辑表达式) 执行语句。如果条件成立(即逻辑表达式值是‘真’),则执行其后紧跟的执行语句,而后执行下一条语句;如果条件不成立,则整个IF语句不作任何操作,只是起下滑作用,使控制转移到IF语句的下一个语句。 IF语句最大的用处是退出迭代。计算机程序中经常作连加、连乘或反复执行某段程序,并规定只有当某个参数大于或小于某值时才停止循环,这时就可以使用IF语句。 例:打印学生考试成绩,大于等于80分的为“A”,大于等于60分而小于80分的为“
文档评论(0)