High-Frequency Topics & Common Mistakes Analysis for CIE AS Computer Science | CIE 计算机 AS 高频考点与易错题分析

📚 High-Frequency Topics & Common Mistakes Analysis for CIE AS Computer Science | CIE 计算机 AS 高频考点与易错题分析

This revision guide brings together the most frequently examined topics in the CIE AS Computer Science syllabus and the mistakes that cost marks year after year. By focusing on floating-point representation, CPU architecture, scheduling, data structures, recursion, SQL, networking, and Boolean logic, we highlight not only what you need to know but also exactly where students slip up. Each section pairs a clear explanation with a direct analysis of common errors, helping you build the precise, exam-ready understanding required to achieve top grades.

这份复习指南汇总了 CIE AS 计算机科学大纲中最高频的考点,以及历年来反复出现、导致失分的常见错误。我们聚焦于浮点表示、CPU 体系结构、调度算法、数据结构、递归、SQL、网络以及布尔逻辑,不仅说明你需要掌握什么,更精准指出考生在哪些地方容易失手。每个小节都将清晰的解释与易错点分析直接配对,帮助你建立精准、适合考试的理解,从而冲击最高分。

1. Floating-Point Normalisation and Precision | 浮点数规格化与精度

In CIE AS, a floating-point number consists of a mantissa and an exponent, both stored in two’s complement. Normalisation requires that the most significant two bits of the mantissa are different: for positive numbers the mantissa must begin with 0.1, and for negative numbers with 1.0. A common mistake is leaving the mantissa as 0.0… or 1.1…, which wastes precision and can cause loss of accuracy in subsequent calculations. If a mantissa is not normalised, you must shift it left until the condition is met, and every left shift requires decrementing the exponent by the same number of places.

在 CIE AS 中,浮点数由尾数和指数组成,均以二进制补码存储。规格化要求尾数的最高两位必须不同:对于正数,尾数必须以 0.1 开头;对于负数,必须以 1.0 开头。常见错误是将尾数保持为 0.0… 或 1.1…,这样会浪费精度并导致后续计算不准确。如果尾数未规格化,必须将尾数左移直到满足条件,且每左移一位,指数须相应地减 1

When shifting the mantissa left to normalise, students often forget to adjust the exponent, or they mistakenly increment it instead of decrementing it. The direction is critical because left shifts increase the mantissa’s absolute value without changing the bit pattern; to keep the number equivalent, the exponent must decrease. Another trap is ignoring the fixed length of the mantissa: as bits are shifted out, precision is lost. In CIE exams, truncation is typically assumed unless rounding is explicitly requested. This is particularly significant when representing decimal values such as 0.1₁₀, which is a recurring fraction in binary and cannot be stored exactly.

当向左移动尾数以进行规格化时,考生常忘记调整指数,或者误将指数加 1 而不是减 1。方向至关重要,因为左移会增加尾数的数值而未改变位模式;要保持数值不变,指数必须减小。另一个陷阱是忽略尾数的固定长度:当位被移出时,精度就会丢失。在 CIE 考试中,除非明确要求舍入,一般假定使用截断。这一点在表示诸如十进制 0.1₁₀ 时尤为显著,因为 0.1 在二进制中是一个循环小数,无法精确存储。

mantissa × 2ᵉ

尾数 × 2ᵉ


2. CPU Registers and Assembly Addressing Modes | CPU 寄存器与汇编寻址模式

The fetch-execute cycle revolves around dedicated registers: PC (Program Counter), MAR (Memory Address Register), MDR (Memory Data Register), CIR (Current Instruction Register), and ACC (Accumulator). A high-frequency exam question asks you to trace the contents of these registers during the execution of a simple assembly program, yet marks are frequently lost because students confuse the direction of data flow: MDR holds data read from or to be written to memory, while CIR holds the instruction being executed. When the instruction LDA X is fetched, the address X goes into MAR, the value from that address is loaded into MDR, and then transferred to ACC.

取指执行周期围绕着专用寄存器展开:PC(程序计数器)、MAR(存储器地址寄存器)、MDR(存储器数据寄存器)、CIR(当前指令寄存器)和 ACC(累加器)。考试中高频出现要求追踪简单汇编程序执行过程中这些寄存器内容的题目,但常因数据流向混淆而失分:MDR 保存从内存读出或即将写入内存的数据,而 CIR 保存正在执行的指令。当取指 LDA X 时,地址 X 进入 MAR,从该地址读出的值装入 MDR,然后传送至 ACC。

