逻辑运算与选择结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

逻辑常量
⑴逻辑真,即满足逻辑条件,用.TURE.表示; ⑵逻辑假,即不满足逻辑条件,用.FALSE.表示; 说明:逻辑常量可以出现在程序中,可以将它赋给逻辑变量。
逻辑变量
逻辑赋值语句一般形式为:逻辑变量=逻辑表达式 说明:程序中使用逻辑变量时,必须对其加以定义,用
LOGICAL语句说明,如: LOGICAL A,B
第四章 逻辑运算与选择结构
〖本章重点〗关系表达式与逻辑 表达式的正确书写和优先级,使 用块IF或逻辑IF语句实现选择结 构。
2020/2/8
1
逻辑运算与选择结构
关系表达式 逻辑表达式 用块IF实现选择结构 逻辑IF语句
2020/2/8
2
§4.1关系表达式
关系表达式是最简单的一种逻辑表达式,其形式为: 〈算数量〉 〈关系运算符〉〈算数量〉
1. 算术运算符的运算对象为数值量,运算结果为数值。关 系运算符的运算对象为数值量,运算结果为逻辑量。逻辑 运算符的对象是逻辑量,运算结果是逻辑量;
2. IF语句判断逻辑表式的值是否为“真”,若有关系运算 符,则它的两侧只能是数值量,不能是逻辑量。 例:.TURE . .EQ. .TURE. 是错误的!
2020/2/8
7
逻辑运算符
逻辑运算符 含义 逻辑运算举例
例子含义
.AND. 逻辑与 A .AND. B
A,B都为真则A .AND. B真
.OR. .NOT. .EQV. .NEQV.
2020/2/8
ห้องสมุดไป่ตู้
逻辑或 A .OR. B 逻辑非 .NOT. A 逻辑等 A .EQV. B 逻辑不等 A .NEQV. B
Greater than or Equal to ≥(大于或等于)
Less Than
<(小于)
Less than or Equal to
≤(小于或等于)
Equal to
=(等于)
Not Equal to
≠(不等于)
4
关系运算符运用的说明
❖ 关系运算符的两个字母的两侧个又一个点号,不要漏写; ❖ 在一个关系表达式中可能包括算术运算和关系运算符,
2020/2/8
5
§4.2 逻辑表达式
逻辑表达式(布尔表达式)是对逻辑量进行逻辑运算的表 达式,其形式为:
〈逻辑量〉 〈逻辑运算符〉〈逻辑量〉
FORTRAN的逻辑量有三种:
⑴ 逻辑常量
⑵ 逻辑型变量
⑶ 关系表达式
逻辑表达式的值是一个逻辑值:逻辑“真”,逻辑“假”
2020/2/8
6
逻辑常量与变量
2020/2/8
14
2、块IF的执行过程
IF (逻辑表达式)THEN then 块
ELSE else 块
ENDIF
(1)执行块IF语句,求出逻辑表
达式的值; (2)若为“真”,则流程转到
then块,执行then块,然后跳 过ELSE语句和else块,流程转 到END IF语句处; (3)若逻辑表达式值为“假”, 则流程跳过then块,转到ELSE 语句,执行else块;然后流程 转到END IF语句处; (4)执行END IF语句的下一语句。
其形式可参见下表
2020/2/8
9
各种运算符的优先级别
运算类别
括号 算术运算 关系运算
逻辑运算
2020/2/8
运算符
()
** *,/ +,.GT. .GE. .LT. .LE. .EQ. .NE. .NOT. .AND. .OR. .EQV.,.NEQV.
优先级
1 2 3 4
5
6 7 8 9
10
用逻辑表达式的说明
说明:⑴算数量可以是一个数值常量、数值型变量、数
值函数,也可以是一个算术表达式; ⑵关系运算符就是关系比较符,关系符有以下六种。
2020/2/8
3
FORTRAN语言关系运算符
关系运算符
英语含义
所代表的数学符号
.GT.
.GE.
.LT.
.LE.
.EQ.
2020/2/8
.NE.
Greater Than
>(大于)
运算的次序是:先进行算术运算,后进行关系运算; ❖ 关系表达式是将两个数值量相比较,这两个数值量可以
是不同类型的量,它在比较时先转化类型,再比较; ❖ 关系表达式的值不是一个数值,而是一个逻辑量; ❖ 由于实数的存储与运算存在误差,所以运用.EQ.和.NE.
运算符时要注意; ❖ 除算术量比较的形式外,还有字符量的比较。
① 8.5 ② .F.
④ .F.
③ .F.
⑤ .F.
⑥ .F.
2020/2/8
HOME
12
§4.3 块IF实现选择结构
• 块IF的组成 • 块IF的执行过程 • 块IF使用注意事项 • 块IF结构应用举例 • 块IF的嵌套 • 块IF嵌套的应用 •ELSE IF 语句 •ELSE IF 语句的应用
2020/2/8
15
3、 块IF使用注意事项
• 一个块IF是由若干个语句组成的。块IF语句、ELSE语句和ENDIF语句只能用在块IF中而不能在程序中 的块IF以外单独使用;
2020/2/8
13
1、块IF的组成
块IF的一般形式为: IF (逻辑表达式)
THEN then 块 ELSE else 块 ENDIF
说明: ⑴块IF语句; ⑵then块,它由若干个执
行语句组成,每一个执行 语句占一行; ⑶ELSE语句,它单独占 一行; ⑷else块。由若干个执行 语句组成,每一个执行语 句占一行; ⑸ENDIF语句。块IF的结 束符号。
A或B之一为真则A .OR. B真
A为真 ,则 .NOT. A 为假
A,B为同一逻辑量时, A .EQV. B为真 A,B为不同逻辑量时, A .NEQV. B为真
8
逻辑表达式运算次序
多个逻辑量经过逻辑运算后可以得到一个逻辑值。当逻辑表达式 比较复杂时,则需要按下列规定(Fortran77)进行运算: ⑴ 先计算算术表达式的值 ⑵ 再计算关系表达式的值 ⑶ 最后进行逻辑运算,逻辑运算的先后顺序为: 先.NOT., .AND.,次之 .OR. ,最后.EQV.和.NEQV.。
3. 在连续用运算连接运算量需按下式书写:如A<B<C<D 应写为:( A .LT. B) .AND. (B .LT. C) .AND. (C .LT. D)
2020/2/8
11
逻辑运算举例
若A=2.5,B=7.5,C=5.0,D=6.0求逻辑表达式的值:
C/2.0+D .LT. A . .AND. .NOT. .TURE. .OR. C .EQ. D
相关文档
最新文档