逻辑运算与选择结构PPT课件_第1页
逻辑运算与选择结构PPT课件_第2页
逻辑运算与选择结构PPT课件_第3页
逻辑运算与选择结构PPT课件_第4页
逻辑运算与选择结构PPT课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

19 04 2020 1 第四章逻辑运算与选择结构 本章重点 关系表达式与逻辑表达式的正确书写和优先级 使用块IF或逻辑IF语句实现选择结构 19 04 2020 2 逻辑运算与选择结构 关系表达式逻辑表达式用块IF实现选择结构逻辑IF语句 19 04 2020 3 4 1关系表达式 关系表达式是最简单的一种逻辑表达式 其形式为 算数量 关系运算符 算数量 说明 算数量可以是一个数值常量 数值型变量 数值函数 也可以是一个算术表达式 关系运算符就是关系比较符 关系符有以下六种 19 04 2020 4 FORTRAN语言关系运算符 19 04 2020 5 关系运算符运用的说明 关系运算符的两个字母的两侧个又一个点号 不要漏写 在一个关系表达式中可能包括算术运算和关系运算符 运算的次序是 先进行算术运算 后进行关系运算 关系表达式是将两个数值量相比较 这两个数值量可以是不同类型的量 它在比较时先转化类型 再比较 关系表达式的值不是一个数值 而是一个逻辑量 由于实数的存储与运算存在误差 所以运用 EQ 和 NE 运算符时要注意 除算术量比较的形式外 还有字符量的比较 19 04 2020 6 4 2逻辑表达式 逻辑表达式 布尔表达式 是对逻辑量进行逻辑运算的表达式 其形式为 逻辑量 逻辑运算符 逻辑量 FORTRAN的逻辑量有三种 逻辑常量 逻辑型变量 关系表达式逻辑表达式的值是一个逻辑值 逻辑 真 逻辑 假 19 04 2020 7 逻辑常量与变量 逻辑常量 逻辑真 即满足逻辑条件 用 TURE 表示 逻辑假 即不满足逻辑条件 用 FALSE 表示 说明 逻辑常量可以出现在程序中 可以将它赋给逻辑变量 逻辑变量逻辑赋值语句一般形式为 逻辑变量 逻辑表达式说明 程序中使用逻辑变量时 必须对其加以定义 用LOGICAL语句说明 如 LOGICALA B 19 04 2020 8 逻辑运算符 19 04 2020 9 逻辑表达式运算次序 多个逻辑量经过逻辑运算后可以得到一个逻辑值 当逻辑表达式比较复杂时 则需要按下列规定 Fortran77 进行运算 先计算算术表达式的值 再计算关系表达式的值 最后进行逻辑运算 逻辑运算的先后顺序为 先 NOT AND 次之 OR 最后 EQV 和 NEQV 其形式可参见下表 19 04 2020 10 各种运算符的优先级别 19 04 2020 11 用逻辑表达式的说明 1 算术运算符的运算对象为数值量 运算结果为数值 关系运算符的运算对象为数值量 运算结果为逻辑量 逻辑运算符的对象是逻辑量 运算结果是逻辑量 2 IF语句判断逻辑表式的值是否为 真 若有关系运算符 则它的两侧只能是数值量 不能是逻辑量 例 TURE EQ TURE 是错误的 3 在连续用运算连接运算量需按下式书写 如A B C D应写为 A LT B AND B LT C AND C LT D 19 04 2020 12 逻辑运算举例 若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 HOME 19 04 2020 13 4 3块IF实现选择结构 块IF的组成块IF的执行过程块IF使用注意事项块IF结构应用举例块IF的嵌套块IF嵌套的应用ELSEIF语句ELSEIF语句的应用 19 04 2020 14 1 块IF的组成 块IF的一般形式为 IF 逻辑表达式 THENthen块ELSEelse块ENDIF 说明 块IF语句 then块 它由若干个执行语句组成 每一个执行语句占一行 ELSE语句 它单独占一行 else块 由若干个执行语句组成 每一个执行语句占一行 ENDIF语句 块IF的结束符号 19 04 2020 15 2 块IF的执行过程 IF 逻辑表达式 THENthen块ELSEelse块ENDIF 1 执行块IF语句 求出逻辑表达式的值 2 若为 真 则流程转到then块 执行then块 然后跳过ELSE语句和else块 流程转到ENDIF语句处 3 若逻辑表达式值为 假 则流程跳过then块 转到ELSE语句 执行else块 然后流程转到ENDIF语句处 4 执行ENDIF语句的下一语句 19 04 2020 16 3 块IF使用注意事项 一个块IF是由若干个语句组成的 块IF语句 ELSE语句和ENDIF语句只能用在块IF中而不能在程序中的块IF以外单独使用 块IF可以根据需要舍去then块或ELSE语句及else块 一个块IF必须以块IF语句开始 以ENDIF语句结束 19 04 2020 17 4 块IF结构应用举例例1 要求利用函数 用键盘输入一个x求出y的值 READ XIF X GE 0 THENY 3 X 6ELSEY X 2 2 X 8ENDIFWRITE Y YEND 19 04 2020 18 4 块IF结构应用举例 用键盘输入一个x求出y的值READ XIF X GT 0 THENY 6 X 7ENDIFWRITE Y YEND N S流程图 例2 计算y 6x 7 x 0 19 04 2020 19 思考 从以上几个例题我们可以看出 在块IF中 可以用then块和else块分别处理当逻辑表达式的值为 真 和 假 时应进行的操作 但实际问题往往没有这么简单 如我们刚提到的个人所得税的计算问题 如何用Fortran语言实现 19 04 2020 20 5 块IF的嵌套 概念 一个块IF中又完整地包含另一个或多个块IF 嵌套形式 IF 逻辑表达式 THENIF 逻辑表达式 THENthen块ELSEelse块ENDIFELSEelse块ENDIF 19 04 2020 21 6 块IF嵌套的应用 N S流程图 例 解一元二次方程ax2 bx c 0 19 04 2020 22 6 块IF嵌套的应用 Read a b cD b 2 4 a cIf D lt 0 thenwrite 无实根 ElseIf D gt 0 thenx1 b 2 a SQRT D 2 a x2 b 2 a SQRT D 2 a Elsex1 b 2 a x2 b 2 a Endifwrite x1 x2EndifEnd 19 04 2020 23 思考 块IF嵌套可以解决多层选择的问题 但是如果嵌套层次比较多 程序就会冗长 19 04 2020 24 7 ELSEIF语句 为了解决多层嵌套程序冗长的问题 FORTRAN语言提供ELSEIF语句处理 否则 如果 则 的情况 其形式为 IF 逻辑表达式 THENthen块ELSEIF 逻辑表达式 then ELSEelse块ENDIF 19 04 2020 25 Remark ELSEIF语句相当于把ELSE语句和其下一行的块IF语句连接成一个语句 ELSEIF语句不需要ENDIF语句与之对应 ELSEIF语句可以有与之配对的ELSE语句 19 04 2020 26 8 ELSEIF语句的应用例 从键盘输入一个数 求下列分段函数的值 READ XIF X LT 10 0 THENY 0 0ELSEIF X LT 0 0 THENY 2 0 X 20 0ELSEIF X LT 50 0 THENY 30 0 0 5ELSEY 50 0 XENDIFWRITE Y YEND 19 04 2020 27 以上我们讨论了如何用块IF实现选择结构 另外FORTRAN语言还提供了实现选择结构的另一种方法 逻辑IF 19 04 2020 28 4 4逻辑IF语句 逻辑IF语句形式为 IF 逻辑表达式 要求执行的内容特点 只有 逻辑表达式 的值为 真 时 才有操作 逻辑表达式 的值为 真 时 只执行一条执行语句而不执行若干个语句 19 04 2020 29 例 用逻辑IF语句求下列表达式值 READ XIF X GE 0 0 Y 3 0 X 6 0IF X LT 0 0 Y x x 2 x 8Write Y END 19 04 2020 30 本节内容小结 1 块IF的执行过程2 ELSEIF的条件选择3 块IF与逻辑IF的区别 19 04 2020 31 1 刚才已提到块IF是本节课的重点内容 而掌握块IF的执行过程是学好块IF的前提 因此有必要再回顾一下 2 ELSEIF语句是本讲课的难点 在书写逻辑表达式时很容易出错 特别是一个程序需要多条ELSEIF语句时 再强调两点 ELSEIF语句的断条件是在块IF语句或其上一条ELSEIF语句的判断条件不成立的前提下所做的进一步的判断 再处理多分支的选择时 要尽可能把出现几率高的条件写在前面 以提高程序的执行效率 但同时要注意各条件间的相互关系 19 04 2020 32 3 块IF不管条件为真还是为假都有相应的操作 而逻辑IF只有条件为真时才有操作 块IF不管条件为真还是为假都可以有若干条执行语句 而逻辑IF当条件为真时只能有一条执行语句 任

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论