0% found this document useful (0 votes)
88 views

Computer Science PAPER 2: Application of Computational Thinking

Pearson Edexcel Level 1/Level 2 GCSE (9–1)

Uploaded by

Abbas Moosavi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
88 views

Computer Science PAPER 2: Application of Computational Thinking

Pearson Edexcel Level 1/Level 2 GCSE (9–1)

Uploaded by

Abbas Moosavi
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 36

Please check the examination details below before entering your candidate information

Candidate surname Other names

Centre Number Candidate Number


Pearson Edexcel
Level 1/Level 2 GCSE (9–1)

Time 2 hours
Paper
reference 1CP1/02
Computer Science
PAPER 2: Application of Computational Thinking

You must have: Total Marks


Pseudocode command set (enclosed)

Instructions
• Use black ink or ball-point pen.
• Fill in the boxes at the top of this page with your name,
centre number and candidate number.
• Answer all questions.
• Answer the questions in the spaces provided
– there may be more space than you need.
• Use of a calculator is prohibited.
Information
• The total mark for this paper is 80.
• The marks for each question are shown in brackets
– use this as a guide as to how much time to spend on each question.

Advice
• Read each question carefully before you start to answer it.
• Try to answer every question.
• Check your answers if you have time at the end.
• Good luck with your examination.

Turn over

*P66483A0128*
P66483A
©2021 Pearson Education Ltd.

1/1/1/
Answer ALL questions. Write your answers in the spaces provided.
Questions in this paper are based on a scenario.
Crawdale Leisure Centre
Crawdale Leisure Centre provides modern sports facilities including an indoor swimming pool,
fitness suite, badminton hall and squash courts.
Crawdale Leisure Centre offers five membership schemes: full, junior (under 16), swim only,
junior swim only and fitness only.
1 A computer program is used to check and record membership applications. The first
name, last name and telephone number of people applying for membership are
stored as variables.
(a) State two other items that need to be stored as variables.
(2)

1.............................. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

................................. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.............................. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

................................. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
*P66483A0228*
(b) Full members enjoy free off-peak racket sports and get a 50% discount when
booking badminton and squash courts for peak times. A computer program is
used to manage the bookings.
Complete the table to show an input, a process and an output.

Input Process Output

Match membership number


Membership type
with membership type

Available – proceed with


Booking date and time booking
required
Not available – return to input

If yes apply discount to cost of


Peak time Yes/no
booking

(3)
(c) The basic cost of a full membership is £432.00 for a 12-month contract.
Most members choose to pay this in monthly instalments.
The basic cost of a full membership is adjusted by applying a 5% discount for
each consecutive year of membership.
Construct a general expression to calculate the monthly cost of a
full membership.
(2)

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................................................................................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................................................................................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................................................................................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................................................................................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(Total for Question 1 = 7 marks)

3
*P66483A0328* Turn over
2 The leisure centre uses an algorithm, based on demand in previous years, to
determine peak and off peak times.
Here is the pseudocode for this algorithm.
The values for month are 1 = January, 2 = February, … 12 = December
The values for day are 1 = Monday, 2 = Tuesday … 7 = Sunday

(a) State the name of the programming construct used in line 7 of the algorithm.
(1)

................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4
*P66483A0428*
(b) Complete the table to show the output of the algorithm for the given inputs.
(3)

Inputs Output

(month = 7)

(month = 12) AND (time = 19:00)

(month = 4) AND (day =6)

(c) The algorithm needs to be tested.


Construct suitable test data to produce an output stating ‘Off peak rates apply’.
(3)

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(Total for Question 2 = 7 marks)

5
*P66483A0528* Turn over
BLANK PAGE

6
*P66483A0628*
3 The leisure centre runs fitness classes.
(a) This is an algorithm used by instructors to check the Body Mass Index (BMI) of
people attending their classes.

Function pMass, pHeight

mass , height

Lines 4 and 22 of the algorithm are incomplete.


Complete the algorithm by filling in the boxes.
(6)

7
*P66483A0728* Turn over
(b) This is an algorithm that processes details of attendance at the fitness classes
stored in an array.

(i) State the process being carried out at line 7 of the algorithm.
(1)
For loop presenting every element through index number of arrayAttendance
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8
*P66483A0828*
(ii) The values in the attendance array are 25, 15, 25, 20, 15
Complete the trace table showing the execution of the algorithm with these
five values. You may not need to fill in all the rows in the table.
(6)

