这个单元讲的是解题中“写”的部分。考试题常要求你说明某个变量(variable)的用途、为一个测试提供理由、描述如何修正错误,或者解释追踪表(trace)为什么得出某个输出。知道答案只是一半,另一半是把它写得让阅卷员能逐点给分。
请到剑桥官方的 Computer Science 0478 课程大纲页面,核对你考试年份的内容要点和指令词。我们的计算机科学学习指南会告诉你这个单元在整个科目中的位置。
你需要先具备什么基础?
你需要能读懂含有赋值、IF、FOR 和 WHILE 的简短伪代码,并能用追踪表逐步跟踪。如果这部分还不稳,请先看适用大纲的伪代码和算法设计。测试的概念见验证、核实与测试。
一个示范例子
下面是一个短算法,以及题目可能要求的四种说明。
Total ← 0
FOR Index ← 1 TO 3
INPUT Number
Total ← Total + Number
NEXT Index
Average ← Total / 2
OUTPUT Average
变量的作用。 Total 保存到目前为止输入的数字之和。它从 0 开始,因为还没有加过任何数。
有依据的测试。 要求:输出三个数字的平均值。测试数据 4、6、8 很有用,因为预期的平均值 6 很容易手算。
对修正的描述。 第 6 行除以 2,但输入的是三个数字。把除数改成 3。
追踪表与输出的联系。 输入 4、6、8 时,Total 依次是 4、10、18。然后输出 18 / 2 = 9,与预期的 6 不符。这个差异就暴露了错误。
请注意,每个答案都提到某一行、某个数值或某条要求,而不是只说“它错了”。
学习课程的顺序是什么?
- 说明变量的用途:写出变量保存什么、为什么需要,而不是重复它的名字。
- 用要求来说明测试用例的理由:把每个测试值和它检验的规则联系起来。
- 描述修正,而不只是写出代码:用文字指出哪一行、什么错误、怎么改。
- 把追踪表和最终输出联系起来:说明答案来自追踪表的哪一行。
- 准备最小可重现的学习例子:把问题缩小到仍会出错的最小情形。
然后完成解题说明练习。受限伪代码追踪训练器和安全的 Python 推理沙盒可以帮你检查小型追踪,错题记录与重测队列则帮你记录反复出现的错误。
这个主题有哪些常见陷阱?
- 用变量名来解释变量(“Total 保存 total”)。
- 只写测试数据,不说每个值检验什么。
- 把修正写成“让它变对”,却没有指出行或具体改动。
- 把追踪表里的最后一个值当作输出,而输出其实是另一个变量。
- 把出错的程序缩得太小,错误反而消失。
怎样使用练习?
先用完整句子写出你自己的说明,再打开答案。对照示范答案,标出你漏掉的必要得分点:指出的行、数值、原因或要求。“答错了怎么办”部分会把每类错误指向对应的课程。
想让人帮忙看你写的说明的学生,可以咨询我们的线上一对一计算机科学补习。