All papers

Computer Science · AQA 8525 · Paper 1A · June 2025

AQA GCSE Computer Science Paper 1A June 2025 question paper

AQA 8525 · Paper 1A

11 questions
Report a problem
What is wrong?

Goes to whoever maintains the question split. No account needed and nothing is published on this page.

Question 1

Figure 1 shows a program written in C#.

maths symbol Line numbers are included but are not part of the program.

Figure 1

Question 1, shown as an image

Where is an arithmetic operation first used in the program in Figure 1 ?

Shade one lozenge.

Figure for question 1

[1 mark]

Answer
Mark scheme for question 1.1

Which of the following is a false statement about the program in Figure 1 ?

Shade one lozenge.

Figure for question 1

[1 mark]

Answer
Mark scheme for question 1.2

State the relational operator used in the program in Figure 1.

[1 mark]

Answer
Mark scheme for question 1.3

Complete the trace table for the program in Figure 1.

You may not need to use all the rows in the table.

Figure for question 1

[4 marks]

Answer
Mark scheme for question 1.4

Question 2

Figure for question 2

State the C# code that should be written in place of the labels in the program written in Figure 2.

[3 marks]

Answer
Mark scheme for question 2.1

The coffee shop wants to work out the total value of the free biscuits, pastries and cakes given out each day.

maths symbol Each free biscuit is worth £1

maths symbol Each free pastry is worth £2.50

maths symbol Each free cake is worth £3

Write a C# program to get the number of free biscuits, pastries and cakes, and calculate the total value for the day.

Your program must:

maths symbol get the user to enter the number of free biscuits and store it in a variable

maths symbol get the user to enter the number of free pastries and store it in a variable

maths symbol get the user to enter the number of free cakes and store it in a variable

maths symbol calculate the total value of the free items

maths symbol output the total value of the free items.

You should use meaningful variable name(s) and C# syntax in your answer.

The answer grid below contains vertical lines to help you indent your code.

Figure for question 2

[4 marks]

Answer
Mark scheme for question 2.2

Question 3

Write a C# program that calculates the total cost of a netball coaching session for a group of students.

The total cost is calculated as follows:

• A booking fee of £20 plus: o £5 per student if there are 15 students or fewer o £3 per student if there are more than 15 students

• If there are more than 25 students, a booking fee of £100 and no other charges.

Your program should:

• get the user to enter the number of students

• output the total cost of the session.

You should use meaningful variable name(s) and C# syntax in your answer.

The answer grid below contains vertical lines to help you indent your code.

Figure for question 3

[8 marks]

Answer
Mark scheme for question 3

Question 4

A programmer is developing a system to register users for an app. The program needs to validate the first name of the user.

Identify the purpose of validation.

Shade one lozenge.

Figure for question 4

[1 mark]

Answer
Mark scheme for question 4.1

Write a C# program to check the user’s first name.

Your program should:

maths symbol get the user’s first name

maths symbol check that the first name has more than one character and fewer than 15 characters: o if it has, output the message Name accepted o if it has not, output the message Name not accepted

maths symbol repeat until the name entered has a specified length.

You should use meaningful variable name(s) and C# syntax in your answer.

The answer grid below contains vertical lines to help you indent your code.

Figure for question 4

[6 marks]

Answer
Mark scheme for question 4.2

Which of the following statements best describes boundary test data?

Shade one lozenge.

Figure for question 4

[1 mark]

Answer
Mark scheme for question 4.3

The programmer has started planning the tests that will be used to check the program is working correctly.

The program should:

• check that the first name has more than one character and fewer than 15 characters: o if it has, then output the message Name accepted o if it has not, then output the message Name not accepted

The start of the test plan is shown in Figure 3.

Figure for question 4

State the number of characters that a string used for test number 2 in Figure 3 could contain.

[1 mark]

Answer
Mark scheme for question 4.4

Normal and boundary are two types of test data.

State one type of test data that has not been used in Figure 3.

[1 mark]

Answer
Mark scheme for question 4.5
Figure for question 4 Figure for question 4

[3 marks]

Answer
Mark scheme for question 4.6

Question 5

Figure for question 5

An integer data type is used in the program in Figure 5.

Describe what is meant by a data type.

[1 mark]

Answer
Mark scheme for question 5.1

The variables num1, num2, num3, num4 and num5 in Figure 5 have an integer data type.

Explain why these variables do not have a string data type.

[1 mark]

Answer
Mark scheme for question 5.2

The program in Figure 5 needs to be changed to use numbers with a fractional part (a real number).

State a data type in C# that should be used.

[1 mark]

Answer
Mark scheme for question 5.3

Rewrite the program in Figure 5 so that it achieves the same result but uses an iteration structure that contains only one Console.ReadLine() statement.

Your answer must be written in C#.