count T M DISPLAY

1 25 0 25

2 40 0 40

3 65 0 65

4 85 0 85

5 100 0 100

100 20 20
5

(Total for Question 3 = 13 marks)

9
*P66483A0928* Turn over
4 The leisure centre stores information about the fitness classes. Each class is
supervised by a qualified instructor.
(a) The information about instructors must be stored using data types that are the
most suitable for the data elements.
Complete the table to identify the missing data types.
(4)

Data element Example Data type

ID Reference 26_SMJ_C_3 String

Surname SMITH String

Initial J Char

Telephone 08756 554221 Integer

Qualification type H & F Certificate String

Qualification level 3 Integer

Hourly rate (£) 55.00 Float

10
*P66483A01028*
(b) The information about instructors is validated.
(i) Explain the need for validating input data.
(2)

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(ii) Describe two methods of validating data.


(4)

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(Total for Question 4 = 10 marks)

11
*P66483A01128* Turn over
5 The leisure centre organises a squash competition. Players are ranked in descending
order of the points they have scored in matches.
The rankings are set after each match.
The pseudocode for part of the program used to manage the squash competition
is shown.

temp = 1

10, 9 8 ,7 , 6 .......

array[0+1] = temp [1,2,3,4,5,6,7,8,9,10] 2.2.3.4.5.6.7.8.9.10

temp = array[0] index = 0 2,1,3,4,5,6,7,8,9,10


(a) (i) The algorithm includes an error on line 9. if array[index,2] > array[index+1,2]
array[index] = array[index+1]
Name this type of error.
array[0] = array[0+1 = 1 ]
(1)
arraytosort[index] > arraytosort[index+1]
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

We cant use the second parameter for the array only index number will comes inside
the square brackets
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(ii) Give a new line of code that will correct the error.
(1)
arraytosort[index] > arraytosort[index+1]
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(b) State the type of data structure referred to in the algorithm.


(1)
The data structure referred to in the algorithm is an array. Specifically, the array (arrayToSort) which contains
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
elements with the format [membershipID, name,points]. The algorithm sorts this array based on the third
element (points) using a sorting technique similar to bubble sort algorithm
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12
*P66483A01228*
(c) (i) Describe how the algorithm could be refined to make it more efficient.
By using Merge Sort() (4)
Procedure sort()
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Begin Procedure array = 2,4,3,1,5,6,10,8,9,7


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

