Marks in Paper 1 are not only for output. Structure, naming, efficiency and readability all carry marks, and they're the difference between a pass and a distinction on a working program.
| Principle | Poor | Better |
|---|---|---|
| Naming | a := b * 0.15; | vat := price * VAT_RATE; |
| Efficiency | Loop always runs to the end | Break out as soon as the item is found |
| Structure | 300 lines in one begin…end | Procedures and functions, each doing one thing |
| Constants | if mark >= 50 then (twice) | const PASS_MARK = 50; |
💡 Exam Tip
A PAT mark scheme allocates marks for exactly these things. Renaming your variables sensibly before submitting is one of the cheapest marks available.