编程
用 IF 和 CASE 进行选择
用 IF、ELSE、嵌套 IF 和 CASE OF 做决定,配合比较运算符和布尔运算符。
示例使用 2026–2028 考纲中的剑桥伪代码。
IF ... THEN ... ELSE
选择让程序决定执行哪些语句。IF 语句检查一个条件:如果为 TRUE,就执行 THEN 块;如果为 FALSE,就改为执行可选的 ELSE 块。
伪代码
DECLARE Mark : INTEGER
INPUT Mark
IF Mark >= 50
THEN
OUTPUT "Pass"
ELSE
OUTPUT "Try again"
ENDIF走哪条路?
| Mark | Mark >= 50 | OUTPUT |
|---|---|---|
| 72 | TRUE | Pass |
| 50 | TRUE | Pass |
| 49 | FALSE | Try again |
| 0 | FALSE | Try again |
步骤 1 / 4
>= 包含它,> 则不包含。比较运算符
条件由比较构成,比较的结果总是 TRUE 或 FALSE:
| 运算符 | 含义 | 结果为 TRUE 的例子 |
|---|---|---|
= | 等于 | 5 = 5 |
<> | 不等于 | 5 <> 3 |
< | 小于 | 3 < 5 |
<= | 小于或等于 | 5 <= 5 |
> | 大于 | 7 > 2 |
>= | 大于或等于 | 7 >= 7 |
AND、OR、NOT
布尔运算符把条件组合起来。AND 只有两边都为 TRUE 时才为 TRUE。OR 只要至少一边为 TRUE 就为 TRUE。NOT 把 TRUE 和 FALSE 互换。
伪代码
DECLARE Age : INTEGER
DECLARE Ticket : STRING
INPUT Age
INPUT Ticket
IF Age >= 12 AND Ticket = "Y"
THEN
OUTPUT "Enjoy the film"
ELSE
OUTPUT "Sorry, you cannot go in"
ENDIF嵌套 IF
一个 IF 可以放在另一个 IF 的 THEN 或 ELSE 块里。只有程序走到包含它的那个分支时,才会检查内层条件:在这里,只有 Mark >= 70 为 FALSE 时才会检查。每一层都要缩进,这样才能看清哪个 ENDIF 结束哪个 IF。
伪代码
DECLARE Mark : INTEGER
INPUT Mark
IF Mark >= 70
THEN
OUTPUT "Grade A"
ELSE
IF Mark >= 50
THEN
OUTPUT "Grade B"
ELSE
OUTPUT "Grade C"
ENDIF
ENDIFCASE OF
当一个变量要和几个固定值逐一比较时,CASE OF 比一堆嵌套 IF 更短、更清楚。OTHERWISE 处理所有没有列出的值。
伪代码
DECLARE Choice : INTEGER
OUTPUT "1 Play 2 Settings 3 Quit"
INPUT Choice
CASE OF Choice
1 : OUTPUT "Starting game"
2 : OUTPUT "Opening settings"
3 : OUTPUT "Goodbye"
OTHERWISE : OUTPUT "Invalid choice"
ENDCASE自我检测
在嵌套 IF 的例子中,Mark 为 50 时输出什么?查看答案
Grade B。第一个判断(>= 70)为 FALSE,第二个(>= 50)为 TRUE。
NOT (5 > 3) OR 2 = 2 是 TRUE 还是 FALSE?查看答案
NOT TRUE 为 FALSE,2 = 2 为 TRUE,FALSE OR TRUE 为 TRUE。
什么时候用 CASE 比用 IF 更好?查看答案
当一个变量要和几个特定值比较时,例如菜单选项。
编写这些课程时使用的参考资料
我们在编写本课程时参考了这些官方文件,用以确定考纲结构和课程要求。
Cambridge International · 2210 · 2026–2028 年考试