If length(array) > 1 then { mid =6 10/2 = 5


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

set mid to length(array) / 2 mid =5


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
0 ..... 4 2,4,3,1,5
set leftside to array[0 to mid-1]
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

set rightside to array[mid to length(array) - 1] 5.....9 6,10,8,9,7


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

mergeSort(leftside) 1,2,3,4,5 else:


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

mergeSort(rightside) 6,7,8,9,10 array[k] to rightside[j]


set j to j+1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................

set i, j, k to 0 i = 0, j = 0, k = 0
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
set k to k+1
while i < length(leftside) AND j < length(rightside) DO
END WhILE
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
if leftside[i,2] < RIGHTSIDE[J,2] THEN
END PROCEDURE
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
array[k] to leftside[i]
set i to i +1
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(ii) State two changes that could be made to the algorithm to improve the
readability of the pseudocode.
(2)
temp ----> tempSwap
1............................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
player -----> Count
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

index
2............................ -----> currentIndex
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(Total for Question 5 = 9 marks)

13
*P66483A01328* Turn over
6 The leisure centre uses a control system to regulate the water temperature in the pool
and the air temperature and humidity in the pool hall.
These are the acceptable conditions for swimming competitions.
• water temperature (wTemp) 28°C maximum and 25°C minimum
• air temperature (aTemp) wTemp + 2°C
• humidity 70% maximum
Air temperature and humidity in the pool hall can be reduced by switching on the air
conditioning (AC).
(a) Write an algorithm in pseudocode, using variables wTemp, aTemp and humidity,
for achieving acceptable conditions in the pool hall for a competition.
(4)
wTemp, aTemp, humidity
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

minWaterTemp = 25, maxWaterTemp = 28, maxHumidity = 70


................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Begin
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 1: Check if water temperature is within the acceptable range


................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 2: Check if air temperature is within the acceptable range


................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 3: Check if humidity is within the acceptable range


................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 4: Final Output / Result


................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

End
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Step1:
if wTemp < minWaterTemp OR wTemp > maxWaterTemp
Print " Water temperature is out of acceptable range"
Adjust water temperature to within minWaterTemp to maxWaterTemp

else: Step 3:
Print" Water temperature is acceptable."
if humidity > maxHumidity

Step 2: Print "Humidity is not acceptable."


Switch on AC to reduse Humidity
if aTemp != (wTemp +2)

Print "Air Temperature is not acceptable" else:


Adjust air temperature to wTemp + 2 C Print "Humidity is acceptable."

else: Step 4:
Print "Air temperature is acceptable"
Print " All Conditions are now within the
acceptable range."

14
*P66483A01428*
(b) The pool water temperature is adjusted using a pool heater.
Construct a Boolean logic expression using wTemp, aTemp and humidity,
where TRUE = within acceptable range.
The expression should set the pool heater to off and the air conditioner to on.
(3)
PoolHeaterOff , ACon
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

PoolHeaterOff = (wTemp >= 25) AND (wTemp <=28)


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ACon = (humidity > 70)


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

(Total for Question 6 = 7 marks)

15
*P66483A01528* Turn over
BLANK PAGE

16
*P66483A01628*
7 The leisure centre organises a swimming gala. A computer control system is used to
manage the swimming races.
The control system consists of a central computer linked to these peripherals:
• starting blocks with pressure sensors where swimmers stands
• starter with horn and strobe lights Step 6: End of the Race:
• false start re-call with horn and strobe lights -> The system outputs the time for each swimmer
• wall mounted touch pads display the results.

• automatic timer. -> The race is reset for next race.

The length of the swimming pool is 25 m.


Create an algorithm for the control of a 50 m race using the peripherals listed.
Use a written description for the algorithm.
(6)
Begin
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 1: Preparation of the Stage:


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

-> The starting blocks with pressure sensors detect the swimmers standing on the blocks.
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

-> The automatic timer is set to 0.


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 2: Start of Race:


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

-> Once all pressure sensors confirm that all swimmers are on their starting blocks the system waits
for 2 to 3 seconds.
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

-> The horn and the strobe lights to signal the start of the race.
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

-> The automatic timer starts.


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 3: Monitoring Race:


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

-> The system continuously monitors the pressure sensors to detect any false start.
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

-> If any swimmer leaves the starting block before the horn, the system should trigger the false start,
recall using the horn and strobe lights.
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

-> If no false start detected, the race continues.


............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Step 4: First Lap(25m):


(Total for Question 7 = 6 marks)
-> Swimmers reach the end of the first lap they have to touch the wall-mounted touch pads for the
completion of the first lap.

-> The system ensures that each swimmer touches the pad before allowing them to proceed to second
lap.
Step 5: Second Lap(50m):
-> When all the conditions are met for the first lap, the system register the completion of the race.
-> The automatic timer should stops for each swimmer upon their final touch.

17
*P66483A01728* Turn over
8 A swimming event at the gala consists of 3 heats, each with 6 swimmers.
Heat winners and the 3 fastest losers from the heats qualify for the final.
Heat_File is used to record the results of the heats. For each swimmer, the file stores:
• swimmer number SN (1 – 18)
• heat winner W (Y/N)
• heat time T
The file is sorted by heat time T in ascending order.
(a) Complete the flowchart to illustrate the process of selecting the swimmers for
the final.
(6)

This shape is used to represent input and output.

18
*P66483A01828*
START
F_Count = Number of swimmers allocated to the final.

F_Count = 0 T_Count = Number of fastest losers allocated to the final.

T_Count = 0

Yes
READ
W=Y ADD SN to Final F_Count = F_Count +1
Heat_File

No

END

19
*P66483A01928* Turn over
(b) Crawdale Leisure Centre offers five membership schemes.
The swimming gala is open to ‘full’ members and ‘swim only’ members. Each event
has a limit of 18 entries.
Draw a flowchart to represent the process of checking entries for an event. The
flowchart should include an output to indicate if a member is not eligible to enter
the event.

Use this shape to represent input and output.

You may not need to use all of the answer space. Put a line through any work you do
not want to be marked.
(6)

20
*P66483A02028*
21
*P66483A02128* Turn over
(Total for Question 8 = 12 marks)

22
*P66483A02228*
9 The diving competitions at the gala will be scored by five judges. Each judge awards
each dive a score between 0.0 and 10.0. The highest and lowest of the judges’ scores
are discounted.
The final score for a dive is calculated by multiplying the total of the three remaining
judges’ scores by a degree of difficulty factor.
Construct an algorithm to calculate the score for one dive.
• Use pseudocode or a programming language with which you are familiar.
• Assume inFactor holds the degree of difficulty factor for the dive.
You may not need to use all of the answer space. Put a line through any work you do not
want to be marked.
(9)

ARRAY scores
SET scores TO [8.9, 9.1, 8.2, 7.8, 8.1]
REAL inFactor

23
*P66483A02328* Turn over
24
*P66483A02428*
(Total for Question 9 = 9 marks)

TOTAL FOR PAPER = 80 MARKS

25
*P66483A02528*
BLANK PAGE

26
*P66483A02628*
BLANK PAGE

27
*P66483A02728*
BLANK PAGE

28
*P66483A02828*
Pearson Edexcel Level 1/Level 2 GCSE (9–1)
Paper
reference 1CP1/02
Computer Science
Component 2
Pseudocode command set

Resource Booklet
Do not return this resource booklet with the question paper.

Turn over

*P66483A*
P66483A
©2021 Pearson Education Ltd.

1/1/1/
Pseudocode command set
Questions in the written examination that involve code will use this pseudocode
for clarity and consistency. However, students may answer questions using any valid
method.
Data types
INTEGER
REAL
BOOLEAN
CHARACTER
Type coercion
Type coercion is automatic if indicated by context. For example 3 + 8.25 = 11.25
(integer + real = real)
Mixed mode arithmetic is coerced like this:

INTEGER REAL

INTEGER INTEGER REAL

REAL REAL REAL

Coercion can be made explicit. For example, RECEIVE age FROM (INTEGER) KEYBOARD
assumes that the input from the keyboard is interpreted as an INTEGER, not a STRING.
Constants
The value of constants can only ever be set once. They are identified by the keyword
CONST. Two examples of using a constant are shown.
CONST REAL PI
SET PI TO 3.14159
SET circumference TO radius * PI * 2
Data structures
ARRAY
STRING
Indices start at zero (0) for all data structures.
All data structures have an append operator, indicated by &.
Using & with a STRING and a non-STRING will coerce to STRING. For example, SEND ‘Fred’
& age TO DISPLAY, will display a single STRING of ‘Fred18’.

2
P66483A
Identifiers
Identifiers are sequences of letters, digits and ‘_’, starting with a letter, for example:
MyValue, myValue, My_Value, Counter2
Functions
LENGTH()
For data structures consisting of an array or string.
RANDOM(n)
This generates a random number from 0 to n.
Comments
Comments are indicated by the # symbol, followed by any text.
A comment can be on a line by itself or at the end of a line.
Devices
Use of KEYBOARD and DISPLAY are suitable for input and output.
Additional devices may be required, but their function will be obvious from the context.
For example, CARD_READER and MOTOR are two such devices.
Notes
In the pseudocode on the following pages, the < > indicates where expressions or values
need to be supplied. The < > symbols are not part of the pseudocode.

3
P66483A
Turn over
Variables and arrays

Syntax Explanation of syntax Example

SET Counter TO 0
SET Variable TO <value> Assigns a value to a variable.
SET MyString TO ‘Hello world’

Computes the value of an


SET Sum TO Score + 10
SET Variable TO <expression> expression and assigns to
SET Size to LENGTH(Word)
a variable.

Assigns a value to an element SET ArrayClass[1] TO ‘Ann’


SET Array[index] TO <value>
of a one-dimensional array. SET ArrayMarks[3]TO 56

Initialises a one-dimensional
SET Array TO [<value>, …] SET ArrayValues TO [1, 2, 3, 4, 5]
array with a set of values.

SET Array [RowIndex, Assigns a value to an element


SET ArrayClassMarks[2,4] TO 92
ColumnIndex] TO <value> of a two-dimensional array.

Selection

Syntax Explanation of syntax Example

IF <expression> THEN IF Answer = 10 THEN


If <expression> is true then
<command> SET Score TO Score + 1
command is executed.
END IF END IF

IF <expression> THEN IF Answer = ‘correct’ THEN


If <expression> is true then first
<command> SEND ‘Well done’ TO DISPLAY
<command> is executed,
ELSE ELSE
otherwise second
<command> SEND ‘Try again’ TO DISPLAY
<command> is executed.
END IF END IF

4
P66483A
Repetition

Syntax Explanation of syntax Example

WHILE <condition> DO Pre-conditioned loop. Executes WHILE Flag = 0 DO


<command> <command> whilst SEND ‘All well’ TO DISPLAY
END WHILE <condition> is true. END WHILE
Post-conditioned loop.
REPEAT Executes REPEAT
<command> <command> until <condition> SET Go TO Go + 1
UNTIL <expression> is true. The loop must execute UNTIL Go = 10
at least once.
Count controlled loop. The
REPEAT <expression> TIMES REPEAT 100-Number TIMES
number of times <command>
<command> SEND ‘*’ TO DISPLAY
is executed is determined by
END REPEAT END REPEAT
the expression.
FOR <id> FROM <expression>
Count controlled loop. FOR Index FROM 1 TO 10 DO
TO
Executes SEND ArrayNumbers[Index]
<expression> DO
<command> a fixed number of TO DISPLAY
<command>
times. END FOR
END FOR
FOR <id> FROM <expression>
TO FOR Index FROM 1 TO 500 STEP
<expression> STEP Count controlled loop using 25 DO
<expression> DO a step. SEND Index TO DISPLAY
<command> END FOR
END FOR

SET WordsArray TO [‘The’, ‘Sky’,


‘is’, ‘grey’]
FOR EACH <id> FROM SET Sentence to “
Count controlled loop.
<expression> DO FOR EACH Word FROM
Executes for each element of
<command> WordsUArray DO
an array.
END FOREACH SET Sentence TO Sentence &
Word & “
END FOREACH

5
P66483A
Turn over
Input/output

Syntax Explanation of syntax Example

SEND ‘Have a good day.’ TO


SEND <expression> TO DISPLAY Sends output to the screen.
DISPLAY

RECEIVE Name FROM (STRING)


KEYBOARD
RECEIVE <identifier> FROM
RECEIVE LengthOfJourney
(type) Reads input of specified type.
FROM (INTEGER) CARD_READER
<device>
RECEIVE YesNo FROM
(CHARACTER) CARD_READER

File handling

Syntax Explanation of syntax Example

Reads in a record from a <file>


and assigns to a <variable>.
READ <File> <record> READ MyFile.doc Record
Each READ statement reads a
record from the file.
Writes a record to a file.
WRITE MyFile.doc Answer1,
WRITE <File> <record> Each WRITE statement writes a
Answer2, ‘xyz 01’
record to the file.

Subprograms

Syntax Explanation of syntax Example

PROCEDURE CalculateAverage
PROCEDURE <id>
(Mark1, Mark2, Mark3)
(<parameter>, …)
BEGIN PROCEDURE
BEGIN PROCEDURE Defines a procedure.
SET Avg to (Mark1 + Mark2 +
<command>
Mark3)/3
END PROCEDURE
END PROCEDURE
FUNCTION AddMarks (Mark1,
FUNCTION <id>
Mark2, Mark3)
(<parameter>, …)
BEGIN FUNCTION
BEGIN FUNCTION
Defines a function. SET Total to (Mark1 + Mark2 +
<command>
Mark3)/3
RETURN <expression>
RETURN Total
END FUNCTION
END FUNCTION
Calls a procedure or a
<id> (<parameter>, …) Add (FirstMark, SecondMark)
function.

6
P66483A
Arithmetic operators

Symbol Description

+ Add

- Subtract

/ Divide

* Multiply

^ Exponent

MOD Modulo

DIV Integer division

Relational operators

Symbol Description

= equal to

<> not equal to

> greater than

>= greater than or equal to

< less than

<= less than or equal to

Logical operators

Symbol Description

Returns true if both conditions


AND
are true.
Returns true if any of the
OR
conditions are true.
Reverses the outcome of the
NOT expression; true becomes false,
false becomes true.

7
P66483A
BLANK PAGE

8
P66483A

You might also like