← 返回资讯屏轩教育 · 行业资讯

Year 9 WJEC Computer Science: Past Paper In-Depth Analysis | Year 9 WJEC 计算机:历年真题深度解析

2026-07-19 01:00 · 本文部分内容由AI辅助创作

📚 Year 9 WJEC Computer Science: Past Paper In-Depth Analysis | Year 9 WJEC 计算机:历年真题深度解析

Analysing past papers is one of the most effective ways to prepare for Year 9 WJEC Computer Science assessments. By working through real exam-style questions, students become familiar with command words, mark allocations, and the depth of explanation expected. This article provides a structured walkthrough of commonly examined topics, complete with model answers, common pitfalls, and examiner tips. Each section targets a core area from the WJEC specification, ensuring you build both knowledge and exam technique.

分析历年真题是备考 Year 9 WJEC 计算机科学最有效的方法之一。通过练习真实的考题风格,学生可以熟悉指令词、分值分配以及预期的解释深度。本文提供了常考主题的结构化解析,包括参考答案、常见错误和考官提示。每一节都针对 WJEC 考试大纲的核心领域,帮助你巩固知识并提升解题技巧。


1. Binary to Denary Conversion | 二进制与十进制转换

Question (WJEC-style): Convert the 8-bit binary number 10110110 to denary. Show your working.

题目(WJEC 风格):将 8 位二进制数 10110110 转换为十进制。展示你的计算过程。

Start by drawing a place value table for eight bits: 128, 64, 32, 16, 8, 4, 2, 1. Write the binary digits underneath each heading, then multiply each bit by its place value. Add all the results together.

首先画一个八位的位值表:128、64、32、16、8、4、2、1。将每一位二进制数字写在对应标题下方,然后将每位乘以它的位值,最后把所有结果相加。

128 64 32 16 8 4 2 1
1 0 1 1 0 1 1 0

The calculation is: (1×128) + (0×64) + (1×32) + (1×16) + (0×8) + (1×4) + (1×2) + (0×1).

计算过程为:(1×128) + (0×64) + (1×32) + (1×16) + (0×8) + (1×4) + (1×2) + (0×1)。

This simplifies to 128 + 0 + 32 + 16 + 0 + 4 + 2 + 0 = 182.

简化后为 128 + 0 + 32 + 16 + 0 + 4 + 2 + 0 = 182。

Answer: 182 (denary).

答案:182(十进制)。

Common mistake: Misaligning the bits under the place values can lead to an incorrect total. Always count the bits from right to left as powers of two, starting with 2⁰ on the far right.

常见错误:二进制位与位值没有对齐会导致计算错误。务必从右到左将二进制位视为 2 的幂,最右侧为 2⁰。


2. Denary to Binary Conversion | 十进制转二进制

Question: Convert the denary number 213 into an 8-bit binary number. Use the division-by-two method.

题目:将十进制数 213 转换为 8 位二进制数。使用除二取余法。

Repeatedly divide 213 by 2 and record the remainder until the quotient is zero. The binary number is formed by reading the remainders from bottom to top.

反复将 213 除以 2,并记录余数,直到商为零。从下往上读取余数就形成了二进制数。

Reading the remainders upwards gives 11010101. Since we need 8 bits, and the most significant bit is already 1, no leading zeros are required. Thus, the answer is 11010101₂.

从下往上读取余数得到 11010101。由于我们需要 8 位,而最高位已经是 1,无需添加前导零。因此答案为 11010101₂。

To verify, convert back: 128 + 64 + 0 + 16 + 0 + 4 + 0 + 1 = 213. It matches.

验证:128 + 64 + 0 + 16 + 0 + 4 + 0 + 1 = 213。完全匹配。


3. Binary Addition and Overflow | 二进制加法与溢出

Question: Add the following two 8-bit binary numbers: 11011010 and 01110101. State whether an overflow occurs and explain your answer.

题目:将以下两个 8 位二进制数相加:11011010 和 01110101。指出是否发生溢出并解释你的答案。

verflows from right to left. Remember that 1+1 = 10 (0, carry 1); 1+1+1 = 11 (1, carry 1).

逐列进行加法,从右到左处理进位。请记住 1+1 = 10(写 0,进位 1);1+1+1 = 11(写 1,进位 1)。

11011010
+ 01110101
----------
101001111

y 1. The final result is a 9-bit number: 101001111. Since the two original numbers were 8-bit and the result requires 9 bits, an overflow has occurred. Overflow happens when the sum exceeds the range representable in the given number of bits (for 8-bit unsigned, 0 to 255).

逐步计算:0+1=1;1+0=1;0+1=1;1+0=1;1+1=0 进位 1;0+1+1=0 进位 1;1+1+1=1 进位 1;1+0+1=0 进位 1。最终结果是 9 位数:101001111。由于两个原始数都是 8 位,而结果需要 9 位,发生了溢出。当和超过了给定位数所能表示的范围(8 位无符号整数的范围为 0 到 255)时,就会发生溢出。

Examiner tip: Always show your carries clearly on the exam paper to earn full marks.

考官提示:在答题纸上务必清晰地标注进位,这样才能获得满分。