You should use meaningful variable name(s) and C# syntax in your answer.

The answer grid below contains vertical lines to help you indent your code.

Figure for question 5

[5 marks]

Answer
Mark scheme for question 5.4

Question 6

A series of numbers shown in Figure 6 are to be sorted into ascending order (from smallest to largest).

Figure for question 6

A bubble sort algorithm has been developed to sort the numbers in Figure 6.

Fill in the table to show the steps involved in applying a bubble sort algorithm to sort the numbers shown in Figure 6.

You should show the new order every time the order has changed.

Figure for question 6

[3 marks]

Answer
Mark scheme for question 6.1

A programmer decides to use a merge sort algorithm to sort the same values shown in Figure 6.

Complete the diagram to show how the merge part of the merge sort algorithm is applied to Figure 6.

Figure for question 6

[3 marks]

Answer
Mark scheme for question 6.2

State one advantage and one disadvantage of a bubble sort compared to a merge sort.

Advantage

Disadvantage

[2 marks]

Answer
Mark scheme for question 6.3

The programmer has an array of 2500 numbers, stored in ascending order (smallest to largest).

The programmer needs to write a program to search for a value in the array.

Explain why a binary search is better than a linear search for this array.

[2 marks]

Answer
Mark scheme for question 6.4

Question 7

Figure for question 7

Describe the purpose of the subroutine in Figure 7.

[1 mark]

Answer
Mark scheme for question 7.1

The subroutine in Figure 7 is called using testSub(10)

Complete the table to show the values output.

Figure for question 7

[2 marks]

Answer
Mark scheme for question 7.2

The subroutine in Figure 7 is called using testSub(8)

State the value returned.

[1 mark]

Answer
Mark scheme for question 7.3

State the identifier for the parameter in Figure 7.

[1 mark]

Answer
Mark scheme for question 7.4

State two characteristics of the structured approach to programming.

[2 marks]

Answer
Mark scheme for question 7.5

Question 8

Figure for question 8

Complete the trace table for the algorithm shown in Figure 8.

You may not need to use all the rows in the table.

Figure for question 8

[5 marks]

Answer
Mark scheme for question 8.1

Explain why line 4 in Figure 8 uses LEN(b1) - 1 instead of LEN(b1)

[1 mark]

Answer
Mark scheme for question 8.2

Question 9

Figure 9 shows five algorithms, represented using pseudo-code.

Figure for question 9

The algorithms in Figure 9 have been written to calculate the total of the five values

in the array numbers. Not all of the algorithms work.

Complete the table by ticking (✓) one box in each column (A – E).

Figure for question 9

[2 marks]

Answer
Mark scheme for question 9

Question 10

Figure for question 10

Figure 11 shows pseudo-code used to create two records using the structure in Figure 10.

Figure 11

Question 10, shown as an image

Complete the line of pseudo-code to create a new record that contains the following

Figure for question 10

[1 mark]

Answer
Mark scheme for question 10.1

Complete the line of pseudo-code needed to output the time of race2

OUTPUT race2

[1 mark]

Answer
Mark scheme for question 10.2

The programmer wants to find the fastest time for a particular running event.

The times for all the runners in the event are stored in an array of real numbers called times

Write a C# program to find the fastest time.

Your program must:

maths symbol find the smallest value in the array (ie the fastest time)

maths symbol output the smallest value

maths symbol work with any size of array.

For example, if times contains 28.5, 26.3 and 30.0, the output should be 26.3

The program you write must not use any built-in routines to find the smallest value in an array or to sort the array into an order.

You do not need to write code to create the array times

You should use meaningful variable name(s) and C# syntax in your answer.

The answer grid below contains vertical lines to help you indent your code.

Figure for question 10 Figure for question 10

[6 marks]

Answer
Mark scheme for question 10.3

Question 11

Figure for question 11

The subroutine call findLetter("system", "s", "*y**em") is made. What is the value of the variable letter when line 4 is first executed?

Shade one lozenge.

Figure for question 11

[1 mark]

Answer
Mark scheme for question 11.1

The subroutine call findLetter("system", "s", "*y**em") is made. What is the value of the variable newHidden when line 7 is first executed?

Shade one lozenge.

Figure for question 11

[1 mark]

Answer
Mark scheme for question 11.2
Figure for question 11

[1 mark]

Answer
Mark scheme for question 11.3

The subroutine call findLetter("system", "s", "*y**em") is made.

What value is returned?

Shade one lozenge.

Question 11, shown as an image
Question 11, shown as an image
Question 11, shown as an image
Question 11, shown as an image

[1 mark]

Answer
Mark scheme for question 11.4
Figure for question 11

[10 marks]

Answer
Mark scheme for question 11.5

The paper as printed

Spotted a mistake on this page?Report a problem