Uploaded by Nischal Rathore

BOOK ANSWERS igcse compsci 2ed cb coursebook answers1

advertisement
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Sample answers have been written by the authors. In examinations, the way marks are awarded may be different.
Coursebook answers
Chapter 1: Data representation
Discussion questions
1
The answer will depend on the students.
2
This will be an open-ended discussion.
Questions
1
Any three examples of data that is heard, smelt, seen or touched, e.g. hearing music or
a soundwave.
2
It has lots of different possible values, rather than limited values like discrete data.
3
1
1
0
0
0
1
1
0
0
1
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
0
1
1
+
4
0
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
1
0
1
+
1
5
Each bit in the byte is shifted either to the left or the right by a set number of places.
The spaces left from the value shifted are replaced with 0 values.
6
00111011
7
It could potentially remove data that is vital. All text in a file is likely to be required,
so none can be removed.
8
Yes, as it will remove some of the detail, such as reducing the number of colours used
to create the image.
9
Yes, as it will remove some of the natural background noises, etc. from the recording,
so it won’t be as close to the original.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 1 continued
Skills focus 1.1 questions
1
15
2
0110
3
1001
4
00111010
5
01111011
6
255
7
99
8
25 225
32768
16384
8192
4096
2048
1024
512
256
128
64
32
16
8
4
2
1
0
1
1
0
0
0
1
0
1
0
0
0
1
0
0
1
Skills focus 1.2 questions
1
10100010
2
9D1
3
15E
4
940
Skills focus 1.3 questions
1
Three times
2
1 500 000
Exam-style questions
1
2
2
a
It is a continuous stream of data that is processed by humans.
b
It is discrete data that has two values, 1 and 0, and is processed by computer.
Four from:
•
A denary number system is a base 10 system, whereas a binary number system is a
base 2 system.
•
The units in a denary number system increase by 10, whereas the units in a binary
number system increase by 2.
•
A denary number system uses the values 0 to 9, whereas a binary number system
uses the values 0 and 1.
•
A denary number system cannot be processed by a computer, whereas a binary
number system can be processed by a computer.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 1 continued
3
a
b
4
One mark for two correct nibbles, two marks for three, for each conversion
•
0010 0001 1010
•
1001 0000 1101
09C
a
One mark for one correct nibble, two marks full correct answer, one mark for
demonstration of working, e.g. carried bits shown
1
0
1
0
1
1
0
1
1
0
1
1
1
1
0
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
+
b
5
6
One mark for 10111000
One mark for correct working, one mark for correct answer.
•
Convert 28 to binary number (00011100)
•
Invert the values (11100011)
•
Add 1 to get final answer (11100100).
a
Any one from: Compress the image; reduce the resolution; reduce the colour depth.
b
Two marks for two stages of working, one mark for the correct answer.
•
150 × 250 = 37 500 (number of pixels per image)
•
37 500 × 16 = 600 000 (number of bits per image)
•
600 000 / 8 = 75 000 (number of bytes per image)
•
75 000 / 1024 = 73.24 (number of KiB per image)
•
73.24 / 1024 = 0.07 (number of MiB per image)
•
0.07 * 20 = (number of MiB for 20 images) = 1.43 = 1.4 MiB
NOTE: There can be several different ways of working and any two viable stages can
be awarded.
7
a
b
8
3
Any two from:
•
less storage space required
•
less time for webpage to load for readers
•
quicker to upload content to the blog.
Four from:
•
A compression algorithm is used.
•
Patterns of notes in the file are identified
•
… and grouped with an index.
•
No data is permanently removed from the file.
1050 MiB
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 2: Data transmission
Discussion questions
1
The answer will depend on the students.
2
This will be an open-ended discussion.
Questions
1
They are the packet header, the payload and the trailer/footer.
2
It includes the destination address, the packet number and the originator’s address.
3
The payload
4
The transmission media, such as the wires and radio waves, would not be able to
transmit large amounts of data. It needs to be broken down into smaller units so that
it can be sent using these.
5
Parallel. It will allow the data to be transmitted quicker to the printer, to allow more
leaflets to be processed per minute. It is also only a short distance, so parallel data
transmission will still be reliable.
6
Serial
7
Parallel
8
Serial half-duplex
9
Any two from:
•
There is less chance of data being skewed or out of sequence, as it is sent one bit at
a time.
•
There is less chance of interference that could corrupt data, as only a single
wire used.
•
It is cheaper to manufacture or set up, as only a single wire used.
•
It is more reliable over a longer distance.
10 Any two from:
•
It can only be used over a limited distance.
•
There is more chance of interference as multiple wires are used.
•
There is more chance of errors in data as it is sent, multiple bits at a time and out
of sequence.
•
It is more expensive to manufacture or set up, as multiple wires are used.
11 Serial full-duplex. The distance is too far to use a parallel cable. The customer data is
valuable so it needs to be correct and serial transmission will have less chance of error,
because a single wire is used, so less interference or skewing of data. It needs to be
full-duplex as this is the only transmission method that will allow data to be sent in
both directions at the same time.
12 Universal serial bus
13 Serial
4
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 2 continued
14 Any two from:
•
It is a universal standard.
•
The cable can only be inserted one way into the port, so this helps prevent
incorrect connections.
•
It supports different transmission speeds.
•
It is backward compatible, so USB2 cables can be inserted into USB3 ports.
•
It can power another device whilst transmitting data.
•
Devices are automatically detected when connected.
•
The data transmission speed is relatively high.
15 Five of, e.g. keyboard, mouse, mobile phone, speaker, web camera, microphone.
16 5 metres. It is limited so that the data transmission rate can be kept fairly high.
It would deteriorate over a greater distance.
17 c (10101000)
18 c (10001000)
19 If an even number of bits had been transposed / interchanged, as it would still add up
to an odd or even number, depending on the parity used.
20 The actual data / payload that is being transmitted.
21 It is attached / appended to the data that is being transmitted, so that it is transmitted
with the data.
22 If the same calculation is performed on the data, it should get the same result. If the results
are different, the data must have changed during transmission, meaning that errors must
have been introduced.
23 No. It could be possible that the data arrived correctly, but that errors occurred in
the data when it was being transmitted by back the sender.
24 Encryption key
25 Cipher text
26 No. The data can still be stolen, as the hacker can still take it. It will just be meaningless
to the hacker, as it will be scrambled.
27 The same key is used in symmetric, and is transmitted with the data, so if a perpetrator
steals the data, it is likely they will also have the key to decrypt it. Two different keys are
used in asymmetric encryption and both are needed to decrypt the data. It makes it
much more difficult for a perpetrator to obtain both keys to decrypt the data.
Exam-style questions
1
5
Any two from:
•
destination address
•
packet number
•
originator’s address.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 2 continued
2
3
4
5
Any two from:
•
ach data packet is sent individually, possibly along a different route, so it could arrive
E
out of sequence.
•
The receiving device reads the packet number from the header and reorders
the packets based on this value.
Any two from:
•
Bits of data are sent down a single wire.
•
Bits of data are sent one at a time.
•
Data can be sent in both directions
•
… but only one direction at a time.
Any two from:
•
It is a universal standard.
•
The cable can only be inserted one way into the port, so this helps prevent incorrect
connections.
•
It supports different transmission speeds.
•
It is backward compatible, so USB2 cables can be inserted into USB3 ports.
•
It can power another device whilst transmitting data.
•
Devices are automatically detected when connected.
•
Data transmission speed is relatively high.
Two from:
•
Serial
•
Full duplex
And four from:
6
•
The distance is too far to use a parallel cable.
•
The data will have less chance of error
•
… because a single wire is used, so less interference or skewing of data.
•
It needs to be full duplex as this is the only transmission method that will allow data
to be sent in both directions at the same time.
One mark for each correct row:
Statement
This method checks for errors in data after it has
been transmitted.
This method can use an odd or even process.
This method sends data back from the receiver to
the sender to compare the data to check for errors.
This method uses a value that is calculated from
the data to check for errors.
7
6
Checksum
(✓)
✓
Echo Check
(✓)
✓
Parity Check
(✓)
✓
✓
✓
✓
✓
One mark for each correct term in the correct order: plain text; key; cipher text;
meaningless; decrypted; the same.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 3: Hardware
Discussion questions
1
The answer will depend on the students.
2
This will be an open-ended discussion.
3
The answer will depend on the students.
Questions
1
RAM
2
Control unit
3
To transmit data or signals in the fetch-execute cycle.
4
It needs it to store interim results of calculations. If it did not have the accumulator,
it would need to write and read the interim result to and from RAM each time.
5
7
Component
Description
Program counter (PC)
A register that holds the address of the next instruction to
be processed.
Memory address register (MAR)
A register that stores the address of where data or an
instruction is located in RAM.
Memory data register (MDR)
A register that stores data or an instruction when it is
fetched from RAM.
Control unit (CU)
A component that sends signals to control the interactions
of all other components during the fetch-execute cycle.
Current instruction register (CIR)
A register that holds the instruction that is currently being
processed.
Arithmetic logic unit (ALU)
A component that performs all calculations and logical
operations required during the fetch-execute cycle.
Accumulator (ACC)
A register that is built into the ALU that is used to store the
interim results of calculations.
Address bus
A bus that is used to transmit addresses within the CPU and
to, and from RAM.
Data bus
A bus that is used to transmit data or instructions within the
CPU, and to and from RAM.
Control bus
A bus that is used to transmit control signals that are sent by
the control unit.
6
Quad
7
4 800 000 000
8
If there are a large amount of frequently used data and instructions stored, it will take
longer for the CPU to search through the cache to find the one it is looking for.
It could be quicker in this case for the CPU to get the instruction or data from RAM,
rather than searching a large amount of data in a large cache to find it.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 3 continued
9
10
8
There are many other example uses than those given:
Input device
Description of data input
Example of use
Barcode
scanner
It scans a barcode so that the
data stored in the barcode can be
obtained.
It is used in a supermarket to get the
price of a product and as part of a stock
control system.
Digital camera It captures light through a lens and
converts it into binary.
It is built into a mobile phone to allow
the user to photograph items or people.
Keyboard
It allows the user to press keys that
have a designated ASCII/Unicode
value that is converted to binary.
It is one of the main methods of input
that allows a user to type data into a
personal computer.
Microphone
It captures soundwaves and
converts them to binary.
It is built into a mobile phone to capture
the user’s voice so that it can be heard
by the other users.
Optical mouse It captures the light that is bounced
back from a laser that is shone
from the mouse to the surface
underneath, to track the mouse’s
movements.
It is one of the main methods of input
that allows a user to select icons and
menu options whilst using a personal
computer.
QR code
scanner
It uses a sensor or a camera to
capture light reflected from a QR
code and converts it to binary.
It can be an application that is
downloaded onto a mobile phone and
used to SCAN QR codes that store
information, e.g. a website link.
Scanner (2D
and 3D)
They use sensors to capture light
that is reflected from a 2D or 3D
object and convert it to binary.
It can be used to scan 3D objects to
create a digital copy of them.
Touch screen
(resistive,
capacitive and
infra-red)
They use pressure, conductivity or
light to register the touch of a user
on a screen. The coordinates of the
touch can be calculated.
It is built into a ticket machine to allow
a user to select which ticket they would
like to buy.
Output
device
Description of data output
Example of use
Actuator
It is a component that outputs an
action, often a type of movement,
that causes another device to
operate.
It can be used in an automated system
to move or turn on/off another device,
e.g. a light.
Digital light
processing
(DLP)
projector
It is a device that uses light
reflected from millions of little
mirrors to output an image.
It can be used in a classroom to project
an image onto an interactive whiteboard.
Inkjet printer
This is a device that squirts liquid
ink from nozzles to output a
document or image.
It can be used in a house to print
photographs.
Laser printer
This is a device that uses a rotating
drum and powdered toner to
output a document.
It can be used in an office to print letters.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 3 continued
Output
device
Description of data output
Example of use
Light emitting
diode (LED)
screen
This is a screen that uses LEDs as a
backlight to output an image.
This screen can be built into a mobile
phone.
Liquid crystal
display (LCD)
projector
This is a device that shines light
through crystals and then through
a lens to project an image onto a
blank wall or screen.
This can be used to project an image in
a home cinema system.
Liquid crystal
display (LCD)
screen
This is a screen that shines light
through crystals to output an
image.
This can be built into a television screen.
Speaker
This is a device that outputs sound.
This can be built into a mobile phone
so one user can hear another user’s voice
3D printer
This is a device that builds layers of
material to output a 3D object.
This can be used in medicine to create
prosthetic limbs.
11 Input
12 Any five from:
•
acoustic
•
accelerometer
•
flow
•
gas
•
humidity
•
infra-red
•
level
•
light
•
magnetic field
•
moisture
•
pH
•
pressure
•
proximity
•
temperature.
13 Any valid example, such as:
9
a
Light – To automatically turn a car’s headlights on, when it is dark.
b
Magnetic field – To operate an ABS braking system in a car.
c
Temperature – In a kettle, to turn off the heating element when the water is boiling.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 3 continued
14 Any two from:
•
They are more accurate than a human.
•
They can monitor 24/7 as they don’t need to take a break like a human.
•
Their use can mean that humans can complete other tasks that require more thought.
•
Their use can stop humans getting bored doing repetitive tasks.
•
Their use means that humans don’t need to go into dangerous environments
to monitor and control them.
15 It could help detect when the hard drive is falling through the air and turn the device off,
to try to help prevent damage to data.
Exam-style questions
1
a
b
c
2
10
i
RAM
ii
Program counter / PC
iii
Any three from:
•
The instruction is sent to the control unit.
•
The control unit decodes the instruction by converting it to binary.
•
It does this using an instruction set
•
… which is a set of all the commands that are understood by the CPU.
i
2
ii
Two from:
•
Two instructions can be processed at the same time
•
… which helps data be processed quicker by the CPU.
i
Primary
ii
One mark for each type of storage:
•
RAM: Programs and data that are currently is use.
•
ROM: Start-up instructions, such as the BIOS.
One mark per each correct sensor
Scenario
Most appropriate sensor
To monitor the amount of pollution in a river.
pH
To count the number of competitors who finish a race.
Magnetic / pressure / Infra-red
To detect a person who is approaching an automatic
door system.
Infra-red
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 3 continued
3
a
i
ii
b
i
ii
4
Any two from:
•
CD
•
DVD
•
Blu-ray.
Six from:
•
A laser is directed at a reflective surface on a disk.
•
The disk is spun.
•
A read / write head that contains the laser is moved across the surface of
the disk.
•
The laser burns pits into the surface of the disk.
•
It starts at the centre of the disk and works outward in a spiral track.
•
Each pit represents a binary value.
Any one from:
•
They do not have to pay for the hardware to store the data.
•
They do not have the responsibility for the security of the hardware that
stores the data.
•
They can access the data and resources using different devices from anywhere
that has an Internet connection.
•
They can increase and decrease the amount of storage space that they need
very easily, on demand.
Any two from:
•
They are relying on a third party making sure that their data is safe.
If they do not do this correctly, they might put their data at risk.
•
If their connection fails or is not available, they will not be able to access
their data.
•
If their connection is slow, this can also mean that accessing their data is slow.
Any two from:
•
It is a numerical.
•
It uses 32 bits.
•
Each section is separated using full stops / periods / dots.
Chapter 4: Software
Discussion questions
11
1
E.g. easier to make an error, harder to debug
2
E.g. easier for people to write programs, more accessible to others, increase in
user-friendly interfaces for a range of users
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 4 continued
Questions
1
E.g. word processor, database, spreadsheet. Do not allow brand names.
2
To manage the hardware and software and allow these to communicate.
3
The application software runs on the operating system. The operating system runs on
the firmware. The firmware is loaded by the bootstrap.
4
E.g. create a file or directory, name a file or directory, move a file or directory, put a file
in a directory
5
Software, e.g. division by 0, attempt to access memory location not accessible.
Hardware, e.g. printer out of paper, pressing a key on the keyboard.
6
The interrupt handler determines where the interrupt goes in the queue, based on the
priority. When a FDE cycle finishes, the interrupt queue is checked. If there is a higher
level interrupt than the current process, the current process is stored. The ISR for
the interrupt is run. When finished, the current process is reinstated.
7
It uses English-style statements. It needs to be translated to a low-level language to
be run. It is portable / machine-independent.
8
Assembly; High-level; Machine code
9
Low-level language: Allows direct manipulation of hardware, reducing the memory that
the program uses.
10 Assembler, interpreter and compiler
11 Interpreter - whilst writing the program code. It allows Nasrat to make corrections
without having to restart the program each time.
Compiler Either: Whilst writing the program, because it gives all the errors together so they can all
be corrected before starting the program.
Or: When the program is finished. It can be tested without having to re-compile each time.
It produces an executable file - this means the source code does not need to be released
(so it cannot be copied or amended) and the user can run the program without
the translator.
12 Run-time environment, allows the user to interact with the program. Breakpoints, to stop
the code at specific points and check the variables. Stepping, to run the code one line at
a time to check the values. Variable watch window, displays the variable values while
the program runs.
Skills focus 4.1 questions
12
1
The interpreter will stop at an error so that Saria can correct it in real-time and then
continue where the program stopped.
2
The compiler will produce an executable file, this means that Saria can distribute
the software without having to give users the source code, and it saves time when testing
multiple times as it does not have to interpret the code each time.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 4 continued
Exam-style questions
1
One mark for four correct, two marks for 5 correct, three marks for 6 correct, four marks for 6 correct,
five marks for all correct.
System software
Word processor
✓
Defragmentation
✓
Operating System
✓
Image manipulation
System clean-up
2
3
Application software
✓
✓
Database
✓
Web browser
✓
One mark per bullet:
•
An interrupt is a signal
•
... that tells the processor its attention is needed.
One mark for system software definition, e.g. allows the hardware and software to run
and communicate.
One mark for application software, e.g. software that allows the user to perform useful tasks.
One mark for an example of each, e.g. system = OS, application = word processor.
Do not award brand names. It must be clear which type of software each example refers to.
4
a
b
5
13
One mark per bullet to max three.
•
It allocates memory to processes.
•
It moves data between memory.
•
E.g. It fetches data from RAM.
•
It stores data in RAM.
•
It prevents two processes from accessing the same memory location.
One mark each from:
•
Managing files
•
Handling interrupts
•
Providing an interface
•
Managing peripherals and drivers
•
Managing multitasking
•
Providing a platform for running applications
•
Managing user accounts.
One mark per bullet to max five.
•
The interrupt handler puts the interrupt in the queue depending on its priority.
•
The processor finishes the current FDE cycle.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 4 continued
6
7
•
It checks if there is a higher level interrupt,
•
if there is, it stores the current contents of memory…
•
... it then accesses the ISR for that interrupt…
•
... when finished it reloads the current contents of memory and continues,
•
if not, it processes the next instruction.
One mark for each completed section:
•
Operating System
•
Bootstrap program.
a
One mark per bullet, max three for low-level, max three for high-level.
Low-level language:
•
Machine code or assembly language
•
(Machine code) does not need translating for the computer to run the code
•
Not portable.
High-level language:
b
•
Written in human-understandable / English language
•
Needs translating into low-level language before it can be run
•
Is portable
•
Is easier for humans to read / write / debug, etc.
One mark per bullet.
•
It is easier for the person to read and write the code
•
... because it is in more English-style syntax.
•
It is easier for the person to debug.
•
It is portable / machine-independent…
•
... so it can be used on different computers.
c
One mark for: to write a more memory efficient program.
d
One mark for translator, compiler or interpreter. One mark per bullet for justification.
Justification must match translator.
Interpreter:
14
•
It runs the code and stops when an error is found
•
… this means Qui can correct the error and continue running the program from
that position.
•
Qui can add a small section to the program and test it
•
... without having to create a complete code that is all syntactically correct.
•
A compiler would report all the errors at the end
•
… so Qui cannot test small sections of the program.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 4 continued
Compiler:
e
8
15
•
Qui will get a report of all the syntax errors
•
... so that he can correct them all before running the whole program without it
stopping.
One mark per bullet to max six.
•
Qui can an editor to write the code.
•
Pretty printing ...
•
… will colour key words to help identify errors.
•
He can use auto-complete so that ...
•
... he can enter part of a word and it will give him options to select and reduce
the chance of errors.
•
Qui can use the run-time environment ...
•
…to show the output and allow inputs from the user.
•
It has error diagnostics and a ...
•
... breakpoint to ...
•
... stop the code at a set point to check the values.
•
Stepping will ...
•
... run the code one line at a time to view how the values change and the order
the program runs.
•
Qui can use the variable watch window …
•
... to see how the values change.
One mark per bullet to max eight. Max four for naming functions.
•
It allows the user to communicate with hardware.
•
It runs the hardware.
•
It provides a platform for software to run.
•
It manages files ...
•
... allowing users to create / rename / move files and,
•
and allowing users to create / rename / move directories / folders.
•
It handles interrupts
•
... so that when a device needs the attention of the process it adds it to the interrupt queue
•
... and it uses the interrupt service routine to perform the required functions.
•
It provides an interface ...
•
... such as GUI / command line
•
... to allow the user to input data and receive output.
•
It manages peripherals and devices,
•
... installs device drivers
•
... and sends data to the device / fetches data from the device.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 4 continued
•
It manages memory,
•
... allocates memory to running processes,
•
... avoids two processes accessing the same memory and
•
…moves data between memory, e.g. RAM and HDD.
•
It manages user accounts
•
... allowing for security / sets username and passwords.
Chapter 5: The internet and its uses
Discussion questions
1
The answer will depend on the students.
2
The answer will depend on the students.
3
There will be an open-ended discussion.
Questions
1
It is a text based address for a website.
2
It is a unique address that is given to a device, such as a computer or a web server.
It is often allocated by a router. It can be static or dynamic.
3
Protocol; domain name; web page name or file name
4
It is a certificate given to a website company that can be produced to show that the
website is authentic and secure. It is stored on the web server and is requested by the web
browser when the HTTPS protocol is used. The web browser checks the authenticity of
the digital certificate.
5
Web browser
6
To store personal data about a user
7
A session cookie is deleted when the web browser is closed. A persistent cookie is deleted
only when its expiry date is reached, or it is manually deleted by the user.
8
Cookies build up an online profile that some users believe can be used to target them for
criminal activity, such as stealing their identity. Other users think it is an invasion of their
privacy to build this kind of online profile.
9
A hacker is a perpetrator who gains unauthorised access to data.
10 Use security methods such as:
16
•
a firewall
•
automatic software updates
•
strong or biometric passwords
•
two-step verification.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 5 continued
11 Use anti-malware software to find any malware that may be redirecting website requests
and visually checking the web page. Also, only download data from trusted sources.
12 You could check:
•
if the URL at the top of the screen is the correct one
•
if the site is secured using HTTPS
•
if the website looks like it normally does, such as the usual colours and placement
of items.
Exam-style questions
1
The internet
2
a
b
•
protocol
•
domain name.
Domain name server / DNS
3
One mark per each correct term in the correct order: web browser; domain name server;
web server; HTTP / HTTPS; HTML.
4
a
b
5
6
Any two from:
•
It provides an address bar that you can use to type in a URL.
•
It keeps a record of all the web pages that you have visited.
•
It allows you to bookmark web pages and set web pages as your favourites.
•
It allows you to open multiple tabs at a time.
•
It allows you to navigate between web pages.
Session cookie
One mark for one bullet, from:
•
Transactions that have been recorded cannot be changed.
•
Anyone can view the transactions that have been made.
a
One mark for one bullet from:
b
17
Any one from:
•
A proxy server can be used.
•
Users can scan their computers with anti-malware software to prevent it being
used as a bot.
Any three from:
•
The user is encouraged to click an infected link / download
•
... this triggers a download of malware onto the user’s computer
•
… that turns the user’s computer into a bot.
•
Multiple bots are created from users’ computers that are all part of a network.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 5 continued
7
One mark for each of the following shown in the diagram:
•
Data packets are being sent from one computer to another.
•
A packet sniffer has been installed on a device on the route, e.g. router.
•
A packet sniffer is examining each packet that passes through it.
Router
Device 1
Device 2
Data packets
sent to device 2
Packet sniffer installed onto
router that examines packets
that pass through
8
9
18
One mark per each correct line to a max of three.
Security solution
Description
Firewall
This is a protocol that encrypts data that is sent
across the internet.
Anti-malware
This is software that can be used to scan a
computer for malicious files.
Access levels
This can be hardware or software based and it
examines traffic incoming and outgoing from a
computer system or network.
SSL
This is connected to a user’s username and
provides information about what data the user is
allowed to access on a system.
Two marks (one per method, one per explanation) for two methods
(for a total of four marks) from:
•
Phishing: a link sent to a user via email has encouraged the user to type their login
details into a fake website.
•
Pharming: malicious software has been downloaded onto the user’s computer that
has redirected the user to a fake website where they have typed their details.
•
Spyware: key presses from the user’s computer have been sent to a third party and
analysed for patterns revealing login details.
•
Social engineering: a perpetrator has manipulated the user into providing their
login details.
•
Brute-force attack: a perpetrator has used software to repeatedly enter password
combinations until the correct one is found.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 6: Automated and emerging
technologies
Discussion questions
1
This is dependent on the learner, e.g. it could be the ability to adapt, the ability to learn
or the ability to make decisions.
2
This is dependent on the learner as there is no right answer, e.g. asking it questions,
attempting to teach it something new, could test it against a human’s output.
3
This is dependent on the learners, as some may consider that they should and some may
think otherwise.
Questions
1
Digital
2
It reads data from the environment and sends it to an ADC.
3
a
Infra-red, proximity
b
Data is converted from analogue to digital.
c
The microprocessor
d
It compares the data to its stored value. If it is in range or it matches the stored value,
it sends a message to the actuator to open the doors.
e
It will run forever or until the system is turned off.
4
Benefits, e.g.
•
faster response
•
more accurate
•
does not need to rest.
Drawbacks, e.g.
5
19
•
initial cost
•
maintenance costs
•
may have been programmed incorrectly
•
can be hacked.
E.g.
•
It can run all day every day ...
•
... whereas people would have to work in shifts.
•
It will be more precise …
•
... which will give more accurate results.
•
It may have an initial high cost ...
•
... because the hardware and software will need purchasing.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 6 continued
•
The jobs of the people who usually monitor the weather may be lost ...
•
... but new jobs may be created to maintain the system.
6
It is a mechanical device that moves and that simulates human movement.
7
E.g.
8
•
manufacturing of an object, e.g. car
•
testing products
•
moving products.
Benefit: e.g. saves people time from having to perform repetitive tasks.
Drawback: e.g. initial cost may be high.
9
Algorithms control the movement of the cars.
Benefits include: more precise and can react faster, therefore safer. Not prone to human
error or distraction. People do not need to learn to drive, therefore more people will be
able to use the cars.
Drawbacks include: risk if the programs are hacked, initial cost will be high.
10 It means: a program / computer designed to mimic human behaviour / intelligence.
11 It means: an AI program that can adapt its knowledge and/or programming without
the need for human interaction.
12 It is to mimic the knowledge of a human expert.
13 E.g. diagnosing illness, troubleshooting computers.
14 Knowledge base - the facts.
Rule base - logical statements derived from the knowledge.
Skills focus 6.1 questions
1
E.g. a pressure sensor will continuously send data to the microprocessor that is converted
to digital.
2
E.g. the microprocessor will compare the data to the stored value / weight. If the value meets
(or is greater than) than the stored data it will send a signal to an actuator to open the door.
3
E.g. when the sensor has not detected a person for 5 seconds.
Exam-style questions
1
a
E.g. troubleshooting, diagnostics.
b
One mark for each word.
An expert system is made up of four parts. The knowledge base is the set of facts.
The rule base is a set of logical rules. The inference engine applies the two bases
to decide what questions to ask next and to work out the response. The interface is
the elements that allow the user to input data and to output data to the user.
20
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 6 continued
2
3
4
Any three from:
•
mechanical structure / framework
•
electrical components
•
sensors
•
microprocessors
•
actuators
•
programmable.
One mark per bullet to max six.
•
Infra-red sensors are used
•
... and they send a signal to the microprocessor.
•
The signal is converted from analogue to digital.
•
The microprocessor compares the signal to its stored distance value
•
... and if the value is less than the stored distance it sends a signal
•
... to an actuator
•
... to play the sound
•
... and the process is continuous.
One mark for a description, e.g. Machine learning is when an AI program can change its own
data or rules.
One mark for an example, e.g. a computer game AI can learn which moves are successful
and which are not, e.g. an image recognition system can learn how to recognise objects in
an image.
5
One mark per bullet, max four for advantages, max four for disadvantages.
Advantages e.g.
•
Long-term costs may be reduced
•
... e.g. fewer wages to pay.
•
The factory can work all day every day.
•
Robots may be more precise.
•
Robots will make fewer errors / no human error.
•
New jobs will be created in their maintenance.
Disadvantages e.g.
21
•
The initial cost will be high.
•
People will lose their jobs.
•
They are expensive to fix if broken.
•
The robots have limited actions they can perform.
•
It is expensive to change any robotic processes.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 6 continued
6
7
8
One mark each, e.g.
•
Self-driving cars
•
Managing the movement of items in a factory, e.g. for loading lorries.
One mark per bullet to max four.
•
They can employ machine learning.
•
It can be used supervised or unsupervised.
•
Sounds are input and the system is told what users are saying
•
... this is repeated many times with different variations.
•
Sounds are input and the system has to categorise them …
•
... into those that are similar.
a
E.g. harvesting the crops, watering when there is no rain, packaging crops.
b
One mark each, e.g.
c
9
22
a
•
They are productive / the farmer can perform other tasks at the same time.
•
The farmer gets better harvest / crops by keeping them watered without having
to check them continually.
•
Fewer accidents / automated system not prone to human error.
One mark each, e.g.
•
Initial cost could be very high.
•
Any problems with the systems will be expensive to fix.
•
Jobs will be lost.
One mark per bullet to max six, e.g.
•
They can receive input using sensors
•
… e.g. infra-red to detect movement
•
… e.g. pressure to detect if they are being touched
•
… e.g. acoustic to detect sound.
•
Image recognition can be used to identify what has moved
•
... e.g. if it is another animal.
•
A set of possible movements are stored
•
… e.g. move head towards the other animal
•
... one of these can be chosen depending on the image detected.
•
Speech recognition can be used to identify the sounds recorded
•
... e.g. the species of an animal
•
… and then react, e.g. perform an action.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 6 continued
One mark per bullet to max six, e.g.
b
•
Human interaction is not needed
•
... and will not cause fear.
•
They can record the animals’ natural behaviour
•
… because they will not be influenced by people.
•
Animals might not act naturally
•
... because there is a new item present.
•
Animals could attack the robots
•
... and cause damage or hurt themselves.
•
Robots can record all day every day
•
... whereas humans will need to stop.
Chapter 7: Algorithm design and
problem solving
Discussion questions
1
An event driven language has code that is only run when an event happens, such as
when a button is clicked or an option is selected from a drop-down box.
2
E.g. office software such as word processors and spreadsheets would benefit from
an event-driven language. A computer game would be better written in a procedural or
object-oriented language.
Questions
1
It means splitting a problem / system down into subproblems/subsystems.
2
E.g.
Addition
Input
number1
23
number2
Process
Output
total = number1
+ number2
total
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
3
E.g.
Sat-nav
4
Input
Process
Output
Destination
Find route
Directions
E.g.
Login
Process
Input
username
5
password
search for
username and
password
Compare
username and
password
Output
Correct
Incorrect
re-enter
a
Start/Stop
b
Process
c
Decision
d
24
Input/
Output
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
6
a
b
and c
d
e
f
7
START
INPUT x, y, z
IS x > y AND
x > z?
YES
OUTPUT x
NO
IS y > x AND
y > z?
YES
OUTPUT y
NO
OUTPUT z
STOP
25
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
8
9
The purpose of pseudocode is to design an algorithm in a non-specific
programming language.
Statement
x  x + 1
Appropriate
INPUT z
✓
IF y < 6 THEN
✓
Not appropriate
✓
add 3 to the value entered
✓
store the value entered in the
variable newValue
value1  INPUT("Enter a number")
✓
✓
IF number is more than 10
WHILE number1 <> 0
✓
✓
10 E.g.
INPUT Number1
INPUT Number2
INPUT Number3
Result  Number1 * Number2 * Number3
OUTPUT Result
11 E.g.
Total  0
FOR X  0 TO 9
Number  INPUT
Total  Total + Number
NEXT X
OUTPUT "The total is ", Total
12 Any three of: normal, abnormal, extreme, boundary.
13 Extreme tests data that is on the edge of what is allowed and normal tests any values that
are allowed.
14 Extreme only tests the valid boundary whereas boundary tests just inside and outside of
the boundary.
15
Test type
Test data
Normal
1 2 3 4 5 6 7 8 9 10
Abnormal
Anything < 1 or > 10, or characters, e.g. "a"
Extreme
1 10
Boundary
0 1 10 11
16 Compare to 10; compare to 5; compare to 6; found
26
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
17 Compare to b; compare to u; compare to l; compare to p; compare to f; found
18
19
1
5
6
2
9
0
1
1
5
2
6
9
0
1
1
5
2
6
0
9
1
1
5
2
6
0
1
9
1
2
5
6
0
1
9
1
2
5
0
6
1
9
1
2
5
0
1
6
9
1
2
0
5
1
6
9
1
2
0
1
5
6
9
1
0
2
1
5
6
9
1
0
1
2
5
6
9
0
1
1
2
5
6
9
60
2
40
52
3
5
60
40
2
52
3
5
60
40
52
2
3
5
60
40
52
3
2
5
60
40
52
3
5
2
60
52
40
3
5
2
60
52
40
5
3
2
20 The inefficient algorithm continues to loop and make comparisons even when all
the data is in the correct order.
The efficient algorithm stops as soon as the data has been run through once without
any changes.
21 Totalling adds the values together, counting it adds one for each new value.
22 Smallest - any number above 200; largest - any number below 20
23 E.g.
Total  0
FOR X  0 TO 39
Total  Total + INPUT()
NEXT X
OUTPUT Total
OUTPUT Total / 40
27
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
24 E.g. (N.B. works for numbers between −9999 and 9999)
Smallest  9999
Largest  -9999
FOR X  0 TO 99
INPUT Number
IF Number > Largest THEN
Largest  Number
ENDIF
IF Number < Smallest THEN
Smallest  Number
ENDIF
NEXT X
OUTPUT "The largest is ", Largest
OUTPUT "The smallest is ", Smallest
25 It means checking that data entered is reasonable and within bounds.
26 Any three of: range, length, type, presence, format, check digit.
27 The purpose is to check that data has been entered accurately.
28 Range check
29 Range check
30 E.g.
INPUT Word
IF LENGTH(Word) >= 10
THEN
OUTPUT "Valid"
ELSE
OUTPUT "Invalid"
ENDIF
31 E.g.
INPUT Number
IF Number.IsInteger = TRUE
THEN
OUTPUT "Valid"
ELSE
OUTPUT "Invalid"
ENDIF
28
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
Skills focus 7.1 questions
1
5
2
It is because of the number of (Number of items − 1) = 3, will compare all of the items
with all of the items
3
Change the comparison from less than to greater than.
Skills focus 7.2 questions
1
6
2
Compare the first characters in each string, then if they are the same look at the next
character in each string.
Skills focus 7.4 questions
1
You record variables’ values and outputs.
2
You change the value in a column whenever there is a change.
Skills focus 7.5 questions
1
Students’ answers, e.g. including a negative number.
2
Stop when you have identified the pattern.
3
E.g.
quantity
total
value
small
0
0
0
999
OUTPUT
1
1
100
100
100
2
150
50
50
3
160
10
10
4
193
33
3
5
235
42
small = 10
47
Look at what is output and how it is calculated:
29
•
The smallest number input between 10 and 100
•
The average of the numbers entered that are between 10 and 100.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
Skills focus 7.6 questions
1
Trace table, walk through
2
To demonstrate an understanding of the overall purpose and how this code works
altogether.
3
Takes 10 numbers as input and outputs the largest of the numbers.
Skills focus 7.8
1
total
average
counter
mark
0
0
0
20
20
1
50
70
2
60
130
3
25
155
4
35
190
5
38
output
The total is 190
The average is 38
2
a
number
output
7
7
6
5
4
3
2
1
0
b
3
Outputs the numbers from the one the user enters to 0.
Reads in values from the user until they don’t enter Y to continue. Records and outputs
how many valid numbers are entered - between 10 and 20. Records and outputs how many
invalid numbers are entered.
Exam-style questions
1
It is series of steps that solve a problem.
2
One mark for name, one mark for description:
Design:
30
•
Plan the algorithms for the problem.
•
Decompose the problem using a structure diagram.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
Coding:
•
Write the program code for the program.
•
Include iterative testing.
Testing:
3
4
•
Input data and make sure that the program outputs the correct data.
•
Input a range of data to check if the program works.
One mark per bullet to max two.
•
It splits a system into sub-systems repeatedly.
•
It makes the problem more manageable.
•
It identifies smaller parts that can be programmed independently.
a
One mark per bullet.
•
Write the system name in the top box.
•
Split into at least two parts for level 1.
•
Include start options of load game and new game.
•
Include all four movements as input and correct output.
One possible answer, e.g.
Game
Move
Start
Load game
b
31
New game
INPUT left
arrow
INPUT right
arrow
INPUT up
arrow
INPUT down
arrow
Move
character left
Move
character right
Character
jump
Character lie
down
One mark per bullet.
•
There is an appropriate start.
•
The value is input.
•
There are four decision boxes
•
... with yes and no options.
•
There are process boxes for movement.
•
All lines join and all boxes have arrows in and out.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
E.g.
Start
INPUT move
IS move =
down?
YES
Lie down
NO
IS move = up?
YES
Jump
NO
IS move = left?
YES
Move left
NO
NO
c
IS move =
right?
i
Format / presence / type
ii
One mark per bullet.
YES
•
Input of name
•
Getting length of name
•
Checking length is 8 or more
•
Outputting appropriate messages.
Move right
E.g.
INPUT Name
IF LENGTH(NAME) >= 8 THEN
OUTPUT "Valid"
ELSE
OUTPUT "Invalid"
ENDIF
32
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 7 continued
5
One mark per bullet.
•
Initialising values
•
Inputs the correct colours and quantities
•
Updates blue, white and yellow correctly
•
Outputs how many left for each
•
Outputs Continue? each time.
blue
white
yellow
continue
colour
quantity
10
5
2
Y
blue
5
5
Blue left = 5
Y
Continue?
4
blue
1
Y
3
Y
white
5
x
8
Try again
Continue?
0
7
Blue left = 4
Continue?
yellow
6
output
White = 0
Continue?
One mark per bullet.
•
Compare 100 with first value
•
... and all successive values in order.
•
Report it not found.
One mark for each swap in order.
apple
pear
banana
pineapple
orange
peach
apple
banana
pear
pineapple
orange
peach
apple
banana
pear
orange
pineapple
peach
apple
banana
pear
orange
peach
pineapple
apple
banana
orange
pear
peach
pineapple
orange
banana
orange
peach
pear
pineapple
One mark for each line number and corrected line.
05 FOR X  0 TO 19
07
IF Number < 10 THEN
09
ELSEIF Number = 10 THEN
19 OUTPUT "Average = ", Total / 20
33
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8: Programming
Discussion questions
1
It is so that they can be used / understood by any programmer and so that programmers can
change language easily.
2
This is entirely up to the learners as there are many that could be found, e.g. REPEAT UNTIL.
Questions
1
Statement
Variable
You cannot change the value when the program is running.
✓
It has an identifier.
✓
✓
It is a memory location.
✓
✓
You can change its value when the program is running.
✓
It stores a piece of data.
✓
2
MyWord  "house"
3
CONSTANT MultiplyValue  10
4
a
30
b
10
c
400
d
35
e
10
f
6
g
0
h
4
5
Constant
✓
Number  INPUT("Enter a number")
Number  Number * 2
OUTPUT Number
6
CONSTANT Number1  10
CONSTANT Number2  12
Result  Number1 + Number2
OUTPUT(Result)
7
Name  INPUT("Enter your name")
Age  INPUT("Enter your age")
OUTPUT("Hello " & Name & " you are " & Age & " years old)
34
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8 continued
8
It is a programming construct where code is run, or not run, depending on a condition.
9
IF and (SELECT) CASE
10 Num1  INPUT("Enter the first number")
Num2  INPUT("Enter the second number")
IF Num1 > Num2 THEN
OUTPUT(Num1)
ELSE
OUTPUT(Num2)
ENDIF
11 Answer  50
Guess  INPUT("What is 5 * 10")
IF Guess = Answer THEN
OUTPUT("Correct")
ELSE
OUTPUT("Incorrect. It is 50.")
ENDIF
12 Colour  INPUT("Enter a colour")
CASE OF Colour
"yellow": OUTPUT("Yellow is very bright")
"green": OUTPUT("Green is like the trees")
"blue": OUTPUT("Blue is like the sky")
OTHERWISE: OUTPUT("You need to enter yellow, green or blue")
ENDCASE
13 Pre-condition tests the condition before starting the loop, post-condition runs the code
then tests the condition.
In pre-condition the code in the loop may never run, in post-condition the code in
the loop will at least run once.
14 Count-controlled
15 FOR Count  100 TO 200
OUTPUT(Count)
NEXT Count
35
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8 continued
16 FOR Count  1 TO 12
OUTPUT(Count * 5)
NEXT Count
17 REPEAT
Number  INPUT("Enter a number")
UNTIL Number = 10
18 Word  INPUT("do you want to stop?")
WHILE Word <> "stop" DO
OUTPUT("Hello")
Word  INPUT("you want to stop?")
ENDWHILE
19 Counter  1
WHILE Counter < 11 DO
OUTPUT(Counter * Counter)
Counter = Counter + 1
ENDWHILE
20 Initialise the variable to 0. Add the values to the total.
21 Initialise the count variable to 0. Add 1 to the variable for each item.
22 Total  0
FOR X  1 TO 100
Total  Total + INPUT("Enter a number")
NEXT X
OUTPUT Total
23 LessThan100  0
MoreThanEqualTo100  0
NumberInput  1
WHILE NumberInput <> 0 DO
NumberInput  INPUT("Enter a number")
IF NumberInput < 100 THEN
36
LessThan100  LessThan100 + 1
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8 continued
ELSE
MoreThanEqualTo100  MoreThanEqualTo100 + 1
ENDIF
ENDWHILE
24 A selection inside a selection; an iteration in an iteration; a selection in an iteration;
an iteration in a selection
25 12
26 WORLD
27 StringInput  INPUT("Enter a string")
CountNumbers  0
FOR Letter  0 to LENGTH(StringInput) - 1
Character  SUBSTRING(StringInput, Letter, 1)
IF Character = "0" OR Character = "1" OR Character = "2" OR Character
= "3" OR Character = "4" OR Character = "5" OR Character = "6" OR
Character = "7" OR Character = "8" OR Character = "9" THEN
CountNumbers  CountNumbers + 1
ENDIF
NEXT Letter
OUTPUT("There are ", CountNumbers ", numbers")
28 StringInput  INPUT("Enter a string")
FOR Count  LENGTH(StringInput) - 1, 0)
OUTPUT(SUBSTRING(StringInput, Count, 1))
NEXT Count
29 A function returns a value whereas a procedure does not return a value.
30 6
31 OUTPUT(FindValue(100))
32 PROCEDURE Largest(Num1, Num2, Num3)
IF Num1 > Num2 AND Num1 > Num3 THEN
OUTPUT(Num1)
ELSEIF Num2 > Num3 THEN
OUTPUT(Num2)
37
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8 continued
ELSE
OUTPUT(Num3)
ENDIF
ENDPROCEDURE
33 FUNCTION ReturnString(String1, String2)
NewString  SUBSTRING(String1, 0, 3) & SUBSTRING(String2, 0, 3)
RETURN NewString
ENDFUNCTION
34 They split the code into smaller sections. Each section has a name that describes it.
A subroutine only needs to be changed once, and it will change every time it is used.
35 Comments – they describe what the code does, so other people can understand its purpose.
Meaningful identifiers – they describe what the variables, etc. do so that people can
understand their purpose.
36 RANDOM(1, 5)
37 3.1
38 A variable can store 1 value whereas an array can store multiple values.
39 It stores different data types whereas arrays can only store one data type.
40 For Count  0 TO 9
MyNumbers[Count]  INPUT("Enter a number")
NEXT Count
41 Total  0
FOR Count  0 TO 99
Total  Total + MyNumbers[Count]
NEXT Count
42 FUNCTION SearchArray(SearchValue)
FOR Row  0 TO 19
FOR Column  0 TO 4
IF MyData[Row, Column] = SearchValue THEN
RETURN TRUE
ENDIF
38
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8 continued
NEXT Column
NEXT Row
RETURN FALSE
ENDFUNCTION
43 It is so that they can be accessed next time the program loads, or so that the data is not
lost when the program stops running.
44 •
Open the file.
•
Write the data.
•
Close the file.
45 OPEN "dataStore.txt"
Value  READ("dataStore.txt")
CLOSE "dataStore.txt"
OUTPUT(Value)
46 Filename  INPUT("Enter the filename")
OPEN Filename
WRITE("house")
CLOSE Filename
Skills focus 8.1 questions
1
2
a
4
b
5
a
1
b
2
Skills focus 8.2 questions
1
2
39
a
If 1 is less than 2
b
If 6 is greater than 3
c
If 999 is greater than or equal to 998
d
If 34 is less than or equal to 77
a
False
b
False
c
False
d
True
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8 continued
Skills focus 8.3 questions
1
Count  0
WHILE(Count < 101) DO
OUTPUT(Count + Count)
Count  Count + 1
ENDWHILE
2
New  100
WHILE(New < 112) DO
OUTPUT(New ^ New)
New  New + 1
ENDWHILE
Exam-style questions
1
a
b
2
One mark per bullet to max two.
•
They are both memory locations.
•
They can both store an item of data.
•
They both have an identifier.
A variable can change while the program is running whereas a constant cannot change
while the program is running.
One mark per bullet.
•
Taking two values as input and storing them.
•
Adding the inputs together.
•
Multiplying the inputs together.
•
Providing both outputs.
E.g.
INPUT Number1
INPUT Number2
OUTPUT(Number1 + Number2)
OUTPUT(Number1 * Number2)
3
40
a
Pre-condition
b
To loop the number of times represented by the variable, quantity.
c
Three of: quantity, largest, total, smallest.
d
One mark per bullet.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8 continued
•
Changing while to for
•
Including count = 0 in the for statement
•
Looping until quantity (or quantity +1)
•
Removing counter = counter + 1
•
Ending with Next.
E.g.
FOR Counter  0 to Quantity
Value  INPUT("Enter the mark)
Total  Total + Value
IF (Value > Largest) THEN
Largest  Value
ENDIF
IF (Value < Smallest) THEN
Smallest  Value
ENDIF
NEXT
4
One mark per bullet.
•
Looping 20 times
•
Inputting a number
•
Storing in appropriate array index.
E.g.
FOR X  0 TO 20
ArrayData[X]  INPUT("Enter a number")
NEXT
5
One mark per row.
Statement
True
IF(10 < 20)
✓
False
IF(100 > < 2)
IF(5 >= 5)
Invalid
✓
✓
IF(9 <= 8)
✓
X  1
✓
Y  3
IF(X = Y)
41
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8 continued
Statement
True
False
Num1  100
Invalid
✓
Num2  200
IF(Num1 and Num2)
Value1  70
✓
Value2  190
IF(Value1 <> Value2)
6
One mark per bullet.
•
Looping through first index 10 iterations.
•
Looping through second index 20 iterations.
•
Generating a random number between 1 and 100.
•
Storing in the correct indices.
E.g.
FOR Row  0 TO 9
FOR Column  0 TO 19
Numbers[Row][Column]  RANDOM(1, 100)
NEXT
NEXT
7
a
It returns a value.
b
One mark per bullet to max seven.
•
Function declaration with identifier move
•
... taking an appropriate parameter.
•
Reading input from the user and storing the result.
•
Checking if the move entered is left ...
•
… decreasing the x coordinate.
•
Checking if the move entered is right …
•
... increasing the x coordinate.
•
Returning the x coordinate in both left and right.
•
Looping until there is a valid input.
E.g.
FUNCTION Move(XCoordinate)
Move  INPUT("Enter your move")
WHILE (TRUE)
42
IF Move = "left" OR Move = "LEFT" OR Move = "Left" THEN
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 8 continued
RETURN(XCoordinate - 1)
ELSEIF Move = "right" OR Move = "RIGHT" OR Move = "Right" THEN
RETURN(XCoordinate + 1)
ENDIF
ENDWHILE
ENDFUNCTION
8
One mark for each box.
Comments: give people information about how the program works / the meaning
of each section of code.
Meaningful identifiers: give people information about the purpose / stops people
confusing different variables.
9
One mark per bullet.
•
It declares the procedure with identifier and no parameters.
•
It opens the file, number.txt.
•
It reads the data from the file.
•
It closes the file.
•
It loops 12 times.
•
It outputs the 12 times table for the data read.
E.g.
PROCEDURE Twelve()
OPEN "number.txt"
Number  READ("number.txt")
CLOSE "number.txt"
FOR X  1 TO 12
OUTPUT(X * Number)
NEXT
ENDPROCEDURE
Chapter 9: Databases
Discussion questions
43
1
This is dependent on the site chosen, but if data is stolen then the perpetrators may
be able to access other accounts and card details.
2
This is dependent on the company, but the damage could be financial, reputational, etc.
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 9 continued
Questions
1
E.g.
Data type
Example
Boolean
True
Integer
1
Text
"Hello"
Character
"!"
Real
2.36
Date/time
5/5/2021
2
A table has several fields. Each field is one piece of information. A row of data about
one object/item is called a record.
3
To uniquely identify each record
4
a
b
5
E.g.
Field name
Data type
Username
Text/alphanumeric
Password
Text/alphanumeric
Online name
Text/alphanumeric
Date account created
Date/time
Number of friends
Integer
E.g. Username, or adding an ID, e.g. user ID
12GH
59RF
3WR
52D
6SE
6
7
Saturn
Chocolate
Vanilla
Fudge
Peanuts
Nuts
Jazz
Fruit
Signet
Fudge
SELECT Cost
FROM PRODUCTS
8
SELECT ID Number, Name
FROM PRODUCTS
44
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 9 continued
9
SELECT Name, Cost, Quantity in stock
FROM PRODUCTS
10 596
Computer Science
Programming 2
806
Computer Science
Programming 2
11 596
Computer Science
Pass
123
Maths
Pass
023
Maths
Pass
806
Computer Science
Pass
596
Science
Pass
12 SELECT
Test name, Percentage, Grade
FROM MARKS
WHERE Percentage > 50
13 SELECT Student ID, Subject, Percentage
FROM MARKS
WHERE SUBJECT = "Science"
14 SELECT Student ID, Test name, Percentage
FROM MARKS
WHERE Percentage <= 25
15
16
17
20.3
22
11/12/2019
23.7
15
11/12/2019
11/12/2019
13:00
63
11/12/2019
15:00
61
11/12/2019
18:00
60
11/12/2019
10:00
11/12/2019
13:00
11/12/2019
15:00
11/12/2019
18:00
12/12/2019
15:00
18 SELECT Time
FROM WEATHER
WHERE Date = 12/12/2019 AND Humidity > 50
45
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 9 continued
19 SELECT Wind speed, Temperature
FROM WEATHER
WHERE Wind speed < 15 OR Wind speed > 20
20 17.2
18
12/12/2019
18.4
20
12/12/2019
20.3
22
11/12/2019
23.7
15
11/12/2019
23.9
16
11/12/2019
24.0
13
11/12/2019
21 11/12/2019
13:00
23.7
63
11/12/2019
15:00
24.0
61
11/12/2019
18:00
23.9
60
11/12/2019
10:00
20.3
59
12/12/2019
15:00
18.4
52
12/12/2019
18:00
17.2
48
22 SELECT Date, Wind speed, Humidity
FROM WEATHER
ORDER BY Wind speed
23 SELECT Date, Time, Temperature
FROM WEATHER
ORDER BY Humidity DESC
24 SELECT Temperature, Wind speed, Humidity
FROM WEATHER
ORDER BY Temperature DESC
25 51
26 8
27 1
28 135.71
29 SELECT COUNT(FirstName)
FROM ORDERS
WHERE FirstName = "James" AND LastName = "Smith"
46
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 9 continued
30 SELECT SUM(TotalCost)
FROM ORDERS
WHERE NumberItems >= 5
31 SELECT COUNT(NumberItems)
FROM ORDERS
WHERE TotalCost > 50.0
Skills focus 9.1 questions
1
Sum adds together the values. Count identifies how many records there are.
2
160
3
5
4
2.78
5
4
Exam-style questions
1
One mark per definition.
Record the completed fields for one object / item. Example: all the data about one student.
Field one piece of data. Example: Date of birth.
2
One mark per description and example to max four.
Boolean: can only be 2 values Example: true.
Real: decimal number. Example: 23.5.
Date/time: a date or a time. Example: 1/1/1900.
Text: one or more letters, symbols and/or numbers. Example: "hello1!".
3
47
One mark per bullet.
•
ID (or other appropriate key field), data type Integer / Text
•
Screen number, data type Integer / Text
•
Film, data type Text / Alphanumeric
•
Date, data type Date / Time
•
Time, data type Date / Time
•
SeatsSold, data type Integer
•
Primary key is ID (or other appropriate key field defined).
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 9 continued
4
a
6
b
7
c
One mark for definition, e.g. A unique identifier.
One mark for Appointment ID.
d
One mark for first correct, one mark for remainder correct.
JP
Cut
AD
Cut and dry
AD
Colour
JP
Cut and dry
JP
Cut
AD
Colour
e
2
f
One mark for each statement.
SELECT Customer first name, Customer last name
FROM APPOINTMENTS
WHERE Date = 1/2/2020
g
One mark for each statement.
SELECT COUNT(Employee ID)
FROM APPOINTMENTS
WHERE Employee ID = "JP"
5
a
b
c
One mark per bullet.
•
Sales ID: integer
•
Date: date / time
•
Customer ID: text
•
Quantity bought: integer
•
Total Cost: real
One mark for one correct, two marks for all correct in the correct order.
3/3/2020
1GHF2
3/3/2020
1GHF2
4/4/2020
1GHF2
One mark for each completed statement.
SELECT Customer ID, Total Cost
FROM SALES
WHERE Total Cost > 1
48
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 9 continued
d
e
One mark for one correct, one mark for all correct and in the correct order.
12
151
13
28
One mark for each completed statement.
SELECT SUM(Quantity bought)
FROM SALES
WHERE Date = 4/4/2020
One mark for each completed statement.
f
SELECT SUM(Total Cost)
FROM SALES
Chapter 10: Boolean logic
Discussion questions
1
In Boolean, values are either true (1) or false (0). In a computer, if there is electricity
that means 1 and if there is no flow of electricity that means 0.
2
A logic gate takes one or more inputs as a Boolean value (or values) and outputs a value.
3
All digital computers represent data in binary form with 0s and 1s, so they would not
be able to operate without logic gates.
Questions
1
2
Output
A
X
1
0
0
1
3
X = NOT A
4
Input 1
Input 2
5
6
49
Input
Output
A
B
X
0
0
0
0
1
0
1
0
0
1
1
1
X = A AND B
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 10 continued
7
8
9
Input 1
Output
Input 2
A
B
X
0
0
0
0
1
1
1
0
1
1
1
1
X = A OR B
Input 1
10 Input 2
11
Output
A
B
X
0
0
1
0
1
1
1
0
1
1
1
0
12 X = A NAND B
13
14
Input 1
Input 2
Output
A
B
X
0
0
1
0
1
0
1
0
0
1
1
0
15 X = A NOR B
16
17
Input 1
Input 2
Output
A
B
X
0
0
0
0
1
1
1
0
1
1
1
0
18 X = A XOR B
19 Q = (A OR (NOT B AND C))
20 X = ((A AND B) OR (A NAND C))
50
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 10 continued
21 a
X = ((NOT A AND NOT B) OR (NOT A AND B))
b
A
X
B
22
A
B
C
X
0
0
0
1
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
1
23 A
Z
B
C
Skills focus 10.1 questions
1
51
A
B
C
Workspace
Q
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 10 continued
2
P
Q
R
Workspace
Z
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
0
Exam-style questions
1
To control the flow of electricity.
2
a
Input 1
Input 2
b
Input 1
Input 2
3
Output
Output
a
One mark for each correct expression for each output (max three), one mark
for joining each expression with OR.
X = ((NOT A AND NOT B) OR (A AND NOT B) OR (A AND B))
b
One mark for each correct AND gate with correct inputs.
One mark for both correct OR gates with correct inputs.
A
X
B
4
One mark for each correct expression for each output (max four), one mark for joining
each expression with OR.
Z = ((NOT S AND NOT T AND P) OR (NOT S AND T AND NOT P) OR
(S AND NOT T AND NOT P) OR (S AND NOT T AND P))
5
a
One mark for correct AND expression, one mark for correct NOR expression,
one mark for joining these with NAND.
Y = ((NOT L AND M) NAND (L NOR N))
52
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 10 continued
b
Award:
Four marks for 8 correct outputs
Three marks for 6 or 7 correct outputs
Two marks for 4 or 5 correct outputs
One mark for 2 or 3 correct outputs.
6
L
M
N
0
0
0
Workspace
Y
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
1
1
1
1
a
X = ((NOT M AND NOT H) OR (T AND H))
b
One mark per each correct logic gate with correct inputs.
M
H
X
T
c
53
M
T
H
Workspace
X
0
0
0
1
0
0
1
1
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 11: Programming scenarios practice
Discussion questions
1
There will gaps in the data that you need to tackle the problem and going back later may
be costly, time consuming and difficult to implement.
2
This is dependent on the student.
Questions
1
Inputs, processes and outputs
2
E.g. an action, a modification of a value
3
E.g. validation, appropriate messages, comments.
Exam-style questions
1
E.g.
OUTPUT "Enter a number"
INPUT Number
FOR Count  1 TO Number + 1
OUTPUT Count
IF number MOD(number, 5) = 0
THEN
OUTPUT "Divisible by 5"
ENDIF
IF number MOD(number, 7) = 0
THEN
OUTPUT "Divisible by 7"
ENDIF
NEXT Count
2
E.g.
Height  INPUT "Enter the minimum height of a plant needed"
Shade  INPUT "Enter TRUE if the plants needs to be in shade, or FALSE
if not"
FOR Count  0 TO 49
IF HeightArray[Count] > Height AND ShadeArray[Count] = Shade
THEN
OUTPUT(PlantName[Count])
54
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 11 continued
ENDIF
NEXT Count
3
E.g.
Player1Score  0
Player2Score  0
FOR Count  0 TO 15
IF Player1[Count] = "lion" AND Player2[Count] = "horse"
THEN
Player1Score  Player1Score + 1
ELSEIF Player2[Count] = "lion" AND Player1[Count] = "horse"
THEN
Player2Score  Player2Score + 1
ELSEIF Player1[Count] = "Elephant" AND Player2[Count] = "lion"
THEN
Player1Score  Player1Score + 1
ELSEIF Player2[Count] = "Elephant" AND Player1[Count] = "lion"
THEN
Player2Score  Player2Score + 1
ELSEIF Player1[Count] = "horse" AND Player2[Count] = "cat"
THEN
Player1Score  Player1Score + 1
ELSEIF Player2[Count] = "horse" AND Player1[Count] = "cat"
THEN
Player2Score  Player2Score + 1
ELSEIF Player1[Count] = "cat" AND Player2[Count] = "elephant"
THEN
Player1Score  Player1Score + 1
ELSE
Player2Score  Player2Score + 1
ENDIF
NEXT Count
IF Player1Score > Player2Score
55
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 11 continued
THEN
OUTPUT "Player 1 wins"
OPENFILE HighScore
WRITE Player1Score
CLOSEFILE
ELSEIF Player2Score > Player1Score
THEN
OUTPUT "Player 2 wins"
OPENFILE HighScore
WRITE Player2Score
CLOSEFILE
ELSE
OUTPUT "Draw"
ENDIF
4
E.g.
Total  0
Smallest  100000
Largest  -1
FOR Count  0 to 99
Costs[Count]  INPUT "Enter the cost of an item"
Total  Total + Costs[Count]
IF Costs[Count] > Largest
THEN
Largest  Costs[Count]
ENDIF
IF Costs[Count] < Smallest
THEN
Smallest  Costs[Count]
ENDIF
NEXT Count
OUTPUT "The total is ", Total
OUTPUT "The average is ", Total / 100
56
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 11 continued
OUTPUT "The cheapest item costs ", Smallest
OUTPUT "The most expensive item costs ", Largest
5
E.g.
OUTPUT "Enter 1 to output how many words have 5+ letters"
OUTPUT "Enter 2 to output the longest word"
OUTPUT "Enter 3 to output the shortest word"
INPUT Choice
IF Choice = 1
THEN
OUTPUT FiveLetters()
ELSEIF Choice = 2
THEN
OUTPUT Longest()
ELSEIF Choice = 3
THEN
OUTPUT Shortest()
ELSE
OUTPUT "Invalid option"
ENDIF
FUNCTION FiveLetters()
Count  0
Numberofwords = 0
FOR Count  0 TO 999
IF LENGTH(Words[Count]).length >= 5
THEN
Numberofwords  Numberofwords + 1
ENDIF
NEXT Count
RETURN Numberofwords
ENDFUNCTION
57
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
CAMBRIDGE IGCSE™ & O LEVEL COMPUTER SCIENCE: COURSEBOOK
Chapter 11 continued
FUNCTION Longest()
Longest  ""
FOR Count  0 TO 999
IF LENGTH(Words[Count]) > LENGTH(Longest)
THEN
Longest = LENGTH(Words[Count])
ENDIF
NEXT Count
RETURN Longest
ENDFUNCTION
FUNCTION Shortest()
Shortest  "abcdefghijklmnopqrstuvwxyz"
FOR Count  0 TO 999
IF LENGTH(Words[Count]) < LENGTH(Shortest)
THEN
Shortest  LENGTH(Words[Count])
ENDIF
NEXT Count
RETURN Shortest
ENDFUNCTION
58
Cambridge IGCSE™ & O Level Computer Science – Lawrey & Ellis © Cambridge University Press 2021
Download