跳到主要内容

评分标准模式

General MS Structure

MarkDescription
M1Correct algorithm structure / loop / condition
A1Correct variable usage (e.g. CurrentPointer initialised to Head)
A2Correct pointer update (e.g. CurrentPointer ← Node[CurrentPointer].NextPointer)
A3Correct output / return value
A4Handling edge cases (empty list, single node)

Q1: Type Declaration (2 – 4 marks)

Typical Mark Scheme
MarkRequirement
M1Declares a record/type for a node
A1Includes Data field with correct type
A2Includes NextPointer field with type INTEGER
A3Declares LinkedList type with Head, Tail, Current (if asked)

Q2: Traversal / Output (4 – 6 marks)

Typical Mark Scheme
MarkRequirement
M1Initialise Current to Head
A1WHILE loop with correct condition (Current <> -1)
A2Output Node[Current].Data (or equivalent)
A3Update Current ← Node[Current].NextPointer
A4Correct structure (procedure / function, correct parameters)
A5No logical errors (e.g. not modifying Head directly)

Common MS phrasing: "Award M1 for initialising current pointer. Award A1 for loop structure. Further marks awarded for correct output and pointer advancement."


Q3: Insert Node (7 marks)

Typical Mark Scheme
MarkRequirement
M1Allocate a new node from the free list (NewNode ← Free)
A1Update free pointer (Free ← Node[Free].NextPointer)
A2Store data in new node (Node[NewNode].Data ← Value)
A3Set new node's NextPointer to -1
A4Handle empty list case (Head = -1 → update Head and Tail)
A5Link current tail to new node (Node[Tail].NextPointer ← NewNode)
A6Update Tail ← NewNode
A7Correct use of IF/ELSE structure

Alternative mark distribution (for insertion at start):

MarkRequirement
M1Allocate node & update free pointer
A1Set Node[NewNode].NextPointer ← Head
A2Update Head ← NewNode
A3Handle tail if needed

Q4: Delete Node (6 – 8 marks)

Typical Mark Scheme
MarkRequirement
M1Search loop to find target node and predecessor
A1Correct loop conditions
A2Handle deletion of head node
A3Handle deletion of middle/last node
A4Update predecessor's NextPointer
A5Return deleted node to free list
A6Update Tail if last node deleted

MS Keywords

KeywordMeaning
"Award M1 for ..."Method mark – general approach
"Award A1 for ..."Accuracy mark – correct implementation
"If no marks otherwise, award M1 for ..."Fallback mark for partial attempt
"Correct context"The mark is only available in the correct scenario
"Dependent on M1"Can only get A-mark if the corresponding M-mark was awarded
备注

Always write the complete structure even if unsure. Examiners give M1 for the correct shape of code, even with minor errors.