4. Hexadecimal Conversions | 十六进制转换

Question: Convert the denary number 190 into hexadecimal. Show your working.

题目:将十进制数 190 转换为十六进制。展示你的计算过程。

. Convert any remainders greater than 9 into letters (10=A, 11=B, 12=C, 13=D, 14=E, 15=F).

将十进制数除以 16。整数商为第一个十六进制数字,余数为第二个。将大于 9 的余数转换为字母(10=A、11=B、12=C、13=D、14=E、15=F)。

190 ÷ 16 = 11 remainder 14. 11 in hex is B, and 14 is E. Therefore, 190 in hexadecimal is BE₁₆.

190 ÷ 16 = 11 余 14。11 的十六进制是 B,14 是 E。因此,190 的十六进制为 BE₁₆。

k to denary: (B × 16¹) + (E × 16⁰) = (11 × 16) + (14 × 1) = 176 + 14 = 190. It is correct.

通过将 BE₁₆ 转回十进制来检验:(B × 16¹) + (E × 16⁰) = (11 × 16) + (14 × 1) = 176 + 14 = 190。正确。


广告 / Sponsored

5. Logic Gates and Truth Tables | 逻辑门与真值表

Question: ruth table for the logic circuit Q = (A AND B) OR (NOT C). Use 0 for FALSE and 1 for TRUE.

题目:完成逻辑电路 Q = (A AND B) OR (NOT C) 的真值表。用 0 表示 FALSE,1 表示 TRUE。

First, work out the intermediate columns: A AND B, and NOT C. Then apply the OR operation to those two results to get Q.

首先,计算中间列:A AND B 和 NOT C。然后将这两列结果进行 OR 运算得到 Q。

ABCA AND BNOT CQ
000011
001000
010011
011000
100011
101000
110111
111101

The completed truth table shows that the output Q is 1 whenever at least one of the two conditions (A AND B) or (NOT C) is true. Notice how breaking the expression down into smaller parts makes the process easier.

完整的真值表显示,当 (A AND B) 或 (NOT C) 至少有一个为真时,输出 Q 为 1。留意将表达式分解为更小的部分可以简化过程。


6. Flowchart Tracing and Variables | 流程图跟踪与变量

Question: rithm. Trace the algorithm for the input values x=7 and x=12, and fill in the trace table.

题目:下面的流程图描述了一个算法。跟踪输入值 x=7 和 x=12 的算法执行过程,并填写跟踪表。

Flowchart description: Start → Input x → Decision: Is x > 10? → If Yes, y ← x × 2. If No, y ← x + 5. → Output y → Stop.

流程图描述:开始 → 输入 x → 判断:x > 10? → 如果是,则 y ← x × 2。如果否,则 y ← x + 5。 → 输出 y → 停止。

x=7: The condition x>10 is false, so the No branch executes. y = 7 + 5 = 12. Output is 12.

对于 x=7:条件 x>10 为假,执行“否”分支。y = 7 + 5 = 12。输出为 12。

or x=12: The condition is true, so the Yes branch executes. y = 12 × 2 = 24. Output is 24.

对于 x=12:条件为真,执行“是”分支。y = 12 × 2 = 24。输出为 24。

Input (x)Condition (x>10)?yOutput
7FALSE1212
12TRUE2424

Important: In examinations, trace tables must show the values of variables after each step. Be systematic and work line by line through the flowchart.

重要提示:在考试中,跟踪表必须显示每一步后变量的值。要有条理,按流程图逐行执行。


7. Python Code Debugging | Python 代码调试

Question: The following Python code is meant to double a number entered by the user and print the result. Identify the error and correct it.

题目:以下 Python 代码本意是让用户输入一个数字,将其加倍后打印结果。找出错误并纠正。

x = input("Enter a number: ")
y = x * 2
print("The result is", y)

The error is that the input() function always returns a string. Multiplying a string by 2 repeats the string (e.g., '5' * 2 gives '55'), rather than performing arithmetic. To fix it, the input must be converted to an integer or float: x = int(input("Enter a number: ")) or x = float(input("Enter a number: ")).

错误在于 input() 函数始终返回字符串。将字符串乘以 2 会重复该字符串(例如 '5' * 2 得到 '55'),而不是进行算术运算。要修复此问题,必须将输入转换为整数或浮点数:x = int(input("Enter a number: ")) 或 x = float(input("Enter a number: "))。

Corrected code:

纠正后的代码:

x = int(input("Enter a number: "))
y = x * 2
print

Published by TutorHao | Year 9 Computer Science Revision Series | aleveler.com

广告 / Sponsored
Linux高级程序设计(高等院校计算机技术十二五规划教材)/刘加海/季江民/浙江大学出版社
计算机 备考教辅 · 正版现货 · 与本文内容相关
查看详情 / View on Taobao参考价 ¥55.6

更多咨询请联系16621398022(同微信)

备考资讯每日更新,关注不错过
考纲变化 · 科目分析 · 学习方法
扫码关注公众号 tutorhao
在微信里长按二维码识别关注
或截图后用「扫一扫 → 相册」选择本图
公众号:tutorhao