Skip to content
Blog
PseudocodePaper 2O LevelAS Level

The 7 Pseudocode Mistakes That Cost You Marks in Paper 2

By Zafar Ali Khan · 2 Mar 2026 · 6 min read

1. Missing terminators. Every IF needs ENDIF, every WHILE needs ENDWHILE, every FOR needs NEXT, every CASE needs ENDCASE. Draw a vertical line for each block if you must.

2. ELSE IF does not exist. Nest a second IF inside the ELSE. Yes, it's ugly. It's also correct.

3. Using = for assignment. Assignment is ←. The = symbol is comparison only. Mixing them is the fastest way to lose a mark on an otherwise perfect algorithm.

4. Off-by-one loops. FOR i ← 1 TO 10 runs ten times, inclusive. If your array is ARRAY[0:9] you need FOR i ← 0 TO 9.

5. Not declaring variables. In 9618 Paper 2 you are expected to DECLARE every variable with its type. Undeclared = marks gone.

6. Forgetting the sentinel. A 'loop until the user enters -1' question needs the input before the loop and again inside it (or a REPEAT … UNTIL). Trace it on the Playground on this site to be sure.

7. Validation with no loop. 'Reject invalid input and ask again' means a REPEAT … UNTIL or WHILE — a single IF does not ask again.

Run your answers through the Pseudocode Playground on this site. If it executes and produces the right output, you've caught most of these already.

Enroll nowOnline classes