跳到内容
SPM Tuition
考试指南

SPM计算机科学答题与评估指南

你看得懂代码,考试时却总在答案的写法上丢分。

这一页讲的是怎样读懂并回答计算机科学的题目。试卷结构、分数和比重不在这里写明,因为这些属于教育部考试局(lp.moe.gov.my)和课程发展司(bpk.moe.gov.my)发布的官方文件。

规划复习之前,请先到官方网站确认当前格式。下面的习惯无论格式怎么变都用得上。

怎样看出题目要你写什么?

指令词决定答案的形状。动笔之前,先把它划出来。

指令词 答案该写什么
State, name, identify 简短作答,不必写原因
Explain 一个陈述加上原因,常用“因为”连接
Trace 一张表,列出每个变量随步骤变化的值
Write, complete 写出代码或伪代码,或补全缺的部分
Compare 两个对象都要写,至少指出一处不同
Justify, suggest 给出一个选择,并附上支持它的依据
Test 选定输入、预期输出,以及每个输入检查什么

遇到 Trace 和 Test,不要用一段文字代替表格。题目要表,就交表。

追踪表怎么排?

每个变量占一栏,值一变就加一行,输出另外写在最后。阅卷员能顺着每一步看下去,才好给方法分。

下面是一段原创算法:把 1 到 6 之间能被 3 整除的数各乘 2,再累加起来。

total ← 0
FOR n ← 1 TO 6
   IF n MOD 3 = 0 THEN
      total ← total + n * 2
   END IF
END FOR
OUTPUT total
n n MOD 3 = 0 total
开始 0
1 false 0
2 false 0
3 true 6
4 false 6
5 false 6
6 true 18

输出是 18。只有 n 等于 3 和 6 时条件成立,所以 3 × 2 + 6 × 2 = 6 + 12 = 18。

原创例子:分数是怎么丢的

甲同学没画表,只写了一个 18。如果凑巧对了,也许能拿到答案分。一旦错了,阅卷员找不到任何可以给方法分的步骤。

乙同学画了表,却在每一行都把 n 乘 2 加进 total,忽略了 IF。表格排得整齐,但条件没有读,所以 total 变成了 42。条件要在每一行都读一遍,这一步最容易被跳过。

丙同学把 FOR 的范围看成到 5,漏掉了 n = 6。循环的边界值要对照题目再确认一次。

哪些习惯可以保住分数?

  1. 先读完整道题,再划出指令词。
  2. 变量名要和题目里的写法完全一致。
  3. 循环开始之前,先写一行“开始”,填上初始值。
  4. 检查边界值,也就是循环的第一个值和最后一个值。
  5. 沿用题目所用的伪代码风格或编程语言。
  6. 确认输出语句也写进了答案。

想练习追踪和测试,可以看一步一步追踪伪代码 (英文)和测试正常、边界与无效输入 (英文)这两课。

怎样练习?

在纸上限时作答,做完再对照每个指令词的要求检查自己的答案。限时原创练习生成器可以帮你排好一节练习,复习计划 (英文)则建议先复习哪些主题。

实践和项目部分在学校评估,请向你的老师询问安排。如果你想请老师和你一起批改一份完整的答案,可以看一对一线上计算机科学补习。

常见问题

在哪里可以查到SPM计算机科学最新的考试格式?

请查看教育部考试局(Lembaga Peperiksaan)网站 lp.moe.gov.my,或课程发展司(BPK)网站 bpk.moe.gov.my。格式、文件和校本评估部分都可能调整,所以请以你所属年份的官方资料和学校老师的说明为准。

答案应该写代码还是伪代码?

看题目怎么问,也看学校教的是哪一种。题目写明伪代码,就用缩进清楚的步骤来写。题目指定了编程语言,就按该语言的语法写。拿不准时,直接问老师试卷期望哪种写法。

追踪表画得不整齐会扣分吗?

别人看不懂的答案,即使最后的值对了也可能丢分。每个变量各占一栏,每次数值变化就加一行,最后另写输出,这样阅卷员才能逐步核对。

考试时间该怎么分配?

先把全卷读一遍,标出能马上动笔的题目,先做这些。留几分钟回头检查追踪表和边界值。空白一分也拿不到,而有方法的尝试可以拿到方法分。

如果你看得懂代码,却在措辞和排版上丢分,一对一课程里老师可以拿你写好的完整答案,逐条指出每一分是在哪里流失的。

  • 为孩子安排线上一对一课程,由经验丰富的老师授课。
  • 第一堂是一小时试听课,RM50 起。学费在预约前就先谈好。
  • 对老师满意就继续上课,每堂约 1.5 小时;不满意可以要求换老师。