题型分析
| 题型 | 分值 | 频率 | 难度 |
|---|---|---|---|
| Enqueue with circular wrap-around | 6 marks | High | ★★★ |
| Dequeue with circular wrap-around | 6 marks | High | ★★★ |
| Full / empty state detection | 2–3 marks | Medium | ★★ |
Q1: Enqueue (6 marks)
Identify: Prompt says "add an item to the circular queue" or "enqueue with wrap-around".
Method:
- Check if queue is full
- Update
TailPointerwith wrap - Insert item
- Increment
NumberOfItems
MS Pattern:
M1 Check if full (1 mark)
IF NumberOfItems = QueueSize THENor equivalent
A1 Wrap TailPointer (1 mark)
TailPointer ← (TailPointer + 1) MOD QueueSize- Must use MOD, not manual
IF
A1 Insert item (1 mark)
Queue[TailPointer] ← NewItem
A1 Increment NumberOfItems (1 mark)
NumberOfItems ← NumberOfItems + 1
A1 Output full message (1 mark)
- Appropriate message when
NumberOfItems == QueueSize
A1 Correct ENDIF, variable types (1 mark)
- Proper structure and typed parameters
Traps:
- ❌ Using
TailPointer ← TailPointer + 1without MOD — only gets M1, loses A1 - ❌ Checking
IF TailPointer == QueueSize THEN TailPointer = 0— not accepted, must use MOD - ❌ Forgetting to increment
NumberOfItems - ❌ Inserting item before wrapping
TailPointer
Q2: Dequeue (6 marks)
Identify: Prompt says "remove an item from the circular queue" or "dequeue with wrap-around".
Method:
- Check if queue is empty
- Wrap
HeadPointer - Retrieve item
- Decrement
NumberOfItems - Return item
MS Pattern:
M1 Check if empty (1 mark)
IF NumberOfItems = 0 THENor equivalent
A1 Wrap HeadPointer (1 mark)
HeadPointer ← (HeadPointer + 1) MOD QueueSize
A1 Retrieve item (1 mark)
Item ← Queue[HeadPointer]
A1 Decrement NumberOfItems (1 mark)
NumberOfItems ← NumberOfItems - 1- Must be after retrieval
A1 Return item (1 mark)
RETURN Itemor equivalent output
A1 Output empty message (1 mark)
- Appropriate message when
NumberOfItems == 0
Traps:
- ❌ Wrapping
HeadPointerbefore checking empty — algorithm breaks - ❌ Returning item before decrementing —
NumberOfItemsout of sync - ❌ Using
HeadPointer - 1or wrong MOD direction
真题示例
| Exam | Paper | Question | Type |
|---|---|---|---|
| 9618/s25/qp/41 | Paper 4 | Q1 | Enqueue + Dequeue |
| 9618/s23/qp/42 | Paper 4 | Q2 | Enqueue with wrap |
复习建议
For each past paper, practice writing the full procedure from memory before checking the mark scheme. Pay special attention to the MOD operation — it is the single most common place to lose marks.