Computer Science PAPER 2: Application of Computational Thinking
Computer Science PAPER 2: Application of Computational Thinking
Time 2 hours
Paper
reference 1CP1/02
Computer Science
PAPER 2: Application of Computational Thinking
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.
(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)
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................................................................................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................................................................................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................................................................................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................................................................................................................................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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)
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.
mass , height
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
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)
Initial J Char
10
*P66483A01028*
(b) The information about instructors is validated.
(i) Explain the need for validating input data.
(2)
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 .......
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]
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
*P66483A01228*
(c) (i) Describe how the algorithm could be refined to make it more efficient.
By using Merge Sort() (4)
Procedure sort()
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Begin
................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
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
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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.
-> The starting blocks with pressure sensors detect the swimmers standing on the blocks.
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-> 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 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.
............................... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................................................................................................................................ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
-> 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)
18
*P66483A01828*
START
F_Count = Number of swimmers 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.
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)
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
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
SET Counter TO 0
SET Variable TO <value> Assigns a value to a variable.
SET MyString TO ‘Hello world’
Initialises a one-dimensional
SET Array TO [<value>, …] SET ArrayValues TO [1, 2, 3, 4, 5]
array with a set of values.
Selection
4
P66483A
Repetition
5
P66483A
Turn over
Input/output
File handling
Subprograms
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
Relational operators
Symbol Description
= equal to
Logical operators
Symbol Description
7
P66483A
BLANK PAGE
8
P66483A