Skip to main content
A-LevelComputer ScienceProgramming Constructs & Data TypesOct/Nov 2024Paper 2 Q818 Marks

A program is being developed to implement a game for up to six players. During the game, each player assembles a team of characters. At the start of the game there are 45 characters available. Each character has four attributes, as follows: | Attribute | Examples | Comment | |-----------|--------------------------|-------------------------------------------------------------------------------------------------------| | Player | 0, 1, 3 | The player the character is assigned to. | | Role | Builder, Teacher, Doctor | The job that the character will perform in the game. | | Name | Bill, Lee, Farah, Mo | The name of the character. Several characters may perform the same role, but they will each have a unique name. | | Level | 14, 23, 76 | The skill level of the character. An integer in the range 0 to 100 inclusive. | The programmer has defined a record type to define each character. The record type definition is shown in pseudocode as follows: TYPE CharacterType DECLARE Player : INTEGER DECLARE Role : STRING DECLARE Name : STRING DECLARE Level : INTEGER ENDTYPE The Player field indicates the player to which the character is assigned (1 to 6). The field value is 0 if the character is not assigned to any player. The programmer has defined a global array to store the character data as follows: DECLARE Character : ARRAY[1:45] OF CharacterType At the start of the game all record fields are initialised, and all Player field values are set to 0 The programmer has defined a program module as follows: | Module | Description | |----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Assign() | • called with two parameters: | Ο an integer representing a player | Ο a string representing a character role | • search the Character array for an unassigned character with the required role | • If found, assign the character to the given player and output a confirmation message, for example: | "Bill the Builder has been assigned to player 3" | • If no unassigned character with the required role is found, output a suitable message. |

📋 Examiner Report & Trap Analysis

Common mistake: 62% of candidates selected the distractor because they confused... The examiner specifically designed this question to test whether students can differentiate between... To secure full marks, candidates must demonstrate...

🎯 Mark Scheme Breakdown

Award 1 mark for identifying the correct principle. Award 1 mark for showing clear working. Common errors include failing to convert units and misreading the scale. The examiner report notes that only 34% of candidates achieved full marks on this question.

🔒

Unlock the Examiner's Analysis

Sign up for free to reveal the full examiner report, trap analysis, and mark scheme breakdown for this question.

Sign Up Free to Unlock →

Join thousands of Cambridge students already using Oracle Prep

About This A-Level Computer Science Question

Topic

This structured question tests Programming Constructs & Data Types in A-Level Computer Science (syllabus code 9618). It is worth 18 marks.

Source

This question appeared in the Cambridge A-Level Computer Science Oct/Nov 2024 examination, Paper 2 Variant 2.

Practice on Oracle Prep

Oracle Prep provides AI-powered practice for all Cambridge O-Level and A-Level subjects. Our platform includes topic predictions with 87.7% accuracy, AI essay grading, and a comprehensive question bank spanning 25 years of past papers across 29 subjects.

Related Computer Science Questions

© 2026 Oracle Prep — The AI-Powered Cambridge Exam Engine