Further programming

9618 Computer Science · official mark-scheme answers · 60 questions

9618-2021-mj-31-q02

May/June 2021 · Paper 31 · Question 2 · 8 marks
9618-2021-mj-31-q02 official mark scheme page
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
9618-2021-mj-31-q09 official mark scheme page 9618-2021-mj-31-q09 official mark scheme page
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
9618-2021-mj-32-q02 official mark scheme page
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
9618-2021-mj-32-q09 official mark scheme page 9618-2021-mj-32-q09 official mark scheme page
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
9618-2021-mj-33-q02 official mark scheme page
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
9618-2021-mj-33-q09 official mark scheme page 9618-2021-mj-33-q09 official mark scheme page
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
9618-2021-on-31-q05 official mark scheme page
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
9618-2021-on-32-q05 official mark scheme page
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
9618-2022-mj-31-q01 official mark scheme page
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
9618-2022-mj-31-q02 official mark scheme page
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
9618-2022-mj-31-q07 official mark scheme page 9618-2022-mj-31-q07 official mark scheme page
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
9618-2022-mj-32-q09 official mark scheme page 9618-2022-mj-32-q09 official mark scheme page
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
9618-2022-mj-33-q01 official mark scheme page
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
9618-2022-mj-33-q02 official mark scheme page
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
9618-2022-mj-33-q07 official mark scheme page 9618-2022-mj-33-q07 official mark scheme page
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
9618-2022-on-31-q03 official mark scheme page 9618-2022-on-31-q03 official mark scheme page
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
9618-2022-on-31-q11 official mark scheme page 9618-2022-on-31-q11 official mark scheme page
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
9618-2022-on-32-q04 official mark scheme page 9618-2022-on-32-q04 official mark scheme page
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
9618-2022-on-32-q10 official mark scheme page 9618-2022-on-32-q10 official mark scheme page
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
9618-2022-on-33-q03 official mark scheme page 9618-2022-on-33-q03 official mark scheme page
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
9618-2022-on-33-q11 official mark scheme page 9618-2022-on-33-q11 official mark scheme page
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
9618-2023-mj-31-q04 official mark scheme page
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
9618-2023-mj-31-q08 official mark scheme page
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
9618-2023-mj-32-q04 official mark scheme page
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
9618-2023-mj-33-q04 official mark scheme page
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
9618-2023-mj-33-q08 official mark scheme page
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
9618-2023-on-31-q03 official mark scheme page
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
9618-2023-on-31-q04 official mark scheme page
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
9618-2023-on-31-q07 official mark scheme page
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
9618-2023-on-32-q02 official mark scheme page
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
9618-2023-on-32-q11 official mark scheme page
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
9618-2023-on-33-q03 official mark scheme page
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
9618-2023-on-33-q04 official mark scheme page
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
9618-2023-on-33-q07 official mark scheme page
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
9618-2024-mj-31-q03 official mark scheme page
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
9618-2024-mj-31-q04 official mark scheme page
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
9618-2024-mj-31-q08 official mark scheme page
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
9618-2024-mj-32-q03 official mark scheme page
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
9618-2024-mj-32-q07 official mark scheme page 9618-2024-mj-32-q07 official mark scheme page
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
9618-2024-mj-32-q10 official mark scheme page
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
9618-2024-mj-33-q03 official mark scheme page
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
9618-2024-mj-33-q04 official mark scheme page
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
9618-2024-mj-33-q08 official mark scheme page
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
9618-2024-on-31-q06 official mark scheme page 9618-2024-on-31-q06 official mark scheme page
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
9618-2024-on-32-q02 official mark scheme page
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
9618-2024-on-32-q03 official mark scheme page
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
9618-2024-on-32-q10 official mark scheme page 9618-2024-on-32-q10 official mark scheme page
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
9618-2024-on-33-q06 official mark scheme page 9618-2024-on-33-q06 official mark scheme page
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
9618-2025-mj-31-q01 official mark scheme page
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
9618-2025-mj-31-q11 official mark scheme page
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
9618-2025-mj-32-q01 official mark scheme page
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
9618-2025-mj-32-q12 official mark scheme page
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
9618-2025-mj-33-q01 official mark scheme page
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
9618-2025-mj-33-q05 official mark scheme page
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
9618-2025-on-31-q01 official mark scheme page
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
9618-2025-on-31-q10 official mark scheme page
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
9618-2025-on-32-q01 official mark scheme page
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
9618-2025-on-32-q10 official mark scheme page
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
9618-2025-on-33-q01 official mark scheme page
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
9618-2025-on-33-q12 official mark scheme page
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