2020 Specimen Paper 2
2020 Specimen Paper 2
2020 Specimen Paper 2
com
Cambridge IGCSE™
Write your centre number, candidate number and name in the spaces at the top of this page.
Write in dark blue or black pen.
You may use an HB pencil for any diagrams, graphs or rough working.
Do not use staples, paper clips, glue or correction fluid.
DO NOT WRITE IN ANY BARCODES.
Calculators must not be used in this paper.
DO NOT ATTEMPT TASKS 1, 2 AND 3 in the pre-release material; these are for information only.
You are advised to spend no more than 40 minutes on Section A (Question 1).
No marks will be awarded for using brand names of software packages or hardware.
At the end of the examination, fasten all your work securely together.
The number of marks is given in brackets [ ] at the end of each question or part question.
The maximum number of marks is 50.
BLANK PAGE
www.dynamicpapers.com
Section A
You are advised to spend no longer than 40 minutes answering this section.
Use the pre-release material and your experience from attempting the tasks before the examination to
answer Section A Question 1.
Pre-release material
A teacher needs a program to record marks for a class of 30 students who have sat three computer
science tests.
• Your program must include appropriate prompts for the entry of data.
• Error messages and other output need to be set out clearly and understandably.
• All variables, constants and other identifiers must have meaningful names.
You will need to complete these three tasks. Each task must be fully tested.
• Student names
• Student marks for Test 1, Test 2 and Test 3
o Test 1 is out of 20 marks
o Test 2 is out of 25 marks
o Test 3 is out of 35 marks
• Total score for each student
Input and store the names for 30 students. You may assume that the students’ names are unique.
Input and store the students’ marks for Test 1, Test 2 and Test 3. All the marks must be validated on
entry and any invalid marks rejected.
TASK 2 – Calculate
Calculate the total score for each student and store in the array.
Calculate the average total score for the whole class.
TASK 3 – Select
Select the student with the highest total score and output their name and total score.
www.dynamicpapers.com
1 (a) All variables, constants and other identifiers should have meaningful names.
[1]
(ii) Declare the arrays to store each student’s marks and total score.
[2]
(b) (i) Show the design of your algorithm to complete Task 1 and Task 2 using pseudocode,
programming statements or a flowchart. Do not include any of the validation checks or
input prompts in your algorithm.
[8]
www.dynamicpapers.com
[1]
(c) Show two different sets of student data that you could use to check the validation used in
Task 1. Explain why you chose each data set.
Set 1
Set 2
[2]
www.dynamicpapers.com
(d) (i) Explain how you select the student with the highest score (Task 3). You may include
pseudocode or programming statements to help illustrate your explanation.
[5]
(ii) How does your program work when there is more than one student having the highest
score? Explain using your method given in part (d)(i).
[1]
www.dynamicpapers.com
Section B
c ← 0
INPUT PIN
x ← PIN
REPEAT
x ← x/10
c ← c + 1
UNTIL x < 1
IF c <> 5
THEN
PRINT “error in PIN entered”
ELSE
PRINT “PIN OK”
ENDIF
(a) What value of c and what message would be output if the following PINs were entered?
5 1 0 2 0 Value of c:
Message:
5120 Value of c:
Message: [2]
[1]
www.dynamicpapers.com
3 The flowchart inputs the size of a number of car engines; a value of –1 stops the input.
This information is output: average engine size and number of engines with size > 1.5
www.dynamicpapers.com
1.8, 2.0, 1.0, 1.3, 1.0, 2.5, 2.0, 1.3, 1.8, 1.3, –1
[6]
www.dynamicpapers.com
4 Read this section of program code that inputs twenty (20) numbers and then outputs the largest
number input.
1 h = 0
2 c = 0
3 REPEAT
4 READ x
5 IF x > h THEN x = h
6 c = c + 1
7 PRINT h
8 UNTIL c < 20
[3]
www.dynamicpapers.com
5 A database table, TREES, is used to keep a record of the trees in a park. Each tree is given a
unique number and is examined to see if it is at risk of dying. There are over 900 trees; part of the
database table is shown.
TN913 Cedar B9 8 N
TN824 Banyan A3 50 Y
TN532 Teak C8 76 Y
TN354 Spruce D4 65 N
TN869 Oak C9 13 N
[1]
(b) Using the query-by-example grid, write a query to identify at risk trees over 100 years old.
Display only the type and the position on the map.
Field:
Table:
Sort:
Show:
Criteria:
or:
[4]
www.dynamicpapers.com
[3]
[4]
www.dynamicpapers.com
(c) Describe, with examples, two sets of test data you would use to test your algorithm.
[2]
7 A database was set up to show the properties of certain chemical elements. Part of the database
is shown below.
bromine Br 35 80 –7 59 liquid
[1]
(Melting point (C) < 40) AND (Atomic weight > 100)
[2]
[1]
www.dynamicpapers.com
BLANK PAGE