第五章 选择结构
§5.1 IF语句 §5.2 IF结构 §5.3 程序举例
分支结构
在任何一种程序设计语言中,都存在三种基本程 序结构:
顺序结构
分支结构(条件判断)
循环结构 (反复执行某段程序)
顺序结构:
适用于简单问题
但有些问题的处理方案,需要由条件选择 【例5.1】:计算 y= x2 ,x<0 y= x ,x>=0 语句:IF(x〈0)then y=x**2 else y=SQRT(x) Y=x2 Y= x 方法:
X<0
END IF
分支(选择)结构
§ 5.1 IF语句
语句写法:
IF(条件) 一个可执行语句 注:1.单个语句。 条件 一个语句
2. 另一个逻辑IF 、块IF、ELSE、 ELSEIF、ENDIF、DO、END语句除外。
执行过程:计算条件表达式的值
真
假
右边语句;
下一个语句
下一个语句;
【例5.2】: x=5 IF(x>2) y=1.0 IF(x>6) y=3.0
IF (x>3) y= -1.0
PRINT*,Y
END.
注意:语句顺序的改变对结果的影响
§5.2 IF结构
IF—THEN—ELSE结构(块IF结构) 书写格式:
IF(条件)THEN :块IF语句 语句体1(THEN块):由若干语句组成
ELSE
条件 语句体1
:ELSE语句
语句体2(ELSE块):由若干语句组成 END IF 语句体2 :END IF语句
注:1. IF—THEN标记语句的开始 END IF 与之匹配,标记语句块结束 2.条件表达式写法
3.与逻辑IF语句的区别:
有无THEN关键字
可执行语句的个数
有无END IF关键字
【例5.3】计算职工工资。工人每小时计时工资为RATE, 如果一周工作时间超过40小时,加班部分的工资按正常 时间工资的1.5倍计算。
【例5.4】输入一个整数,判断是奇数还是偶数
分析: 输入N 块IF
MOD(N,2)= =0 偶 奇
注:
在块IF结构中,THEN 和ELSE段中可以有一个为空段。 (1)当ELSE段为空时,块IF结构的书写格式为:
IF(条件)THEN 语句体1(THEN块)
END IF
(2)当THEN段为空时,块IF结构的书写格式为:
IF(条件)THEN
ELSE 语句体2(ELSE块) END IF
块IF的嵌套
在块IF结构的THEN块和ELSE块中,可以 完整地包含另一个(或多个)块IF结构, 以构成更复杂的分支结构程序,称为块 IF的嵌套。
块IF结构嵌套的一般形式为:
IF(e1)THEN : IF(e2)THEN : ELSE : END IF ELSE IF(e3)THEN : ELSE : END IF ENDIF
【例5.5】三个数A、B、C,按升序排列。
【例5.6】学生考试成绩,大于等于80分的为A等, 大于等于60分而小于80分的为B等,小于60分的 为D等。
【例5.7】如果在上例的基础上将80分以上定为A 等,70~79分为B等,60~69分定为C等,小于60分 的为D等。