9618-2021-mj-31-q02
May/June 2021 · Paper 31 · Question 2 · 8 marks
2(a) One mark for each correct marking point (Max 2) 2
• To create a new data type (from existing data types)
• To allow data types not available in a programming language to be
constructed // To extend the flexibility of the programming language
2(b)(i) TYPE SchoolDay = (Monday, Tuesday, Wednesday, Thursday, 1
Friday)
2(b)(ii) TYPE WeekEnd = (Saturday, Sunday) 1
2(c) One mark for each marking point (Max 4) 4
• TYPE ClubMeet and ENDTYPE correct
• DECLARE FirstName and DECLARE LastName included with correct
data types
• DECLARE Schoolday included with correct data types from part 2(b)(i)
• DECLARE Weekend included with correct data types from part 2(b)(ii)
Example answer
TYPE ClubMeet
DECLARE FirstName : STRING
DECLARE LastName : STRING
DECLARE Schoolday : SchoolDay
DECLARE Weekend : WeekEnd
ENDTYPE
© UCLES 2021 Page 4 of 10
Official mark scheme pages: 4 · source PDF URL
9618-2021-mj-31-q09
May/June 2021 · Paper 31 · Question 9 · 8 marks
9(a) One mark for each correct marking point (Max 2) 2
• Imperative languages use variables
• … which are changed using (assignment) statements
• … they rely on a method of repetition / iteration.
• The statements provide a sequence of commands for the computer to
perform
• … in the order written / given
• … each line of code changes something in the program run.
9(b) One mark for each correct marking point (Max 2) 2
• Instructs a program on what needs to be done instead of how to do it
• ... using facts and rules
• … using queries to satisfy goals.
• Can be logical or functional
• Logical - states a program as a set of logical relations
• Functional – constructed by applying functions to arguments / uses a
mathematical style
© UCLES 2021 Page 9 of 10
9(c) One mark for each correct programming paradigm (Max 4) 4
Program code example Programming paradigm
male(john).
female(ethel). Declarative
parent(john, ethel).
FOR Counter = 1 TO 20
X = X * Counter Procedural / imperative
NEXT Counter
Start: LDD Counter
INC ACC Low-level / assembly
STO Counter
public class Vehicle
{
private speed;
public Vehicle()
Object oriented / (OOP)
{
speed = 0;
}
}
© UCLES 2021 Page 10 of 10
Official mark scheme pages: 9, 10 · source PDF URL
9618-2021-mj-32-q02
May/June 2021 · Paper 32 · Question 2 · 8 marks
2(a) One mark for each correct marking point (Max 2) 2
• To create a new data type (from existing data types)
• To allow data types not available in a programming language to be
constructed // To extend the flexibility of the programming language
2(b)(i) TYPE SchoolDay = (Monday, Tuesday, Wednesday, Thursday, 1
Friday)
2(b)(ii) TYPE WeekEnd = (Saturday, Sunday) 1
2(c) One mark for each marking point (Max 4) 4
• TYPE ClubMeet and ENDTYPE correct
• DECLARE FirstName and DECLARE LastName included with correct
data types
• DECLARE Schoolday included with correct data types from part 2(b)(i)
• DECLARE Weekend included with correct data types from part 2(b)(ii)
Example answer
TYPE ClubMeet
DECLARE FirstName : STRING
DECLARE LastName : STRING
DECLARE Schoolday : SchoolDay
DECLARE Weekend : WeekEnd
ENDTYPE
© UCLES 2021 Page 4 of 10
Official mark scheme pages: 4 · source PDF URL
9618-2021-mj-32-q09
May/June 2021 · Paper 32 · Question 9 · 8 marks
9(a) One mark for each correct marking point (Max 2) 2
• Imperative languages use variables
• … which are changed using (assignment) statements
• … they rely on a method of repetition / iteration.
• The statements provide a sequence of commands for the computer to
perform
• … in the order written / given
• … each line of code changes something in the program run.
9(b) One mark for each correct marking point (Max 2) 2
• Instructs a program on what needs to be done instead of how to do it
• ... using facts and rules
• … using queries to satisfy goals.
• Can be logical or functional
• Logical - states a program as a set of logical relations
• Functional – constructed by applying functions to arguments / uses a
mathematical style
© UCLES 2021 Page 9 of 10
9(c) One mark for each correct programming paradigm (Max 4) 4
Program code example Programming paradigm
male(john).
female(ethel). Declarative
parent(john, ethel).
FOR Counter = 1 TO 20
X = X * Counter Procedural / imperative
NEXT Counter
Start: LDD Counter
INC ACC Low-level / assembly
STO Counter
public class Vehicle
{
private speed;
public Vehicle()
Object oriented / (OOP)
{
speed = 0;
}
}
© UCLES 2021 Page 10 of 10
Official mark scheme pages: 9, 10 · source PDF URL
9618-2021-mj-33-q02
May/June 2021 · Paper 33 · Question 2 · 8 marks
2(a) One mark for each correct marking point (Max 2) 2
• To create a new data type (from existing data types)
• To allow data types not available in a programming language to be
constructed // To extend the flexibility of the programming language
2(b)(i) TYPE SchoolDay = (Monday, Tuesday, Wednesday, Thursday, 1
Friday)
2(b)(ii) TYPE WeekEnd = (Saturday, Sunday) 1
2(c) One mark for each marking point (Max 4) 4
• TYPE ClubMeet and ENDTYPE correct
• DECLARE FirstName and DECLARE LastName included with correct
data types
• DECLARE Schoolday included with correct data types from part 2(b)(i)
• DECLARE Weekend included with correct data types from part 2(b)(ii)
Example answer
TYPE ClubMeet
DECLARE FirstName : STRING
DECLARE LastName : STRING
DECLARE Schoolday : SchoolDay
DECLARE Weekend : WeekEnd
ENDTYPE
© UCLES 2021 Page 4 of 10
Official mark scheme pages: 4 · source PDF URL
9618-2021-mj-33-q09
May/June 2021 · Paper 33 · Question 9 · 8 marks
9(a) One mark for each correct marking point (Max 2) 2
• Imperative languages use variables
• … which are changed using (assignment) statements
• … they rely on a method of repetition / iteration.
• The statements provide a sequence of commands for the computer to
perform
• … in the order written / given
• … each line of code changes something in the program run.
9(b) One mark for each correct marking point (Max 2) 2
• Instructs a program on what needs to be done instead of how to do it
• ... using facts and rules
• … using queries to satisfy goals.
• Can be logical or functional
• Logical - states a program as a set of logical relations
• Functional – constructed by applying functions to arguments / uses a
mathematical style
© UCLES 2021 Page 9 of 10
9(c) One mark for each correct programming paradigm (Max 4) 4
Program code example Programming paradigm
male(john).
female(ethel). Declarative
parent(john, ethel).
FOR Counter = 1 TO 20
X = X * Counter Procedural / imperative
NEXT Counter
Start: LDD Counter
INC ACC Low-level / assembly
STO Counter
public class Vehicle
{
private speed;
public Vehicle()
Object oriented / (OOP)
{
speed = 0;
}
}
© UCLES 2021 Page 10 of 10
Official mark scheme pages: 9, 10 · source PDF URL
9618-2021-on-31-q05
Oct/Nov 2021 · Paper 31 · Question 5 · 6 marks
5(a) One mark for each correct marking point (Max 4) 4
• In both serial and sequential files records are stored one after the other …
• … and need to be accessed one after the other
• Serial files are stored in chronological order
• Sequential files are stored with ordered records
• … and stored in the order of the key field
• In serial files, new records are added in the next available space / records
are appended to the file
• In sequential files, new records are inserted in the correct position.
5(b) Direct (access) 1
5(c) Sequential (access) 1
© UCLES 2021 Page 5 of 10
Official mark scheme pages: 5 · source PDF URL
9618-2021-on-32-q05
Oct/Nov 2021 · Paper 32 · Question 5 · 6 marks
5(a) One mark for each correct marking point (Max 4) 4
• In both serial and sequential files records are stored one after the other …
• … and need to be accessed one after the other
• Serial files are stored in chronological order
• Sequential files are stored with ordered records
• … and stored in the order of the key field
• In serial files, new records are added in the next available space / records
are appended to the file
• In sequential files, new records are inserted in the correct position.
5(b) Direct (access) 1
5(c) Sequential (access) 1
© UCLES 2021 Page 5 of 10
Official mark scheme pages: 5 · source PDF URL
9618-2022-mj-31-q01
May/June 2022 · Paper 31 · Question 1 · 8 marks
1(a) LibraryBook.Title "A Level Computer Science" 2
LibraryBook.Fiction FALSE
1(b)(i) DECLARE NumberOfCopies : 1 .. 10 1
1(b)(ii) DECLARE AccessionNumber : ARRAY[1:NumberOfCopies] OF INTEGER 2
1(c) Any two from 3
A data type constructed by a programmer // not a primitive data type
A data type that references at least one other data type…
… the data types can be primitive, or user defined
One mark for an example
Class / object / set
Question Answer Marks
Official mark scheme pages: 4 · source PDF URL
9618-2022-mj-31-q02
May/June 2022 · Paper 31 · Question 2 · 6 marks
2(a) type(caracal, wild). 2
hair(caracal, short).
2(b) persian 1
2(c)(i) type(Pet, domestic). 1
2(c)(ii) spots(WildSpotty, yes) 2
,type(WildSpotty, wild).
© UCLES 2022 Page 4 of 11
Official mark scheme pages: 4 · source PDF URL
9618-2022-mj-31-q07
May/June 2022 · Paper 31 · Question 7 · 11 marks
7(a) 1 mark per point 5
Acrylic has attribute Soft of type BOOLEAN
Wool has attribute WoolType with suitable data type
Acrylic and Wool have method YarnInfo()
Acrylic, Wool and Mix at least one inherit (one arrow correct) from Yarn …
… Acrylic, Wool and Mix all inherit (all arrows correct) from Yarn
Yarn
Name: STRING
Colour: STRING
BatchCode: STRING
Weight: INTEGER
NumberBalls: INTEGER
Type: STRING
Constructor()
EditNumberBalls()
YarnInfo()
Acrylic Wool Mix
WoolType: STRING Percentage: INTEGER
Soft: BOOLEAN
Constructor() Constructor()
Constructor() YarnInfo() YarnInfo()
YarnInfo()
© UCLES 2022 Page 9 of 11
7(b) Properties max 2: 6
the data items / attributes
the data types // characteristics
defined in a class
Methods max 2:
the procedures/ functions / programmed instructions in a
class / super class / base class
… implementing the behaviours
… that act on the properties / attributes
Inheritance max 2:
Methods and properties / attributes contained in one class/ super class / base class
Are made available to / reused by another class/ derived class
Question Answer Marks
Official mark scheme pages: 9, 10 · source PDF URL
9618-2022-mj-32-q09
May/June 2022 · Paper 32 · Question 9 · 4 marks
9 // LENGTH(MyList) - 1
Index + 1
"Value not found" (or any similar phrase)
8(b)(i) The list to be searched must be ordered/sorted 1
© UCLES 2022 Page 8 of 9
9 To trap (some) runtime errors 4
To prevent a program halting unexpectedly
To produce meaningful error messages for these errors
Example divide by zero // end of file // file not found
© UCLES 2022 Page 9 of 9
Official mark scheme pages: 8, 9 · source PDF URL
9618-2022-mj-33-q01
May/June 2022 · Paper 33 · Question 1 · 8 marks
1(a) LibraryBook.Title "A Level Computer Science" 2
LibraryBook.Fiction FALSE
1(b)(i) DECLARE NumberOfCopies : 1 .. 10 1
1(b)(ii) DECLARE AccessionNumber : ARRAY[1:NumberOfCopies] OF INTEGER 2
1(c) Any two from 3
A data type constructed by a programmer // not a primitive data type
A data type that references at least one other data type…
… the data types can be primitive, or user defined
One mark for an example
Class / object / set
Question Answer Marks
Official mark scheme pages: 4 · source PDF URL
9618-2022-mj-33-q02
May/June 2022 · Paper 33 · Question 2 · 6 marks
2(a) type(caracal, wild). 2
hair(caracal, short).
2(b) persian 1
2(c)(i) type(Pet, domestic). 1
2(c)(ii) spots(WildSpotty, yes) 2
,type(WildSpotty, wild).
© UCLES 2022 Page 4 of 11
Official mark scheme pages: 4 · source PDF URL
9618-2022-mj-33-q07
May/June 2022 · Paper 33 · Question 7 · 11 marks
7(a) 1 mark per point 5
Acrylic has attribute Soft of type BOOLEAN
Wool has attribute WoolType with suitable data type
Acrylic and Wool have method YarnInfo()
Acrylic, Wool and Mix at least one inherit (one arrow correct) from Yarn …
… Acrylic, Wool and Mix all inherit (all arrows correct) from Yarn
Yarn
Name: STRING
Colour: STRING
BatchCode: STRING
Weight: INTEGER
NumberBalls: INTEGER
Type: STRING
Constructor()
EditNumberBalls()
YarnInfo()
Acrylic Wool Mix
WoolType: STRING Percentage: INTEGER
Soft: BOOLEAN
Constructor() Constructor()
Constructor() YarnInfo() YarnInfo()
YarnInfo()
© UCLES 2022 Page 9 of 11
7(b) Properties max 2: 6
the data items / attributes
the data types // characteristics
defined in a class
Methods max 2:
the procedures/ functions / programmed instructions in a
class / super class / base class
… implementing the behaviours
… that act on the properties / attributes
Inheritance max 2:
Methods and properties / attributes contained in one class/ super class / base class
Are made available to / reused by another class/ derived class
Question Answer Marks
Official mark scheme pages: 9, 10 · source PDF URL
9618-2022-on-31-q03
Oct/Nov 2022 · Paper 31 · Question 3 · 8 marks
3(a) A (user-defined non-composite) data type with an ordered list of possible values. 1
3(b) A user-defined non-composite data type used to reference a memory location. 1
3(c) Marks as shown in the square brackets: 2
TYPE Quarter1 = (January, February, March)
TYPE Quarter1 = [1]
(January, February, March) [1]
3(d)(i) DECLARE Pet1 : Pet 1
© UCLES 2022 Page 5 of 15
3(d)(ii) One mark for each point: 3
• Correct assignment of all string data values
• Correct assignment of char data value
• Correct assignment of integer data value
Example answer:
Pet1.PetName "Tibbles"
Pet1.AnimalType "Cat"
Pet1.PetAge 8
Pet1.PetGender 'M'
Pet1.OwnerName "Jasmine Smith"
© UCLES 2022 Page 6 of 15
Official mark scheme pages: 5, 6 · source PDF URL
9618-2022-on-31-q11
Oct/Nov 2022 · Paper 31 · Question 11 · 8 marks
11(a) One mark for each correct OOP term definition: 3
• Instance – an occurrence of an object // a specific object based on the class // an instantiation of a class.
• Inheritance – the capability of defining a new class of objects that has all the attributes and methods from a parent
class.
• Polymorphism – allows the same method to take on different behaviours depending on which class is instantiated //
methods can be redefined for derived classes.
© UCLES 2022 Page 12 of 15
11(b) One mark for each point: 5
• Car and ENDCLASS
• Four declarations – must use the identifiers used in the assignments
• Constructor header – must use CarBodyType
• Two assignments – must use CarMake
• Constructor identifier for the car model and the identifier in the Model assignment statement match
CLASS Car
PRIVATE Make : STRING
PRIVATE Model : STRING
PRIVATE BodyType : STRING
PRIVATE Fuel : STRING
PRIVATE NumberBuilt : INTEGER
PUBLIC PROCEDURE NEW (CarMake : STRING,
CarModel : STRING, CarBodyType : STRING)
Make CarMake
Model CarModel
BodyType CarBodyType
Fuel ""
NumberBuilt 0
ENDPROCEDURE
getFuel()
getNumberBuilt()
ENDCLASS
© UCLES 2022 Page 13 of 15
Official mark scheme pages: 12, 13 · source PDF URL
9618-2022-on-32-q04
Oct/Nov 2022 · Paper 32 · Question 4 · 10 marks
4(a) Marks as shown in the square brackets: 2
TYPE Aircraft = (C300, C350, D242, E757, X380)
TYPE Aircraft = [1]
(C300, C350, D242, E757, X380) [1]
4(b) One mark for each point (Max 4) 4
• TYPE Flight and ENDTYPE correct
• DECLARE FlightNumber and DECLARE Destination as STRING
• DECLARE DepartureDate as DATE
• DECLARE AircraftType as Aircraft (correct data type from part 4(a))
Example answer:
TYPE Flight
DECLARE FlightNumber : STRING
DECLARE Destination : STRING
DECLARE DepartureDate : DATE
DECLARE AircraftType : Aircraft
ENDTYPE
4(c)(i) Example answer: 1
DECLARE Flight1 : Flight
© UCLES 2022 Page 6 of 16
4(c)(ii) One mark for each point (Max 3) 3
• Correct assignments of both string data values
• Correct assignments of date data value
• Correct assignments of enumerated data value
Example answer:
Flight1.FlightNumber "XA782"
Flight1.Destination "Cambridge"
Flight1.DepartureDate 12/12/2022
Flight1.AircraftType C350
© UCLES 2022 Page 7 of 16
Official mark scheme pages: 6, 7 · source PDF URL
9618-2022-on-32-q10
Oct/Nov 2022 · Paper 32 · Question 10 · 6 marks
10(a) One mark for each correct OOP term definition 3
• Encapsulation – putting properties and methods inside a class // ensures sensitive data is hidden from users by hiding
values of a structured data object inside a class.
• Getter – method that is used to return the value of a property.
• Setter – method that is used to update the value of a property.
© UCLES 2022 Page 13 of 16
10(b) One mark for each point 3
• properties correct
• setters correct
• getters correct
SubstituteTeacher
SubName : STRING
Telephone : STRING
InSchool : BOOLEAN
SetSubName(StaffName : STRING)
SetTelephone(Tel : STRING)
SetInSchool(Present : BOOLEAN)
GetSubName()
GetTelephone()
GetInSchool()
© UCLES 2022 Page 14 of 16
Official mark scheme pages: 13, 14 · source PDF URL
9618-2022-on-33-q03
Oct/Nov 2022 · Paper 33 · Question 3 · 8 marks
3(a) A (user-defined non-composite) data type with an ordered list of possible values. 1
3(b) A user-defined non-composite data type used to reference a memory location. 1
3(c) Marks as shown in the square brackets: 2
TYPE Quarter1 = (January, February, March)
TYPE Quarter1 = [1]
(January, February, March) [1]
3(d)(i) DECLARE Pet1 : Pet 1
© UCLES 2022 Page 5 of 15
3(d)(ii) One mark for each point: 3
• Correct assignment of all string data values
• Correct assignment of char data value
• Correct assignment of integer data value
Example answer:
Pet1.PetName "Tibbles"
Pet1.AnimalType "Cat"
Pet1.PetAge 8
Pet1.PetGender 'M'
Pet1.OwnerName "Jasmine Smith"
© UCLES 2022 Page 6 of 15
Official mark scheme pages: 5, 6 · source PDF URL
9618-2022-on-33-q11
Oct/Nov 2022 · Paper 33 · Question 11 · 8 marks
11(a) One mark for each correct OOP term definition: 3
• Instance – an occurrence of an object // a specific object based on the class // an instantiation of a class.
• Inheritance – the capability of defining a new class of objects that has all the attributes and methods from a parent
class.
• Polymorphism – allows the same method to take on different behaviours depending on which class is instantiated //
methods can be redefined for derived classes.
© UCLES 2022 Page 12 of 15
11(b) One mark for each point: 5
• Car and ENDCLASS
• Four declarations – must use the identifiers used in the assignments
• Constructor header – must use CarBodyType
• Two assignments – must use CarMake
• Constructor identifier for the car model and the identifier in the Model assignment statement match
CLASS Car
PRIVATE Make : STRING
PRIVATE Model : STRING
PRIVATE BodyType : STRING
PRIVATE Fuel : STRING
PRIVATE NumberBuilt : INTEGER
PUBLIC PROCEDURE NEW (CarMake : STRING,
CarModel : STRING, CarBodyType : STRING)
Make CarMake
Model CarModel
BodyType CarBodyType
Fuel ""
NumberBuilt 0
ENDPROCEDURE
getFuel()
getNumberBuilt()
ENDCLASS
© UCLES 2022 Page 13 of 15
Official mark scheme pages: 12, 13 · source PDF URL
9618-2023-mj-31-q04
May/June 2023 · Paper 31 · Question 4 · 4 marks
4(a) One mark per mark point (Max 2) 2
TYPE Prime
= (2, 3, 5, 7, 11, 13, 17, 19)
Example answer
TYPE Prime = (2, 3, 5, 7, 11, 13, 17, 19)
4(b) One mark per mark point (Max 2) 2
TYPE TDayPointer
= ^STRING //^DayOfWeek
Example answer
TYPE TDayPointer = ^STRING // ^DayOfWeek
© UCLES 2023 Page 4 of 10
Official mark scheme pages: 4 · source PDF URL
9618-2023-mj-31-q08
May/June 2023 · Paper 31 · Question 8 · 3 marks
8 One mark per mark point (Max 3) 3
MP1 A large number of computer processors / separate computers
connected together
MP2 … simultaneously performing a set of coordinated computations //
collaborative processing
MP3 network infrastructure
MP4 communicate using a message interface / by sending messages.
Question Answer Marks
Official mark scheme pages: 7 · source PDF URL
9618-2023-mj-32-q04
May/June 2023 · Paper 32 · Question 4 · 4 marks
4 One mark for each correct line connecting an OOP term to its description 4
(Max 4).
OOP term Description
methods used to return the value of a
property
Encapsulation
the process of putting data and
methods together as a single unit
Getters
methods used to update the value of
a property
Polymorphism
allows methods to be redefined for
derived classes
Setters
enables the defining of a new class
that inherits from a parent class
Question Answer Marks
Official mark scheme pages: 6 · source PDF URL
9618-2023-mj-33-q04
May/June 2023 · Paper 33 · Question 4 · 4 marks
4(a) One mark per mark point (Max 2) 2
TYPE Prime
= (2, 3, 5, 7, 11, 13, 17, 19)
Example answer
TYPE Prime = (2, 3, 5, 7, 11, 13, 17, 19)
4(b) One mark per mark point (Max 2) 2
TYPE TDayPointer
= ^STRING //^DayOfWeek
Example answer
TYPE TDayPointer = ^STRING // ^DayOfWeek
© UCLES 2023 Page 4 of 10
Official mark scheme pages: 4 · source PDF URL
9618-2023-mj-33-q08
May/June 2023 · Paper 33 · Question 8 · 3 marks
8 One mark per mark point (Max 3) 3
MP1 A large number of computer processors / separate computers
connected together
MP2 … simultaneously performing a set of coordinated computations //
collaborative processing
MP3 network infrastructure
MP4 communicate using a message interface / by sending messages.
Question Answer Marks
Official mark scheme pages: 7 · source PDF URL
9618-2023-on-31-q03
Oct/Nov 2023 · Paper 31 · Question 3 · 4 marks
3 One mark per mark point – enumerated type (Max 2) 4
MP1 A user-defined non-composite (data type) (only award once)
MP2 …with a list of all possible values
MP3 …that is ordered.
One mark per mark point – pointer type (Max 2)
MP4 A user-defined non-composite (data type) (only award once)
MP5 …that stores addresses/memory locations only
MP6 …and indicates the type of data stored in the memory location.
Question Answer Marks
Official mark scheme pages: 4 · source PDF URL
9618-2023-on-31-q04
Oct/Nov 2023 · Paper 31 · Question 4 · 6 marks
4(a) One mark per mark point – sequential (Max 2) 4
MP1 Records (in the file) are ordered
MP2 …based on the key field
MP3 A new version (of the file) has to be created to update the file
One mark per mark point – random (Max 2)
MP4 Records are stored in no particular order within the file // There is no
sequencing in the placement of the records
MP5 There is a relationship between the key of the record and its location
within the file // a hashing algorithm is used to find the location of the
record
MP6 Updates to the file can be carried out directly.
4(b) One mark per mark point (Max 2) 2
MP1 Start at the beginning of the file
MP2 …check records linearly
MP3 …until the desired record is found // … processing / updating records
as required //… EOF found.
Question Answer Marks
Official mark scheme pages: 4 · source PDF URL
9618-2023-on-31-q07
Oct/Nov 2023 · Paper 31 · Question 7 · 5 marks
7(a) One mark for a benefit (Max 1) e.g. 2
MP1 The user interface hides the complexities of the computer
hardware/operating system from the user
MP2 It provides appropriate access systems for users with differing needs
MP3 Complex commands involving memory locations/buses/computer
hardware/ are avoided
One mark for a valid example (Max 1) e.g.
Clicking on icon rather than writing code
Using a graphical user interface / icons for navigation
7(b) Blocked (state) 1
7(c) One mark per mark point (Max 2) 2
MP1 When the time slice of the running process expires (round robin).
MP2 …and there is a process with a higher priority in the ready queue, the
running process is pre-empted
MP3 When an interrupt arrives at the CPU, (the process running on the
CPU gets pre-empted).
Question Answer Marks
Official mark scheme pages: 6 · source PDF URL
9618-2023-on-32-q02
Oct/Nov 2023 · Paper 32 · Question 2 · 4 marks
2 One mark per mark point – composite (Max 2) 4
MP1 A (user defined) data type that is a collection of data that can consist
of multiple elements
MP2 …of different or the same data types
MP3 …grouped under a single identifier.
One mark per mark point – non-composite (Max 2)
MP4 It can be defined without referencing another data type.
MP5 It can be a primitive type available in a programming language, or a
user- defined type.
Question Answer Marks
Official mark scheme pages: 3 · source PDF URL
9618-2023-on-32-q11
Oct/Nov 2023 · Paper 32 · Question 11 · 9 marks
11(a) One mark for each correctly completed clause (Max 4) 4
20 person(carlos).
21 hobby(cycling).
22 enjoys(carlos, cycling).
23 dislikes(carlos, music).
11(b) P = toby, nina 1
11(c) One mark per mark point (Max 4) 4
• person(N)
• hobby(H)
• dislikes(N, H)
• all logical operators correct with no additional code (see example
answers)
Example answers:
might_enjoy(N, H)
IF person(N) AND hobby(H) AND NOT dislikes(N, H)
might_enjoy(N, H)
IF NOT dislikes(N, H), person(N), hobby(H)
© UCLES 2023 Page 8 of 9
Official mark scheme pages: 8 · source PDF URL
9618-2023-on-33-q03
Oct/Nov 2023 · Paper 33 · Question 3 · 4 marks
3 One mark per mark point – enumerated type (Max 2) 4
MP1 A user-defined non-composite (data type) (only award once)
MP2 …with a list of all possible values
MP3 …that is ordered.
One mark per mark point – pointer type (Max 2)
MP4 A user-defined non-composite (data type) (only award once)
MP5 …that stores addresses/memory locations only
MP6 …and indicates the type of data stored in the memory location.
Question Answer Marks
Official mark scheme pages: 4 · source PDF URL
9618-2023-on-33-q04
Oct/Nov 2023 · Paper 33 · Question 4 · 6 marks
4(a) One mark per mark point – sequential (Max 2) 4
MP1 Records (in the file) are ordered
MP2 …based on the key field
MP3 A new version (of the file) has to be created to update the file
One mark per mark point – random (Max 2)
MP4 Records are stored in no particular order within the file // There is no
sequencing in the placement of the records
MP5 There is a relationship between the key of the record and its location
within the file // a hashing algorithm is used to find the location of the
record
MP6 Updates to the file can be carried out directly.
4(b) One mark per mark point (Max 2) 2
MP1 Start at the beginning of the file
MP2 …check records linearly
MP3 …until the desired record is found // … processing / updating records
as required //… EOF found.
Question Answer Marks
Official mark scheme pages: 4 · source PDF URL
9618-2023-on-33-q07
Oct/Nov 2023 · Paper 33 · Question 7 · 5 marks
7(a) One mark for a benefit (Max 1) e.g. 2
MP1 The user interface hides the complexities of the computer
hardware/operating system from the user
MP2 It provides appropriate access systems for users with differing needs
MP3 Complex commands involving memory locations/buses/computer
hardware/ are avoided
One mark for a valid example (Max 1) e.g.
Clicking on icon rather than writing code
Using a graphical user interface / icons for navigation
7(b) Blocked (state) 1
7(c) One mark per mark point (Max 2) 2
MP1 When the time slice of the running process expires (round robin).
MP2 …and there is a process with a higher priority in the ready queue, the
running process is pre-empted
MP3 When an interrupt arrives at the CPU, (the process running on the
CPU gets pre-empted).
Question Answer Marks
Official mark scheme pages: 6 · source PDF URL
9618-2024-mj-31-q03
May/June 2024 · Paper 31 · Question 3 · 7 marks
3(a) One mark per mark point (Max 2) 3
non-composite data types
MP1 Non-composite data types can both be user-defined or primitive
MP2 Non-composite data types do not refer to other data types in their definition / contain one data type in their
definition
MP3 Non-composite data types can be primitive/enumerated/pointer
One mark per mark point (Max 2)
composite data types
MP4 Composite data types can be user-defined or primitive
MP5 Composite data types refer to other data types in their definition/contain more than one data type in their
definition
MP6 Composite data types can be record/set/class
3(b) One mark for TYPE FootballClub and ENDTYPE correct 4
One mark for every two correct declarations
Example answer
TYPE FootballClub
DECLARE TeamName : STRING
DECLARE DateOfJoining : DATE
DECLARE MainTelephone : STRING
DECLARE ManagerName : STRING
DECLARE NumberOfMembers : INTEGER
DECLARE LeaguePosition : INTEGER
ENDTYPE
© Cambridge University Press & Assessment 2024 Page 6 of 14
Official mark scheme pages: 6 · source PDF URL
9618-2024-mj-31-q04
May/June 2024 · Paper 31 · Question 4 · 5 marks
4(a) One mark per mark point (Max 2) 2
MP1 Sequential access method searches for records one after the other
MP2 … from the physical start of the file until the record is found/the end of file.
4(b) One mark per mark point (Max 3) 3
MP1 For serial files, records are stored in chronological order
MP2 … every record needs to be checked until the record is found, or all records have been checked.
MP3 For sequential files, records are stored in order of a key field/index, and it is the key field/index that is compared.
MP4 … every record is checked until the record is found, or the key field of the current record is greater than the key
field of the target record.
Question Answer Marks
Official mark scheme pages: 7 · source PDF URL
9618-2024-mj-31-q08
May/June 2024 · Paper 31 · Question 8 · 8 marks
8(a) One mark for each correctly completed clause (Max 3) 3
(23) feature(sliding_doors).
(24) available(sliding_doors, minivan).
(25) unavailable(sliding_doors, hatchback).
8(b) (Options =) sunroof, reversing_camera 1
8(c) One mark per mark point (Max 4) 4
MP1 feature(F)
MP2 bodystyle(B)
MP3 unavailable(F, B)
MP4 all correct Boolean operators and punctuation (allow , for AND) and no additional lines of code
Example answers
may_choose_option(F, B)
IF
feature(F) AND bodystyle(B) AND NOT unavailable(F, B).
feature(F), bodystyle(B), NOT unavailable(F, B).
Question Answer Marks
Official mark scheme pages: 11 · source PDF URL
9618-2024-mj-32-q03
May/June 2024 · Paper 32 · Question 3 · 7 marks
3(a) One mark per mark point (Max 3) 3
MP1 A data type that is defined without referencing another data type.
MP2 It can be a primitive data type found in a programming language or a user-defined data type.
MP3 Example – enumerated data type / pointer data type / allow a correct example of an enumerated or pointer data
type declaration.
3(b) One mark per mark point (Max 4) 4
MP1 Type statement fully correct
MP2 DEFINE EvenNumbers
MP3 Correct list of values in brackets
MP4 : <set identifier> from Type statement used
Example answer
TYPE Numbers = SET OF INTEGER
DEFINE EvenNumbers (2, 4, 6, 8, 10, 12): Numbers
Question Answer Marks
Official mark scheme pages: 5 · source PDF URL
9618-2024-mj-32-q07
May/June 2024 · Paper 32 · Question 7 · 6 marks
7(a) One mark per mark point (Max 2) 2
MP1 Direct access allows a record to be found in a file without other records being read.
MP2 Records are found by using the key field of the target record // the location of the record is found using a
hashing algorithm.
7(b)(i) One mark per mark point (Max 2) 2
MP1 In sequential files, an index of all key fields is kept
MP2 The index is searched for the address of the file location where the target record is stored.
© Cambridge University Press & Assessment 2024 Page 8 of 14
7(b)(ii) One mark per mark point (Max 2) 2
MP1 A hashing algorithm is used on the key field of the record
MP2 … to calculate the address of the memory location where the target record is expected to be stored.
MP3 Method to find a record if it is not at the expected location e.g. linear probing, search overflow area etc.
© Cambridge University Press & Assessment 2024 Page 9 of 14
Official mark scheme pages: 8, 9 · source PDF URL
9618-2024-mj-32-q10
May/June 2024 · Paper 32 · Question 10 · 9 marks
10(a) One mark for each correctly completed clause (Max 4) 4
Example answer
(25) client(jane).
(26) activity(surfing).
(27) choice(jane, surfing).
(28) done(jane, sailing).
10(b) (List =) frankie, erik, henry 1
10(c) One mark per mark point (Max 4) 4
MP1 client(C)
MP2 activity(A)
MP3 done(C, A)
MP4 all correct Boolean operators and punctuation (allow , for AND). There must be the correct number of terms and
no additional lines of code
Example answers
may_choose_activity(C, A)
IF
client(C) AND activity(A) AND NOT done(C, A).
client(C), activity(A), NOT (done(C, A)).
© Cambridge University Press & Assessment 2024 Page 13 of 14
Official mark scheme pages: 13 · source PDF URL
9618-2024-mj-33-q03
May/June 2024 · Paper 33 · Question 3 · 7 marks
3(a) One mark per mark point (Max 2) 3
non-composite data types
MP1 Non-composite data types can both be user-defined or primitive
MP2 Non-composite data types do not refer to other data types in their definition / contain one data type in their
definition
MP3 Non-composite data types can be primitive/enumerated/pointer
One mark per mark point (Max 2)
composite data types
MP4 Composite data types can be user-defined or primitive
MP5 Composite data types refer to other data types in their definition/contain more than one data type in their
definition
MP6 Composite data types can be record/set/class
3(b) One mark for TYPE FootballClub and ENDTYPE correct 4
One mark for every two correct declarations
Example answer
TYPE FootballClub
DECLARE TeamName : STRING
DECLARE DateOfJoining : DATE
DECLARE MainTelephone : STRING
DECLARE ManagerName : STRING
DECLARE NumberOfMembers : INTEGER
DECLARE LeaguePosition : INTEGER
ENDTYPE
© Cambridge University Press & Assessment 2024 Page 6 of 14
Official mark scheme pages: 6 · source PDF URL
9618-2024-mj-33-q04
May/June 2024 · Paper 33 · Question 4 · 5 marks
4(a) One mark per mark point (Max 2) 2
MP1 Sequential access method searches for records one after the other
MP2 … from the physical start of the file until the record is found/the end of file.
4(b) One mark per mark point (Max 3) 3
MP1 For serial files, records are stored in chronological order
MP2 … every record needs to be checked until the record is found, or all records have been checked.
MP3 For sequential files, records are stored in order of a key field/index, and it is the key field/index that is compared.
MP4 … every record is checked until the record is found, or the key field of the current record is greater than the key
field of the target record.
Question Answer Marks
Official mark scheme pages: 7 · source PDF URL
9618-2024-mj-33-q08
May/June 2024 · Paper 33 · Question 8 · 8 marks
8(a) One mark for each correctly completed clause (Max 3) 3
(23) feature(sliding_doors).
(24) available(sliding_doors, minivan).
(25) unavailable(sliding_doors, hatchback).
8(b) (Options =) sunroof, reversing_camera 1
8(c) One mark per mark point (Max 4) 4
MP1 feature(F)
MP2 bodystyle(B)
MP3 unavailable(F, B)
MP4 all correct Boolean operators and punctuation (allow , for AND) and no additional lines of code
Example answers
may_choose_option(F, B)
IF
feature(F) AND bodystyle(B) AND NOT unavailable(F, B).
feature(F), bodystyle(B), NOT unavailable(F, B).
Question Answer Marks
Official mark scheme pages: 11 · source PDF URL
9618-2024-on-31-q06
Oct/Nov 2024 · Paper 31 · Question 6 · 7 marks
6(a) One mark per mark point (Max 3) 3
MP1 A set user-defined data type is a composite data type
MP2 … which includes a list of unordered elements
MP3 Set theory operations, such as intersection and union, can be applied to these elements
MP4 A set data type includes the type of data/data type it uses as part of its definition
MP5 All the elements are of the same data type.
© Cambridge University Press & Assessment 2024 Page 7 of 17
6(b) One mark for each mark point (Max 4) 4
MP1 TYPE SymbolSet/Operators =
MP2 SET OF CHAR
MP3 DEFINE Operators/SymbolSet
MP4 ('+', '–', '*', '/', '^')
MP5 : SymbolSet/Operators
Example answers
TYPE SymbolSet = SET OF CHAR
DEFINE Operators ('+', '–', '*', '/', '^') : SymbolSet
TYPE Operators = SET OF CHAR
DEFINE SymbolSet ('+', '–', '*', '/', '^') : Operators
Question Answer Marks
Official mark scheme pages: 7, 8 · source PDF URL
9618-2024-on-32-q02
Oct/Nov 2024 · Paper 32 · Question 2 · 3 marks
2(a) One mark per mark point (Max 2) 2
MP1 Records are stored one after the other as they are collected // records are stored in chronological order
MP2 New records are appended to the end of the file.
2(b) One mark for a use (Max 1) 1
MP1 Creating unsorted / temporary transaction files
MP2 Creating data logging files
Question Answer Marks
Official mark scheme pages: 5 · source PDF URL
9618-2024-on-32-q03
Oct/Nov 2024 · Paper 32 · Question 3 · 7 marks
3(a) One mark per mark point (Max 3) 3
MP1 A user-defined record data type is a composite data type
MP2 It uses other data types in its definition to form a single new data type
MP3 The data types referenced may be primitive data types from a programming language or they may be other user-
defined data types.
MP4 Includes related items
MP5 Includes a fixed number of items.
3(b) One mark for TYPE Order and ENDTYPE correct 4
One mark for correct use of DECLARE in all declarations seen
One mark for the two shaded declarations
One mark for the two unshaded declarations
Example answer
TYPE Order
DECLARE AccountNumber : INTEGER
DECLARE OrderNumber : INTEGER
DECLARE OrderPrice : REAL
DECLARE OrderDate : DATE
ENDTYPE
© Cambridge University Press & Assessment 2024 Page 5 of 15
Official mark scheme pages: 5 · source PDF URL
9618-2024-on-32-q10
Oct/Nov 2024 · Paper 32 · Question 10 · 6 marks
10(a) One mark per mark point (Max 3) 3
MP1 Attributes/properties …
MP2 … with their data types // … are variables bound to the class
MP3 Methods …
MP4 … that are subroutines / functions / procedures that act upon the attributes
MP5 Getters/setters …
MP6 … are methods that can fetch / update the contents of attributes
MP7 A constructor …
MP8 … that is used to create instances / objects of this class.
© Cambridge University Press & Assessment 2024 Page 11 of 15
10(b) One mark per mark point (Max 3) 3
MP1 A class is only defined once but many objects can be created from that class // A class is a template / blueprint from
which objects are created // An object is an instance of a class
MP2 No memory is allocated when a class is defined, but objects are allocated memory space whenever they are created
MP3 A class cannot be manipulated as it is not available in the memory, but objects can be manipulated
MP4 A class is defined but an object is declared / created / instantiated.
MP5 A class can use inheritance. An object cannot.
© Cambridge University Press & Assessment 2024 Page 12 of 15
Official mark scheme pages: 11, 12 · source PDF URL
9618-2024-on-33-q06
Oct/Nov 2024 · Paper 33 · Question 6 · 7 marks
6(a) One mark per mark point (Max 3) 3
MP1 A set user-defined data type is a composite data type
MP2 … which includes a list of unordered elements
MP3 Set theory operations, such as intersection and union, can be applied to these elements
MP4 A set data type includes the type of data/data type it uses as part of its definition
MP5 All the elements are of the same data type.
© Cambridge University Press & Assessment 2024 Page 7 of 17
6(b) One mark for each mark point (Max 4) 4
MP1 TYPE SymbolSet/Operators =
MP2 SET OF CHAR
MP3 DEFINE Operators/SymbolSet
MP4 ('+', '–', '*', '/', '^')
MP5 : SymbolSet/Operators
Example answers
TYPE SymbolSet = SET OF CHAR
DEFINE Operators ('+', '–', '*', '/', '^') : SymbolSet
TYPE Operators = SET OF CHAR
DEFINE SymbolSet ('+', '–', '*', '/', '^') : Operators
Question Answer Marks
Official mark scheme pages: 7, 8 · source PDF URL
9618-2025-mj-31-q01
May/June 2025 · Paper 31 · Question 1 · 6 marks
1(a) One mark per mark point 2
MP1 TYPE Vehicle =
MP2 (M100, M230, T101, T102, T120, T150)
Example answer:
TYPE Vehicle = (M100, M230, T101, T102, T120, T150)
1(b) One mark per mark point 4
MP1 TYPE Booking and ENDTYPE correct
MP2 Declare used correctly for every field in the response
MP3 Any four fields correct
MP4 Remaining fields correct
Example answer:
TYPE Booking
DECLARE BookingNumber : STRING
DECLARE Destination : STRING
DECLARE ClientName : STRING
DECLARE ClientTelephone : STRING
DECLARE DateOfDeparture : DATE
DECLARE PickupAddress : STRING
DECLARE TaxiUsed : Vehicle
ENDTYPE
© Cambridge University Press & Assessment 2025 Page 6 of 15
Official mark scheme pages: 6 · source PDF URL
9618-2025-mj-31-q11
May/June 2025 · Paper 31 · Question 11 · 8 marks
11(a) One mark per mark point 5
MP1 Two correct attributes (PatientID : INTEGER and Doctor : STRING)
MP2 SetTreatments(…) and SetMedications(…) seen
MP3 … and appropriate parameters, with string data types
MP4 GetPatientID() and GetDoctor() seen
MP5 SetDateSeen(…) and GetDateSeen fully correct with appropriate parameter and correct data type in setter.
Appointment
DateSeen : DATE
PatientID : INTEGER
Doctor : STRING
Treatments : STRING
Medications : STRING
SetDateSeen(NewDate : DATE)
SetPatientID(PatientNumber : INTEGER)
SetDoctor(DoctorID : STRING)
SetTreatments(NewTreatments : STRING)
SetMedications(NewMedications : STRING)
GetDateSeen()
GetPatientID()
GetDoctor()
GetTreatments()
GetMedications()
11(b)(i) Encapsulation 1
11(b)(ii) One mark for each mark point (Max 2) 2
MP1 Inheritance is where a derived class takes properties / behaviours attributes / methods
MP2 … of a parent / super class / base class
MP3 The attributes / methods / properties taken from the parent / super class / base class can also be extended /
copied / used / changed / overwritten / overridden in the subclass.
© Cambridge University Press & Assessment 2025 Page 14 of 15
Official mark scheme pages: 14 · source PDF URL
9618-2025-mj-32-q01
May/June 2025 · Paper 32 · Question 1 · 6 marks
1(a) One mark for each mark point 3
MP1 Use of correct Flight1 variable with given field names
MP2 Correct assignments of four string data values
MP3 Correct assignment of date data value
Example answer
Flight1.FlightNumber "SB2789"
Flight1.Destination "Dublin"
Flight1.FlightDate 30/07/2025
Flight1.Gate "N03"
Flight1.Airline "Cambridge Airways"
1(b)(i) One mark per mark point 2
MP1 TYPE GateID =
MP2 (N01, N02, N03, W01, W02, W03, W04)
Example answer
TYPE GateID = (N01, N02, N03, W01, W02, W03, W04)
1(b)(ii) DECLARE Gate : GateID 1
Question Answer Marks
Official mark scheme pages: 4 · source PDF URL
9618-2025-mj-32-q12
May/June 2025 · Paper 32 · Question 12 · 8 marks
12(a) One mark per mark point 5
MP1 Two correct attributes (DateOfBirth : Date) and priority with a
sensible name and integer data type
MP2 SetPatientID(…) and SetDoctorID(…) seen
MP3 … and appropriate parameters, with string data types
MP4 GetPatientID() and GetDateOfBirth() seen
MP5 Priority setter and getter fully correct with name matching Priority
attribute, with appropriate parameter and correct data type.
Patient
PatientID : STRING
Name : STRING
DateOfBirth : DATE
Priority : INTEGER
DoctorID : STRING
SetPatientID(PatientNumber : STRING)
SetName(FullName : STRING)
SetDateOfBirth(DOB : DATE)
SetPriority(Urgency : INTEGER)
SetDoctorID(DocID : STRING)
GetPatientID()
GetName()
GetDateOfBirth()
GetPriority()
GetDoctorID()
12(b)(i) Instance // instantiation 1
12(b)(ii) One mark for each mark point 2
MP1 Polymorphism is when methods with the same name are redefined /
behave differently …
MP2 … in derived / inherited classes / subclasses
© Cambridge University Press & Assessment 2025 Page 11 of 12
Official mark scheme pages: 11 · source PDF URL
9618-2025-mj-33-q01
May/June 2025 · Paper 33 · Question 1 · 6 marks
1(a) One mark per mark point 4
MP1 TYPE VideoLibrary and ENDTYPE correct
MP2 Declare used correctly for every field in the response
MP3 All Three STRING fields correct (shaded)
MP4 Remaining Three fields correct (unshaded)
Example answer
TYPE VideoLibrary
DECLARE VideoID : STRING
DECLARE Title : STRING
DECLARE ReleaseYear : INTEGER
DECLARE PurchaseDate : DATE
DECLARE VideoFormat : STRING
DECLARE RunningTime : INTEGER
ENDTYPE
1(b) One mark for identification of field and one mark for reason 2
VideoFormat
This field can have a fixed range of possible values
© Cambridge University Press & Assessment 2025 Page 6 of 16
Official mark scheme pages: 6 · source PDF URL
9618-2025-mj-33-q05
May/June 2025 · Paper 33 · Question 5 · 4 marks
5 One mark per correct answer (Max 4) 4
OOP Term Purpose
Getter A method that accesses the value of a property
Setter A method that changes the value of a property
Object An instantiation / instance of a class
Method A programmed function / procedure / subroutine
/ subprogram defined as part of a class
Question Answer Marks
Official mark scheme pages: 10 · source PDF URL
9618-2025-on-31-q01
Oct/Nov 2025 · Paper 31 · Question 1 · 6 marks
1(a)(i) DECLARE Member1 : ClubMember 1
1(a)(ii) One mark for each correct answer 2
Example answer
Member1.Code 984632
Member1.FeesPaid TRUE
1(b)(i) One mark per mark point (Max 2) 2
MP1 TYPE Activity=
MP2 (Badminton, Football, Golf, Snooker, Swimming, Tennis)
Example answer
TYPE Activity = (Badminton, Football, Golf, Snooker, Swimming,
Tennis)
1(b)(ii) DECLARE Choice : Activity 1
Question Answer Marks Guidance
Official mark scheme pages: 6 · source PDF URL
9618-2025-on-31-q10
Oct/Nov 2025 · Paper 31 · Question 10 · 3 marks
10 One mark per mark point (Max 2) 3
MP1 Exception handling is a process that responds to unwanted / unexpected
events when a program runs
MP2 … to prevent the program / computer from stopping unexpectedly
One mark for example (Max 1)
MP3 Programming errors
MP4 User errors
MP5 Hardware failure // losing connection to a device such as a printer
© Cambridge University Press & Assessment 2025 Page 14 of 15
Official mark scheme pages: 14 · source PDF URL
9618-2025-on-32-q01
Oct/Nov 2025 · Paper 32 · Question 1 · 6 marks
1(a)(i) DECLARE Car1 : Car 1
1(a)(ii) One mark for each correct answer 2
Example answer
Car1.Colour "Blue"
Car1.IntoStock 21/10/2025
1(b)(i) One mark per mark point (Max 2) 2
MP1 TYPE Body =
MP2 (Convertible, Hatchback, Saloon, SUV)
Example answer
TYPE Body = (Convertible, Hatchback, Saloon, SUV)
1(b)(ii) DECLARE BodyStyle : Body 1
© Cambridge University Press & Assessment 2025 Page 6 of 17
Official mark scheme pages: 6 · source PDF URL
9618-2025-on-32-q10
Oct/Nov 2025 · Paper 32 · Question 10 · 4 marks
10(a) One mark per mark point (Max 2) 2
MP1 Use an exception handling routine (to respond to unwanted / unexpected events when the program is running)
MP2 Use of try … except / catch // Generate some form of error message
10(b) One mark per mark point (Max 2) 2
MP1 Coding errors
MP2 User errors
MP3 Hardware failure // Losing connection to a device e.g. a printer
© Cambridge University Press & Assessment 2025 Page 15 of 17
Official mark scheme pages: 15 · source PDF URL
9618-2025-on-33-q01
Oct/Nov 2025 · Paper 33 · Question 1 · 8 marks
1(a)(i) One mark per mark point (Max 2) 2
MP1 TYPE Spectrum =
MP2 (Red, Orange, Yellow, Green, Blue, Indigo, Violet)
Example answer
TYPE Spectrum = (Red, Orange, Yellow, Green, Blue,
Indigo, Violet)
1(a)(ii) One mark per mark point (Max 2) 2
MP1 the list is ordered/ordinal
MP2 the list contains all possible values
MP3 no duplicate values in list
MP4 all values are the same data type
1(b) One mark for TYPE ColourData and ENDTYPE correct 4
One mark for correct use of DECLARE in all declarations
One mark for correct use of Spectrum in declaration
One mark for remaining four declarations correct (STRING, INTEGER,
REAL, BOOLEAN)
Example answer
TYPE ColourData
DECLARE ColourCode : STRING
DECLARE Colour : Spectrum
DECLARE Wavelength : INTEGER
DECLARE Frequency : REAL
DECLARE PrimaryColour : BOOLEAN
ENDTYPE
© Cambridge University Press & Assessment 2025 Page 6 of 16
Official mark scheme pages: 6 · source PDF URL
9618-2025-on-33-q12
Oct/Nov 2025 · Paper 33 · Question 12 · 5 marks
12(a) One mark per mark point (Max 3) 3
MP1 An exception is an unplanned / unexpected event that occurs
when a program is running
MP2 … due to an error in programming/logic that wasn’t detected during
program construction/compilation
MP3 The effect of an exception can be that the program halts
unexpectedly.
12(b) One mark per mark point (Max 2) 2
MP1 One mark for an example of an exception (see list in guidance)
MP2 One mark for the reason for the given exception
Example answer
Division by zero
The processor will not be able to evaluate this answer because a number
divided by zero is infinity, so the program will crash.
© Cambridge University Press & Assessment 2025 Page 14 of 16
Official mark scheme pages: 14 · source PDF URL