1 / 26

逻辑运算 与选择结构

第三章. 逻辑运算 与选择结构. §3.1 关系表达式 §3.2 逻辑表达式 §3.3 算术 IF 语句 §3.4 逻辑 IF 语句 §3.5 块 IF 结构 §3.6 多重选择结构. 70 年代初,人们提出了结构化程序没计的思想。从理论上说,任何一个程序都可以由三种基本的程序结构组成: (1) 顺序控制结构; (2) 选择控制结构; (3) 循环控制结构。 三种控制结构的共同点是: (1) 有一个入口 (2) 有一个出口 (3) 没有死语句 ( 永远执行不到的语句 ) , (4) 没有死循环 ( 无限循环 ) 。

clea
Télécharger la présentation

逻辑运算 与选择结构

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第三章 逻辑运算 与选择结构

  2. §3.1 关系表达式 §3.2 逻辑表达式 §3.3 算术IF语句 §3.4 逻辑IF语句 §3.5 块IF结构 §3.6 多重选择结构

  3. 70年代初,人们提出了结构化程序没计的思想。从理论上说,任何一个程序都可以由三种基本的程序结构组成:70年代初,人们提出了结构化程序没计的思想。从理论上说,任何一个程序都可以由三种基本的程序结构组成: (1)顺序控制结构; (2)选择控制结构; (3)循环控制结构。 三种控制结构的共同点是: (1)有一个入口 (2)有一个出口 (3)没有死语句(永远执行不到的语句), (4)没有死循环(无限循环)。 凡是能满足以上四个特点的程序,都可以表示为三种基本结构所构成的结构化程序。

  4. §3.1 关系表达式 关系运算符(六个)

  5. 关系表达式: 用任意一个关系运算符连接两个算术表达式构成的式子 如: B*B-4.0*A*C .GE. 0.0 ABS(Y2-Y1) .LT. EPS 关系表达式的运算过程: 1,分别计算出两个算术表达式的值。 2,将算术表达式的值转换成同一类型。转换规则是将低级类型向高级类型转换。 3,比较两个算术表达式的值。 关系表达式的运算结果: 关系运算的结果是一个逻辑型常量。 做为FORTRAN77六种数据类型之一的逻辑型,共有两个常量: .TRUE. .FALSE.

  6. §3.2 逻辑表达式 逻辑运算符(五个)

  7. 逻辑与运算 A.AND.B 为真(.TRUE.) 当且仅当 A、B均为真(.TRUE.) 逻辑或运算 A.OR.B 为假(.FALSE.) 当且仅当 A、B均为假(.FALSE.) 逻辑非运算 .NOT.A为真(.TRUE.) 当且仅当 A为假(.FALSE.) 逻辑等运算 A.EQV.B为真(.TRUE.) 当且仅当 A与B值相同 逻辑不等运算 A.NEQV.B 为真(.TEUE.) 当且仅当 A与B值不同

  8. 逻辑表达式 用逻辑运算符将逻辑常量、逻辑变量和关系表达式连接起来构成的式子称为逻辑表达式。 运算结果为逻辑值 .TRUE. 或 .FALSE. 。 1.gt.4 .AND. 5.gt.1 A1 .EQV. Bl W .OR. .FALSE. .NOT. K+2 .LT. N 例:

  9. .FALSE. .OR. A4 .GE. 10.0+3**2 .AND. TRUE. 逻辑表达式的运算顺序

  10. 逻辑赋值语句和逻辑型数据的表控输入输出 练习:已知实数A、B、C,试判断能否构成一个三角形的三边。

  11. §3.3 算术IF语句 一般格式:IF(e) N1,N 2,N3 e:算术表达式,其类型可以是整型、实型和双精度型。 NI(I=1,2,3):本程序单位内可执行语句的标号。 例 : IF(W+0.5) 11,21,31 功能: >0 <0 计算e的值 =0 执行N1语句 执行N2语句 执行N3语句

  12. 例1:已知分段函数 ,编写程序求y的值。 注:算术IF语句不符合结构化程序设计的原则,建议尽量避免使用。

  13. §3.4 逻辑IF语句 一般格式:IF(e) S e: 逻辑表达式 S: 可执行语句;S不能是以下语句之一: 块IF语句、逻辑IF语句、DO、 ELSE、 ELSEIF、 ENDIF 例如: IF(X.GE.0.0) Y=SQRT(X) 功能: T F 计算e的值 可执行语句S

  14. 例2 判断一整数K是奇数还是偶数。

  15. §3.5 块IF结构 一般格式: IF(e) THEN then块 ELSE else块 ENDIF e: 逻辑表达式 功能: T F 计算e的值 then块 else块

  16. 例2 判断一整数K是奇数还是偶数。

  17. 块IF结构与逻辑IF语句的比较 IF(e) S IF(e) THEN then块 ELSE else块 ENDIF 1,都能构成选择结构。都是根据IF后面的条件(逻辑表达式)决定语句的执行顺序。 2,结构不同。逻辑IF语句由一条语句构成,内嵌一条可执行语句;块IF结构由若干条语句组成,内嵌多条可执行语句。 3,块IF语句中,当ELSE块是空块,THEN块只有一条语句时,用逻辑IF语句更方便。

  18. 例3 编程检测某年是否为闰年。 (某年能被4整除而不能被100整除;或者某年能被400整除,这年就是闰年) 逻辑IF语句 块IF结构

  19. §3.6 多重选择结构 §3.6.1 块IF嵌套 一个块IF结构中的thcn块、clse块内,又包含另一个(或多个)块IF结构。 例4 求一元二次方程 ax2+bx+c=0 (a≠0) 的根。

  20. 流程图: 开始 输入A、B、C D=B2-4AC >0 <0 D0? =0 计算两实 根并打印 计算并 打印重根 计算两复 根并打印 结束

  21. §3.6.2 ELSEIF 语句 T IF(e1)THEN 块1 ELSEIF(e2) 块2 ELSEIF(e3) 块3 ELSEIF(en) 块n ELSE 块n+1 ENDIF e1 F T e2 F … e3 F T 块1 块2 块3 块4

  22. 流程图: 开始 输入A、B、C D=B2-4AC >0 <0 D0? =0 计算两实 根并打印 计算并 打印重根 计算两复 根并打印 结束

  23. 练习: 有八个小球,其中七个的重量相等.只有一个稍轻,试用天平称两次找出其中的轻球。编程序实现这个过程。 分析:

  24. 练习: 数学游戏题:某人上楼梯,若每步跨二阶,最后余一阶;若每步跨三阶.最后余二阶;若每步跨五阶,最后余四阶.若每步跨六阶,最后余五阶;只有每步跨七阶,最后才能刚好走完。问该楼梯共有几阶。 分析: 1.设楼梯有N阶。由每步跨二阶余一所的条件,知N为奇数,设N的初值为3。 2.由每步跨三阶余二阶的条件.用3除N,若不余2,则N+2----N(加2是为保证N为奇数);再用3除N,直到余2便停止对N的累加。 3、由每步跨五阶余四阶的条件、用5除N,若不余4,则N+6----N(加6是为保证N为奇数且除3余2,因6是2和3的最小公倍数);再用5除N,直到余4停止对N的累加。 依此类推。

  25. 练习1:

  26. 练习2:

More Related