0% found this document useful (0 votes)
81 views28 pages

Cambridge International AS & A Level: Computer Science 9618/22

Uploaded by

asunachen0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
81 views28 pages

Cambridge International AS & A Level: Computer Science 9618/22

Uploaded by

asunachen0
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

Cambridge International AS & A Level

COMPUTER SCIENCE 9618/22


Paper 2 Fundamental Problem-solving and Programming Skills May/June 2024

INSERT 2 hours

INFORMATION
*2323469758-I*

● This insert contains all the resources referred to in the questions.


● You may annotate this insert and use the blank spaces for planning. Do not write your answers on the
insert.

This document has 4 pages.


m
co
e.
at

DC (SL) 342704
-m

© UCLES 2024 [Turn over


am
x
.e
w
w
w
2

An error will be generated if a function call is not properly formed or if the parameters are of an incorrect
type or an incorrect value.

String and character functions

• A string of length 1 may be considered to be either of type CHAR or STRING


• A CHAR may be assigned to, or concatenated with, a STRING
• A STRING of length greater than 1 cannot be assigned to a CHAR

LEFT(ThisString : STRING, x : INTEGER) RETURNS STRING


returns leftmost x characters from ThisString
Example: LEFT("ABCDEFGH", 3) returns "ABC"
RIGHT(ThisString : STRING, x : INTEGER) RETURNS STRING
returns rightmost x characters from ThisString
Example: RIGHT("ABCDEFGH", 3) returns "FGH"
MID(ThisString : STRING, x : INTEGER, y : INTEGER) RETURNS STRING
returns a string of length y starting at position x from ThisString
Example: MID("ABCDEFGH", 2, 3) returns string "BCD"
LENGTH(ThisString : STRING) RETURNS INTEGER
returns the integer value representing the length of ThisString
Example: LENGTH("Happy Days") returns 10
TO_UPPER(x : <datatype>) RETURNS <datatype>

<datatype> may be CHAR or STRING


returns an object of type <datatype> formed by converting all characters of x to upper case.
Examples:
• TO_UPPER("Error 803") returns "ERROR 803"
• TO_UPPER('a') returns 'A'
TO_LOWER(x : <datatype>) RETURNS <datatype>

<datatype> may be CHAR or STRING


returns an object of type <datatype> formed by converting all characters of x to lower case.
Examples:
• TO_LOWER("JIM 803") returns "jim 803"
• TO_LOWER('W') returns 'w'
NUM_TO_STR(x : <datatype1>) RETURNS <datatype2>
returns a string representation of a numeric value.
<datatype1> may be REAL or INTEGER, <datatype2> may be CHAR or STRING
Example: NUM_TO_STR(87.5) returns "87.5"
If x is a negative value, the returned value will be a string beginning with the '–' character.
STR_TO_NUM(x : <datatype1>) RETURNS <datatype2>
returns a numeric representation of a string.
<datatype1> may be CHAR or STRING, <datatype2> may be REAL or INTEGER
m

Example: STR_TO_NUM("23.45") returns 23.45


co
e.

If the string begins with the '–' character, the returned value will be negative.
at
-m
am

© UCLES 2024 9618/22/INSERT/M/J/24


x
.e
w
w
w
3

IS_NUM(ThisString : <datatype>) RETURNS BOOLEAN


returns TRUE if ThisString represents a valid numeric value.
<datatype> may be CHAR or STRING
Example: IS_NUM("-12.36") returns TRUE
ASC(ThisChar : CHAR) RETURNS INTEGER
returns an integer value (the ASCII value) of character ThisChar
Example: ASC('A') returns 65, ASC('B') returns 66
CHR(x : INTEGER) RETURNS CHAR
returns the character whose integer value (the ASCII value) is x
Example: CHR(65) returns 'A', CHR(66) returns 'B'

Numeric functions

INT(x : REAL) RETURNS INTEGER


returns the integer part of x
Example: INT(27.5415) returns 27
RAND(x : INTEGER) RETURNS REAL
returns a real number in the range 0 to x (not inclusive of x).
Example: RAND(87) could return 35.430729

Date functions
Date format is assumed to be DD/MM/YYYY unless otherwise stated.

DAY(ThisDate : DATE) RETURNS INTEGER


returns the day number from ThisDate
Example: DAY(04/10/2003) returns 4
MONTH(ThisDate : DATE) RETURNS INTEGER
returns the month number from ThisDate
Example: MONTH(04/10/2003) returns 10
YEAR(ThisDate : DATE) RETURNS INTEGER
returns the year number from ThisDate
Example: YEAR(04/10/2003) returns 2003
DAYINDEX(ThisDate : DATE) RETURNS INTEGER
returns the day index number from ThisDate where Sunday = 1, Monday = 2 etc.
Example: DAYINDEX(09/05/2023) returns 3
SETDATE(Day, Month, Year : INTEGER) RETURNS DATE
returns a value of type DATE with the value of <Day>/<Month>/<Year>
Example: SETDATE(26, 10, 2003) returns a date corresponding to 26/10/2003
TODAY() RETURNS DATE
returns a value of type DATE corresponding to the current date.
m
co
e.
at
-m
am

© UCLES 2024 9618/22/INSERT/M/J/24 [Turn over


x
.e
w
w
w
4

Text file functions

EOF(FileName : STRING) RETURNS BOOLEAN


returns TRUE if there are no more lines to be read from file FileName
will generate an error if the file is not already open in READ mode.

Operators
An error will be generated if an operator is used with a value or values of an incorrect type.

concatenates (joins) two strings.


& Example: "Summer" & " " & "Pudding" evaluates to "Summer Pudding"
may also be used to concatenate a CHAR with a STRING

performs a logical AND on two Boolean values.


AND
Example: TRUE AND FALSE evaluates to FALSE

performs a logical OR on two Boolean values.


OR
Example: TRUE OR FALSE evaluates to TRUE

performs a logical NOT on a Boolean value.


NOT
Example: NOT TRUE evaluates to FALSE

finds the remainder when one number is divided by another.


MOD
Example: 10 MOD 3 evaluates to 1

finds the quotient when one number is divided by another.


DIV
Example 10 DIV 3 evaluates to 3

Comparison operators

used to compare two items of the same type.


=
evaluates to TRUE if the condition is true, otherwise evaluates to FALSE
>
Notes:
<
• may be used to compare types REAL and INTEGER
• may be used to compare types CHAR and STRING
>=
• case sensitive when used to compare types CHAR and/or STRING
• cannot be used to compare two records
<=
Examples:
<>
• "Program" = "program" evaluates to FALSE
• Count = 4 evaluates to TRUE when Count contains the value 4

Permission to reproduce items where third-party owned material protected by copyright is included has been sought and cleared where possible. Every
reasonable effort has been made by the publisher (UCLES) to trace copyright holders, but if any items requiring clearance have unwittingly been included, the
publisher will be pleased to make amends at the earliest possible opportunity.

To avoid the issue of disclosure of answer-related information to candidates, all copyright acknowledgements are reproduced online in the Cambridge
m

Assessment International Education Copyright Acknowledgements Booklet. This is produced for each series of examinations and is freely available to download
co

at www.cambridgeinternational.org after the live examination series.


e.
at
-m

Cambridge Assessment International Education is part of Cambridge Assessment. Cambridge Assessment is the brand name of the University of Cambridge
Local Examinations Syndicate (UCLES), which is a department of the University of Cambridge.
am

© UCLES 2024 9618/22/INSERT/M/J/24


x
.e
w
w
w
Cambridge International AS & A Level
* 2 3 2 3 4 6 9 7 5 8 *

COMPUTER SCIENCE 9618/22


Paper 2 Fundamental Problem‑solving and Programming Skills May/June 2024

2 hours

You must answer on the question paper.

You will need: Insert (enclosed)

INSTRUCTIONS
● Answer all questions.
● Use a black or dark blue pen.
● Write your name, centre number and candidate number in the boxes at the top of the page.
● Write your answer to each question in the space provided.
● Do not use an erasable pen or correction fluid.
● Do not write on any bar codes.
● You may use an HB pencil for any diagrams, graphs or rough working.
● Calculators must not be used in this paper.

INFORMATION
● The total mark for this paper is 75.
● The number of marks for each question or part question is shown in brackets [ ].
● No marks will be awarded for using brand names of software packages or hardware.
● The insert contains all the resources referred to in the questions.

This document has 24 pages. Any blank pages are indicated.


m
co
e.
at

DC (PQ/CGW) 329350/3
-m

© UCLES 2024 [Turn over


am
x
.e
w
w
w
2

Refer to the insert for the list of pseudocode functions and operators.

1 (a) The following table contains pseudocode examples.

Each example may contain statements that relate to one or more of the following:
• selection
• iteration (repetition)
• input/output.

Complete the table by placing one or more ticks (3) in each row.

Pseudocode example Selection Iteration Input/Output


FOR Index 1 TO 10
Data[Index] 0
NEXT Index
WRITEFILE ThisFile, "****"

UNTIL Level > 25


IF Mark > 74 THEN
READFILE OldFile, Data
ENDIF
[4]

(b) Program variables have data types as follows:

Variable Data type

MyChar CHAR

MyString STRING

MyInt INTEGER

Complete the table by filling in each gap with a function (from the insert) so that each expression
is valid.

Expression

MyInt .......................................... (3.1415926)

MyChar .......................................... ("Elwood", 3, 1)

MyString .......................................... ( .......................................... (27.509))

MyInt .......................................... ( .......................................... ("ABC123", 3))


[4]
m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
3

(c) The variables given in part (b) are chosen during the design stage of the program development
life cycle.

The choices are to be documented to simplify program maintenance.

State a suitable way of documenting the variables and give one piece of information that
should be recorded, in addition to the data type.

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

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

............................................................................................................................................. [2]

m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24 [Turn over


x
.e
w
w
w
4

2 A program is being developed.

(a) An algorithm for part of the program will:


• input three numeric values and assign them to identifiers Num1, Num2 and Num3
• assign the largest value to variable Ans
• output a message giving the largest value and the average of the three numeric values.

Assume the values are all different and are input in no particular order.

Complete the program flowchart on page 5 to represent the algorithm.

m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
5

START

INPUT Numl, Num2, Num3

No

Yes

END

[5]
m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24 [Turn over


x
.e
w
w
w
6

(b) A different part of the program contains an algorithm represented by the following program
flowchart:

START

Set Flag to GetStat()

Is Flag = Yes
TRUE ?

No END

Set Port to 1

No
Is Port = 4 ?

CALL Reset(Port)
Yes

Set Port to Port + 1

Write pseudocode for the algorithm.

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

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

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

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

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

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

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

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

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

...................................................................................................................................................
m
co

...................................................................................................................................................
e.
at
-m

............................................................................................................................................. [5]
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
7

3 A factory needs a program to help manage its production of items.

Data will be stored about each item.

The data for each item will be held in a record structure of type Component.

The programmer has started to define the fields that will be needed as shown in the table.

Field Example value Comment


Item_Num 123478 a numeric value used as an array index
Reject FALSE TRUE if this item has been rejected
Stage 'B' a letter to indicate the stage of production
Limit_1 13.5 any value in the range 0 to 100 inclusive
Limit_2 26.4 any value in the range 0 to 100 inclusive

(a) (i) Write pseudocode to declare the record structure for type Component.

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

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

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

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

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

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

..................................................................................................................................... [4]

(ii) A 1D array Item of 2000 elements will store the data for all items.

Write pseudocode to declare the Item array.

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

..................................................................................................................................... [2]

(b) State three benefits of using an array of records to store the data for all items.

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

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

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

...................................................................................................................................................
m

3 ................................................................................................................................................
co
e.
at

...................................................................................................................................................
-m

[3]
am

© UCLES 2024 9618/22/M/J/24 [Turn over


x
.e
w
w
w
8

4 A triangle has sides of length A, B and C.

B C

In this example, A is the length of the longest side.

This triangle is said to be right‑angled if the following equation is true:

A × A = (B × B) + (C × C)

A procedure will be written to check whether three lengths represent a right‑angled triangle.
The lengths will be input in any sequence.

The procedure IsRA() will:


• prompt and input three integer values representing the three lengths
• test whether the three lengths correspond to the sides of a right‑angled triangle
• output a suitable message.

The length of the longest side may not be the first value input.

m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
9

Write pseudocode for the procedure IsRA().

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.................................................................................................................................................... [5]
m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24 [Turn over


x
.e
w
w
w
10

5 A program is being designed in pseudocode.

The program contains a global 1D array Data of type string containing 200 elements.

The first element has the index value 1.

A procedure Process() is written to initialise the values in the array:

PROCEDURE Process(Label : STRING)


DECLARE Index : INTEGER
Index 0
INPUT Data[Index]
WHILE Index < 200
Index Index + 1
CASE OF (Index MOD 2)
0 : Data[Index] TO_UPPER(Label)
1 : Data[Index] TO_LOWER(Label)
OTHERWISE : OUTPUT "Alarm 1201"
ENDCASE
NEXT Index
OUTPUT "Completed " & Index & " times"
ENDPROCEDURE

(a) (i) The pseudocode contains two syntax errors and one other error.

Identify the errors.

Syntax error 1 ....................................................................................................................

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

Syntax error 2 ....................................................................................................................

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

Other error .........................................................................................................................


Access element outside the range

...........................................................................................................................................
[3]

(ii) The procedure contains a statement that is not needed.

Identify the pseudocode statement and explain why it is not needed.

Statement ..........................................................................................................................

Explanation .......................................................................................................................

...........................................................................................................................................
[2]
m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
11

(b) After correcting all syntax errors, the pseudocode is translated into program code which
compiles without generating any errors.

When the program is executed it unexpectedly stops responding.

Identify the type of error that has occurred.

............................................................................................................................................. [1]

m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24 [Turn over


x
.e
w
w
w
12

6 A music player stores music in a digital form and has a display which shows the track being
played.

(a) Up to 16 characters can be displayed. Track titles longer than 16 characters will need to be
trimmed as follows:
• Words must be removed from the end of the track title until the resulting title is less than
14 characters.
• When a word is removed, the space in front of that word is also removed.
• Three dots are added to the end of the last word displayed when one or more words
have been removed.

The table below shows some examples:

Original title Display string

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Bat out of Hull B a t o u t o f H u l l

Bohemian Symphony B o h e m i a n . . .

Paperbook Writer P a p e r b o o k W r i t e r

Chris Sings the Blues C h r i s S i n g s . . .

Green Home Alabama G r e e n H o m e . . .

A function Trim() will:


• take a string representing the original title
• return the string to be displayed.

Assume:
• Words in the original title are separated by a single space character.
• There are no spaces before the first word or after the last word of the original title.
• The first word of the original title is less than 14 characters.

m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
13

Write pseudocode for the function Trim().

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

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

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

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

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

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

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

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

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

...................................................................................................................................................
RETURNS STRING
...................................................................................................................................................

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

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

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

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

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

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

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

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

...................................................................................................................................................
<— LEFT(Name, LENGTH(Name) - 1) //remove the space

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

............................................................................................................................................. [7]
m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24 [Turn over


x
.e
w
w
w
14

(b) Music is stored as a sequence of digital samples.

Each digital sample is a denary value in the range 0 to 99999999 (8 digits).

The samples are to be stored in a text file. Each sample is converted to a numeric string and
32 samples are concatenated (joined) to form a single line of the text file.

Each numeric string is 8 characters in length; leading ‘0’ characters are added as required.

Example:

Sample Denary value String


1 456 "00000456"
2 48 "00000048"
3 37652 "00037652"

32 673 "00000673"

The example samples will be stored in the text file as a single line:

"000004560000004800037652...00000673"

(i) Identify one drawback of adding leading ‘0’ characters to each numeric string.

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

..................................................................................................................................... [1]

(ii) Suggest an alternative method of storing the samples which does not involve adding
leading ‘0’ characters but which would still allow each individual sample to be extracted.

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

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

..................................................................................................................................... [1]

(iii) State one drawback of the alternative method given in part (b)(ii).
The algorithm to separate the individual values is more complex.
...........................................................................................................................................

..................................................................................................................................... [1]
m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
15

BLANK PAGE

m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24 [Turn over


x
.e
w
w
w
16

7 A fitness club has a computerised membership system.

The system stores information for each club member: name, home address, email address, mobile
phone number, date of birth and exercise preferences.

Many classes are full, and the club creates a waiting list for each class. The club adds details of
members who want to join a class that is full to the waiting list for that class.

When the system identifies that a space is available in one of the classes, a new module will send
a text message to each member who is on the waiting list.

(a) Decomposition will be used to break the new module into sub‑modules (sub‑problems).

Identify three sub‑modules that could be used in the design and describe their use.

Sub‑module 1 ...........................................................................................................................

Use ...........................................................................................................................................

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

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

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

Sub‑module 2 ...........................................................................................................................

Use ...........................................................................................................................................

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

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

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

Sub‑module 3 ...........................................................................................................................

Use ...........................................................................................................................................

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

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

...................................................................................................................................................
[3]
m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
17

(b) A different part of the program is represented by the following state‑transition diagram.

Input-B | Output-W
Input-B
Input-B
START
S1 S3 S2 S5

Input-A
Input-A Input-A | Output-W

Input-B | Output-Y
Input-A | Output-X
S4

(i) Complete the table to show the inputs, outputs and next states.

Assume that the current state for each row is given by the ‘Next state’ on the previous
row. For example, the first Input‑A is made when in state S1.

If there is no output for a given transition, then the output cell should contain ‘none’.

The first two rows have been completed.

Input Output Next state

S1

Input‑A none S3

Output‑W

none

Input‑B

Input‑A

S4
[5]

(ii) Identify the input sequence that will cause the minimum number of state changes in the
transition from S1 to S4.

..................................................................................................................................... [1]
m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24 [Turn over


x
.e
w
w
w
18

8 A teacher is designing a program to process pseudocode projects written by her students.

Each student project is stored in a text file.

The process is split into a number of stages. Each stage performs a different task and creates a
new file.

For example:

File name Comment

MichaelAday_src.txt Student project file produced by student Michael Aday

MichaelAday_S1.txt File produced by stage 1

MichaelAday_S2.txt File produced by stage 2

(a) Suggest a reason why the teacher’s program has been split into a number of stages and give
the benefit of producing a different file from each stage.

Reason .....................................................................................................................................
Easier to design / implement / text / debug / modify

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

Benefit ......................................................................................................................................

...................................................................................................................................................
[2]

(b) The teacher has defined the first program module as follows:

Module Description
DeleteSpaces() • called with a parameter of type string representing a line of
pseudocode from a student’s project file
• returns the line after removing any leading space characters

The following example shows a string before and after the leading
spaces have been removed:

Before: " IF X2 > 13 THEN"


After: "IF X2 > 13 THEN"
m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
19

Complete the pseudocode for module DeleteSpaces().

FUNCTION DeleteSpaces(Line : STRING) RETURNS STRING


DECLARE NewLine : STRING
...................................................................................................................................................
DECLARE EndOfLeading : BOOLEAN
DECLARE Count, NumSpaces : INTEGER
...................................................................................................................................................
DECLARE NextChar : CHAR
CONSTANT Space = “ ”
...................................................................................................................................................
NumSpaces <— 0
EndOfLeading <— FALSE //initialise
...................................................................................................................................................
For Count <— 1 TO LENGTH(Line)
NextChar <— MID(Line, Count, 1)
...................................................................................................................................................
IF NextChar <> Space AND EndOfLeading = FALSE
Then
NumSpaces <— Count - 1 // the number to trim
...................................................................................................................................................
EndOfLeading = TRUE
ENDIF
...................................................................................................................................................
NEXT Count

NewLine <— RIGHT(Line, LENGTH(Line) - NumSpaces)


...................................................................................................................................................
RETURN NewLine
...................................................................................................................................................

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

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

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

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

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

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

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

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

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

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

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

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

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

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

...................................................................................................................................................
m

ENDFUNCTION [6]
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24 [Turn over


x
.e
w
w
w
20

(c) Two modules are defined:

Module Description
DeleteComment() • called with a parameter of type string representing a line of
(already written) pseudocode from a student’s project file
• returns the line after removing any comment
Stage_2() • called with two parameters:
○ a string representing an input file name
○ a string representing an output file name
• copies each line from the input file to the existing output file having
first removed all leading spaces and comments from that line
• does not write blank lines to the output file
• outputs a final message giving the number of blank lines removed

m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
21

Write pseudocode for module Stage_2().

Modules DeleteComment() and DeleteSpaces() must be used in your solution.

APPEND
...................................................................................................................................................

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

...................................................................................................................................................
m

............................................................................................................................................. [8]
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
22

BLANK PAGE

m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
23

BLANK PAGE

m
co
e.
at
-m
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w
24

BLANK PAGE

Permission to reproduce items where third‑party owned material protected by copyright is included has been sought and cleared where possible. Every
reasonable effort has been made by the publisher (UCLES) to trace copyright holders, but if any items requiring clearance have unwittingly been included, the
publisher will be pleased to make amends at the earliest possible opportunity.

To avoid the issue of disclosure of answer‑related information to candidates, all copyright acknowledgements are reproduced online in the Cambridge
m

Assessment International Education Copyright Acknowledgements Booklet. This is produced for each series of examinations and is freely available to download
co

at www.cambridgeinternational.org after the live examination series.


e.
at
-m

Cambridge Assessment International Education is part of Cambridge Assessment. Cambridge Assessment is the brand name of the University of Cambridge
Local Examinations Syndicate (UCLES), which is a department of the University of Cambridge.
am

© UCLES 2024 9618/22/M/J/24


x
.e
w
w
w

You might also like