Oxford Cambridge and RSA
Monday 19 May 2025 – Afternoon
AS Level Computer Science
H046/02 Algorithms and problem solving
Time allowed: 1 hour 15 minutes
Do not use:
* 9 8 8 2 5 9 5 3 0 3 *
• a calculator
* H 0 4 6 0 2 *
Please write clearly in black ink. Do not write in the barcodes.
Centre number Candidate number
First name(s)
Last name
INSTRUCTIONS
• Use black ink.
• Write your answer to each question in the space provided. If you need extra space use
the lined page at the end of this booklet. The question numbers must be clearly shown.
• Answer all the questions.
INFORMATION
• The total mark for this paper is 70.
• The marks for each question are shown in brackets [ ].
• Quality of extended response will be assessed in questions marked with an asterisk (*).
• This document has 16 pages.
ADVICE
• Read each question carefully before you start your answer.
© OCR 2025 [601/5030/0] OCR is an exempt Charity
DC (KS) 324952/8 Turn over
for more: tyrionpapers.com
, 2
1 A gym owner would like a program for members to be able to book gym classes. Each class can
have a maximum of 20 members.
Members will enter their membership ID and then the date and time of the class they want to
attend. Validation rules will check these details meet set rules. If they do not meet the validation
rules then an error message will be displayed. A confirmation message will be displayed if the
class is not full. A bleeping sound will play if the class is full.
(a) Identify two inputs and two outputs for the program.
Input 1 ..............................................................................................................................................
Input 2 ..............................................................................................................................................
Output 1 ...........................................................................................................................................
Output 2 ...........................................................................................................................................
[4]
(b) The programmer is identifying any possible reusable components in the program design.
Explain why the programmer should create reusable program components.
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..................................................................................................................................................... [3]
© OCR 2025
for more: tyrionpapers.com
, 3
BLANK PAGE
DO NOT WRITE ON THIS PAGE
© OCR 2025 Turn over
for more: tyrionpapers.com
, 4
2 Players in a computer game collect items. Each item has a name, e.g. “Fruit” and a type,
e.g. “Apple”. The items for player 1 are stored in a 2D array. The array is 0-indexed.
The pseudocode declaration for the array is:
array p1Items[10,2]
The first dimension stores the item name and the second dimension stores the type.
(a) One characteristic of the array is that it has 2 dimensions.
Identify two other characteristics of the given array.
1 .......................................................................................................................................................
..........................................................................................................................................................
2 .......................................................................................................................................................
..........................................................................................................................................................
[2]
(b) When the game starts, the pseudocode procedure initialiseArray will initialise each name
and type in the array to "empty".
01 procedure initialiseArray(p1Items:byRef)
02 counter = 0
03 while counter < 10
04 p1Items[counter, 0] = "empty"
05 p1Items[counter, 1] = "empty"
06 counter = counter + 1
07 endwhile
08 endprocedure
(i) State why empty is in speech marks on lines 04 and 05.
..........................................................................................................................................................
..................................................................................................................................................... [1]
(ii) Rewrite the code in lines 02 to 07 to use a for loop instead of a while loop.
Write your answer using pseudocode or program code.
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..................................................................................................................................................... [2]
© OCR 2025
for more: tyrionpapers.com
Monday 19 May 2025 – Afternoon
AS Level Computer Science
H046/02 Algorithms and problem solving
Time allowed: 1 hour 15 minutes
Do not use:
* 9 8 8 2 5 9 5 3 0 3 *
• a calculator
* H 0 4 6 0 2 *
Please write clearly in black ink. Do not write in the barcodes.
Centre number Candidate number
First name(s)
Last name
INSTRUCTIONS
• Use black ink.
• Write your answer to each question in the space provided. If you need extra space use
the lined page at the end of this booklet. The question numbers must be clearly shown.
• Answer all the questions.
INFORMATION
• The total mark for this paper is 70.
• The marks for each question are shown in brackets [ ].
• Quality of extended response will be assessed in questions marked with an asterisk (*).
• This document has 16 pages.
ADVICE
• Read each question carefully before you start your answer.
© OCR 2025 [601/5030/0] OCR is an exempt Charity
DC (KS) 324952/8 Turn over
for more: tyrionpapers.com
, 2
1 A gym owner would like a program for members to be able to book gym classes. Each class can
have a maximum of 20 members.
Members will enter their membership ID and then the date and time of the class they want to
attend. Validation rules will check these details meet set rules. If they do not meet the validation
rules then an error message will be displayed. A confirmation message will be displayed if the
class is not full. A bleeping sound will play if the class is full.
(a) Identify two inputs and two outputs for the program.
Input 1 ..............................................................................................................................................
Input 2 ..............................................................................................................................................
Output 1 ...........................................................................................................................................
Output 2 ...........................................................................................................................................
[4]
(b) The programmer is identifying any possible reusable components in the program design.
Explain why the programmer should create reusable program components.
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..................................................................................................................................................... [3]
© OCR 2025
for more: tyrionpapers.com
, 3
BLANK PAGE
DO NOT WRITE ON THIS PAGE
© OCR 2025 Turn over
for more: tyrionpapers.com
, 4
2 Players in a computer game collect items. Each item has a name, e.g. “Fruit” and a type,
e.g. “Apple”. The items for player 1 are stored in a 2D array. The array is 0-indexed.
The pseudocode declaration for the array is:
array p1Items[10,2]
The first dimension stores the item name and the second dimension stores the type.
(a) One characteristic of the array is that it has 2 dimensions.
Identify two other characteristics of the given array.
1 .......................................................................................................................................................
..........................................................................................................................................................
2 .......................................................................................................................................................
..........................................................................................................................................................
[2]
(b) When the game starts, the pseudocode procedure initialiseArray will initialise each name
and type in the array to "empty".
01 procedure initialiseArray(p1Items:byRef)
02 counter = 0
03 while counter < 10
04 p1Items[counter, 0] = "empty"
05 p1Items[counter, 1] = "empty"
06 counter = counter + 1
07 endwhile
08 endprocedure
(i) State why empty is in speech marks on lines 04 and 05.
..........................................................................................................................................................
..................................................................................................................................................... [1]
(ii) Rewrite the code in lines 02 to 07 to use a for loop instead of a while loop.
Write your answer using pseudocode or program code.
..........................................................................................................................................................
..........................................................................................................................................................
..........................................................................................................................................................
..................................................................................................................................................... [2]
© OCR 2025
for more: tyrionpapers.com