Centre number Candidate number
Surname
Forename(s)
Candidate signature
I declare this is my own work.
GCSE
COMPUTER SCIENCE
Paper 1 Computational thinking and programming skills – Python
Monday 12 May 2025 Afternoon Time allowed: 2 hours
Materials For Examiner’s Use
• There are no additional materials required for this paper.
• You must not use a calculator. Question Mark
Instructions 1
• Use black ink or black ball-point pen. Use pencil only for drawing. 2
• Answer all questions.
3
• You must answer the questions in the spaces provided.
• If you need extra space for your answer(s), use the lined pages at the end of 4
this book. Write the question number against your answer(s). 5
• Do all rough work in this book. Cross through any work you do not want
to be marked. 6
• Questions that require a coded solution must be answered in Python. 7
• You should assume that all indexing in code starts at 0 unless stated otherwise. 8–9
Information 10
The total number of marks available for this paper is 90. 11
TOTAL
Advice
For the multiple-choice questions, completely fill in the lozenge alongside the appropriate answer.
CORRECT METHOD WRONG METHODS
If you want to change your answer you must cross out your original answer as shown.
If you wish to return to an answer previously crossed out, ring the answer you now wish to select as
shown.
*Jun2585251B01*
8525/1B
for more: tyrionpapers.com
IB/G/Jun25/G4003/E11
, 2
Do not write
outside the
Answer all questions. box
0 1 Figure 1 shows a program written in Python.
• Line numbers are included but are not part of the program.
Figure 1
1 # Python program
2 a = 1
3 b = 1
4 c = 5
5 while b < c:
6 a = a + a
7 b = b + 1
8 print(a)
0 1 . 1 Where is an arithmetic operation first used in the program in Figure 1?
Shade one lozenge.
[1 mark]
A Line number 1
B Line number 5
C Line number 6
D Line number 8
0 1 . 2 Which of the following is a false statement about the program in Figure 1?
Shade one lozenge.
[1 mark]
A This program contains a comment.
B This program uses assignment.
C This program uses concatenation.
D This program uses iteration.
*02* for more: tyrionpapers.com
IB/G/Jun25/8525/1B
, 3
Do not write
outside the
0 1 . 3 State the relational operator used in the program in Figure 1. box
[1 mark]
0 1 . 4 Complete the trace table for the program in Figure 1.
You may not need to use all the rows in the table.
[4 marks]
a b c Output
7
Turn over for the next question
Turn over ►
*03* for more: tyrionpapers.com
IB/G/Jun25/8525/1B
, 4
Do not write
outside the
0 2 A coffee shop has a loyalty scheme which rewards customers for buying drinks. box
The customer gets one stamp on their loyalty card for each individual drink they buy.
• Every 4th stamp on the card gets the customer a free biscuit.
• Every 5th stamp on the card gets the customer a free pastry.
• When the customer reaches 20 stamps, they get a free cake (but no biscuit or
pastry).
The Python program shown in Figure 2 should display whether the customer gets a
free biscuit, pastry, cake or nothing free for their first 20 drinks.
For each drink purchased, the program must output either: "Free biscuit",
"Free pastry", "Free cake" or "Nothing free".
Some parts of the program have been replaced with the labels to .
Figure 2
i = 1
while i <= 20:
if i % 20 == 0:
print("Free cake")
elif :
print("Free pastry")
elif i % 4 == 0:
else:
i = i + 1
0 2 . 1 State the Python code that should be written in place of the labels in the program
written in Figure 2.
[3 marks]
*04* for more: tyrionpapers.com
IB/G/Jun25/8525/1B