Addressing modes are a rich source of mistakes. Immediate addressing means the operand field is the actual value (e.g. MOV AL, 5). Students sometimes treat this as an address and attempt a memory access. Direct addressing gives the memory location of the operand, while indirect addressing gives the address of a memory word that holds the effective address. A classic error is confusing indexed addressing with indirect addressing: in indexed addressing, the effective address is computed as [IX] + offset, where IX is the index register. The operand itself is found at that computed address, not in IX.

寻址模式是高频失分点。立即寻址意味着操作数字段就是数值本身(例如 MOV AL, 5),考生有时把它当成地址并试图访问内存。直接寻址给出操作数的内存位置,而间接寻址给出的地址里面存放的才是有效地址。一个经典错误是混淆变址寻址和间接寻址:在变址寻址中,有效地址计算为 [IX] + 偏移量,操作数在该计算出的地址处找到,而不是在 IX 中。


3. Process Scheduling Algorithms | 进程调度算法

Scheduling questions often ask you to calculate average waiting time and average turnaround time for a set of processes given arrival times and CPU burst times. FCFS is straightforward, but many students trip over the fact that waiting time includes time spent in the ready queue before execution, not just the time before first CPU allocation. In SJF (non‑preemptive), always check whether a shorter job has arrived before the current job completes; if it has, it must be scheduled next, even if it means the longer job stalls.

调度题经常要求你根据进程的到达时间和 CPU 执行时间计算平均等待时间平均周转时间先来先服务(FCFS)虽直观,但许多考生忽略了等待时间包含在就绪队列中等待的时间,而不仅仅是首次获得 CPU 之前的时间。在最短作业优先(SJF,非抢占)中,务必检查在当前作业完成之前是否有更短的作业到达;如果有,即使当前作业被推迟,下一个调度的也必须是它。

Round Robin (RR) causes the most confusion. With a time quantum q, each process runs for at most q ms before being preempted. A common mistake is forgetting that a newly arrived process must join the back of the queue, or miscalculating the completion time when a process is preempted and later resumes. I recommend drawing a Gantt chart and using a table to track remaining burst and wait times. Consider three processes: P₁ arrives at t=0, burst 10; P₂ at t=1, burst 5; P₃ at t=2, burst 3; q=4. The Gantt chart is P₁(0–4), P₂(4–8), P₃(8–11), P₁(11–17). Waiting times: P₁ = (0–0)+(11–4)=7, P₂ = 4–1=3, P₃ = 8–2=6. Average waiting time = (7+3+6)/3 = 5.33.

轮转调度(RR)最容易混淆。在时间片 q 下,每个进程最多运行 q 毫秒后便被抢占。常见错误是忘记新到达的进程必须加入队列末尾,或者在进程被抢占并稍后恢复时算错完成时间。建议绘制甘特图并用表格追踪剩余执行时间和等待时间。考虑三个进程:P₁ 于 t=0 到达,执行 10;P₂ 于 t=1 到达,执行 5;P₃ 于 t=2 到达,执行 3;q=4。甘特图为 P₁(0–4), P₂(4–8), P₃(8–11), P₁(11–17)。等待时间:P₁ = (0–0)+(11–4)=7,P₂ = 4–1=3,P₃ = 8–2=6。平均等待时间 = (7+3+6)/3 ≈ 5.33。


4. Pointer Manipulation in Linked Lists | 链表中的指针操作

Inserting and deleting nodes in a singly linked list is a high-frequency coding trace topic. The golden rule for insertion is: set the new node’s pointer before breaking the existing link. If you write current.next = newNode first, you lose the reference to the rest of the list. The correct sequence is newNode.next = current.next; current.next = newNode. Students who reverse these steps typically lose all marks on pointer‑based questions, as the list becomes disconnected.

在单向链表中插入和删除节点是高频的代码追踪考点。插入的黄金法则是:先设置新节点的指针,再打破原有链接。如果先写

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

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

Comments

屏轩国际教育cambridge primary/secondary checkpoint, cat4, ukiset,ukcat,igcse,alevel,PAT,STEP,MAT, ibdp,ap,ssat,sat,sat2课程辅导,国外大学本科硕士研究生博士课程论文辅导Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from aleveler.com

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version