逻辑运算与选择结构PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
其形式可参见下表
13.04.2020
9
各种运算符的优先级别
运算类别
括号 算术运算 关系运算
逻辑运算
13.04.2020
运算符
()
** *,/ +,.GT. .GE. .LT. .LE. .EQ. .NE. .NOT. .AND. .OR. .EQV.,.NEQV.
优先级
1 2 3 4
5
6 7 8 9
〈逻辑量〉 〈逻辑运算符〉〈逻辑量〉 FORTRAN的逻辑量有三种:
⑴ 逻辑常量 ⑵ 逻辑型变量 ⑶ 关系表达式 逻辑表达式的值是一个逻辑值:逻辑“真”,逻辑“假”
13.04.2020
6
逻辑常量与变量
逻辑常量
⑴逻辑真,即满足逻辑条件,用.TURE.表示; ⑵逻辑假,即不满足逻辑条件,用.FALSE.表示; 说明:逻辑常量可以出现在程序中,可以将它赋给逻辑变量。
第四章 逻辑运算与选择结构
〖本章重点〗关系表达式与逻辑 表达式的正确书写和优先级,使 用块IF或逻辑IF语句实现选择结 构。
13.04.2020
1
逻辑运算与选择结构
关系表达式 逻辑表达式 用块IF实现选择结构 逻辑IF语句
13.04.2020
2
§4.1关系表达式
关系表达式是最简单的一种逻辑表达式,其形式为: 〈算数量〉 〈关系运算符〉〈算数量〉 说明:⑴算数量可以是一个数值常量、数值型变量、数
逻辑变量
逻辑赋值语句一般形式为:逻辑变量=逻辑表达式 说明:程序中使用逻辑变量时,必须对其加以定义,用
LOGICAL语句说明,如: LOGICAL A,B
13.04.2020
7
逻辑运算符
逻辑运算符 含义 逻辑运算举例
例子含义
.AND. 逻辑与 A .AND. B
A,B都为真则A .AND. B真
是不同类型的量,它在比较时先转化类型,再比较; ❖ 关系表达式的值不是一个数值,而是一个逻辑量; ❖ 由于实数的存储与运算存在误差,所以运用.EQ.和.NE.
运算符时要注意; ❖ 除算术量比较的形式外,还有字符量的比较。
13.04.2020
5
§4.2 逻辑表达式
逻辑表达式(布尔表达式)是对逻辑量进行逻辑运算的表 达式,其形式为:
13.04.2020
15
3、 块IF使用注意事项
一个块IF是由若干个语句组成的。块IF语 句、ELSE语句和ENDIF语句只能用在块 IF中而不能在程序中的块IF以外单独使用;
值函数,也可以是一个算术表达式; ⑵关系运算符就是关系比较符,关系符有以下六种。
13.04.2020
3
FORTRAN语言关系运算符
关系运算符
英语含义
所代表的数学符号
.GT. .GE. .LT. .LE. .EQ. .NE.
13.04.2020
Greater Than
>(大于)
Greater than or Equal to ≥(大于或等于)
13
1、块IF的组成
块IF的一般形式为: IF (逻辑表达式)
THEN then 块 ELSE else 块 ENDIF
13.04.2020
说明: ⑴块IF语句; ⑵then块,它由若干个
执行语句组成,每一个 执行语句占一行; ⑶ELSE语句,它单独占 一行; ⑷else块。由若干个执行 语句组成,每一个执行 语句占一行; ⑸ENDIF语句。块IF的结 束符号。
3. 在连续用运算连接运算量需按下式书写:如A<B<C<D 应写为:( A .LT. B) .AND. (B .LT. C) .AND. (C .LT. D)
13.04.2020
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
① 8.5 ② .F.
④ .F.
③ .F.
⑤ .F.
⑥ .F.
13.04.2020
HOME
12
§4.3 块IF实现选择结构
块IF的组成 块IF的执行过程 块IF使用注意事项 块IF结构应用举例 块IF的嵌套 块IF嵌套的应用 ELSE IF 语句 ELSE IF 语句的应用
13.04.2020
13.04.2020
8
逻辑表达式运算次序
多个逻辑量经过逻辑运算后可以得到一个逻辑值。当逻辑表达式 比较复杂时,则需要按下列规定(Fortran77)进行运算: ⑴ 先计算算术表达式的值 ⑵ 再计算关系表达式的值 ⑶ 最后进行逻辑运算,逻辑运算的先后顺序为: 先.NOT., .AND.,次之 .OR. ,最后.EQV.和.NEQV.。
.OR.
逻辑或 A .OR. B
A或B之一为真则A .OR. B真
.NOT. .EQV. .NEQV.
逻辑非 .NOT. A 逻辑等 A .EQV. B 逻辑不等 A .NEQV. B
A为真 ,则 .NOT. A Leabharlann Baidu假
A,B为同一逻辑量时, A .EQV. B为真 A,B为不同逻辑量时, A .NEQV. B为真
10
用逻辑表达式的说明
1. 算术运算符的运算对象为数值量,运算结果为数值。关 系运算符的运算对象为数值量,运算结果为逻辑量。逻辑 运算符的对象是逻辑量,运算结果是逻辑量;
2. IF语句判断逻辑表式的值是否为“真”,若有关系运算 符,则它的两侧只能是数值量,不能是逻辑量。 例:.TURE . .EQ. .TURE. 是错误的!
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语句的下一语句。
Less Than
<(小于)
Less than or Equal to
≤(小于或等于)
Equal to
=(等于)
Not Equal to
≠(不等于)
4
关系运算符运用的说明
❖ 关系运算符的两个字母的两侧个又一个点号,不要漏写; ❖ 在一个关系表达式中可能包括算术运算和关系运算符,
运算的次序是:先进行算术运算,后进行关系运算; ❖ 关系表达式是将两个数值量相比较,这两个数值量可以
13.04.2020
9
各种运算符的优先级别
运算类别
括号 算术运算 关系运算
逻辑运算
13.04.2020
运算符
()
** *,/ +,.GT. .GE. .LT. .LE. .EQ. .NE. .NOT. .AND. .OR. .EQV.,.NEQV.
优先级
1 2 3 4
5
6 7 8 9
〈逻辑量〉 〈逻辑运算符〉〈逻辑量〉 FORTRAN的逻辑量有三种:
⑴ 逻辑常量 ⑵ 逻辑型变量 ⑶ 关系表达式 逻辑表达式的值是一个逻辑值:逻辑“真”,逻辑“假”
13.04.2020
6
逻辑常量与变量
逻辑常量
⑴逻辑真,即满足逻辑条件,用.TURE.表示; ⑵逻辑假,即不满足逻辑条件,用.FALSE.表示; 说明:逻辑常量可以出现在程序中,可以将它赋给逻辑变量。
第四章 逻辑运算与选择结构
〖本章重点〗关系表达式与逻辑 表达式的正确书写和优先级,使 用块IF或逻辑IF语句实现选择结 构。
13.04.2020
1
逻辑运算与选择结构
关系表达式 逻辑表达式 用块IF实现选择结构 逻辑IF语句
13.04.2020
2
§4.1关系表达式
关系表达式是最简单的一种逻辑表达式,其形式为: 〈算数量〉 〈关系运算符〉〈算数量〉 说明:⑴算数量可以是一个数值常量、数值型变量、数
逻辑变量
逻辑赋值语句一般形式为:逻辑变量=逻辑表达式 说明:程序中使用逻辑变量时,必须对其加以定义,用
LOGICAL语句说明,如: LOGICAL A,B
13.04.2020
7
逻辑运算符
逻辑运算符 含义 逻辑运算举例
例子含义
.AND. 逻辑与 A .AND. B
A,B都为真则A .AND. B真
是不同类型的量,它在比较时先转化类型,再比较; ❖ 关系表达式的值不是一个数值,而是一个逻辑量; ❖ 由于实数的存储与运算存在误差,所以运用.EQ.和.NE.
运算符时要注意; ❖ 除算术量比较的形式外,还有字符量的比较。
13.04.2020
5
§4.2 逻辑表达式
逻辑表达式(布尔表达式)是对逻辑量进行逻辑运算的表 达式,其形式为:
13.04.2020
15
3、 块IF使用注意事项
一个块IF是由若干个语句组成的。块IF语 句、ELSE语句和ENDIF语句只能用在块 IF中而不能在程序中的块IF以外单独使用;
值函数,也可以是一个算术表达式; ⑵关系运算符就是关系比较符,关系符有以下六种。
13.04.2020
3
FORTRAN语言关系运算符
关系运算符
英语含义
所代表的数学符号
.GT. .GE. .LT. .LE. .EQ. .NE.
13.04.2020
Greater Than
>(大于)
Greater than or Equal to ≥(大于或等于)
13
1、块IF的组成
块IF的一般形式为: IF (逻辑表达式)
THEN then 块 ELSE else 块 ENDIF
13.04.2020
说明: ⑴块IF语句; ⑵then块,它由若干个
执行语句组成,每一个 执行语句占一行; ⑶ELSE语句,它单独占 一行; ⑷else块。由若干个执行 语句组成,每一个执行 语句占一行; ⑸ENDIF语句。块IF的结 束符号。
3. 在连续用运算连接运算量需按下式书写:如A<B<C<D 应写为:( A .LT. B) .AND. (B .LT. C) .AND. (C .LT. D)
13.04.2020
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
① 8.5 ② .F.
④ .F.
③ .F.
⑤ .F.
⑥ .F.
13.04.2020
HOME
12
§4.3 块IF实现选择结构
块IF的组成 块IF的执行过程 块IF使用注意事项 块IF结构应用举例 块IF的嵌套 块IF嵌套的应用 ELSE IF 语句 ELSE IF 语句的应用
13.04.2020
13.04.2020
8
逻辑表达式运算次序
多个逻辑量经过逻辑运算后可以得到一个逻辑值。当逻辑表达式 比较复杂时,则需要按下列规定(Fortran77)进行运算: ⑴ 先计算算术表达式的值 ⑵ 再计算关系表达式的值 ⑶ 最后进行逻辑运算,逻辑运算的先后顺序为: 先.NOT., .AND.,次之 .OR. ,最后.EQV.和.NEQV.。
.OR.
逻辑或 A .OR. B
A或B之一为真则A .OR. B真
.NOT. .EQV. .NEQV.
逻辑非 .NOT. A 逻辑等 A .EQV. B 逻辑不等 A .NEQV. B
A为真 ,则 .NOT. A Leabharlann Baidu假
A,B为同一逻辑量时, A .EQV. B为真 A,B为不同逻辑量时, A .NEQV. B为真
10
用逻辑表达式的说明
1. 算术运算符的运算对象为数值量,运算结果为数值。关 系运算符的运算对象为数值量,运算结果为逻辑量。逻辑 运算符的对象是逻辑量,运算结果是逻辑量;
2. IF语句判断逻辑表式的值是否为“真”,若有关系运算 符,则它的两侧只能是数值量,不能是逻辑量。 例:.TURE . .EQ. .TURE. 是错误的!
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语句的下一语句。
Less Than
<(小于)
Less than or Equal to
≤(小于或等于)
Equal to
=(等于)
Not Equal to
≠(不等于)
4
关系运算符运用的说明
❖ 关系运算符的两个字母的两侧个又一个点号,不要漏写; ❖ 在一个关系表达式中可能包括算术运算和关系运算符,
运算的次序是:先进行算术运算,后进行关系运算; ❖ 关系表达式是将两个数值量相比较,这两个数值量可以