N18/4/COMSC/SP1/ENG/TZ0/XX
Computer science
Standard level
Paper 1
Friday 2 November 2018 (afternoon)
1 hour 30 minutes
Instructions to candidates
yyDo not open this examination paper until instructed to do so.
yySection A: answer
all questions.
yySection B: answer
all questions.
yyThe maximum mark for this examination paper is [70 marks].
8818 – 7014
5 pages © International Baccalaureate Organization 2018
–2– N18/4/COMSC/SP1/ENG/TZ0/XX
Section A
Answer all questions.
1. Outline what is meant by the term computer network. [2]
2. (a) Outline what is meant by a database management system. [2]
(b) Outline one advantage of using beta testing prior to the release of a new product. [2]
3. Direct observation is a technique used by a system analyst to determine user requirements
for updating a computer system.
(a) Identify one advantage of direct observation. [1]
(b) Identify one disadvantage of direct observation. [1]
4. Construct a logic diagram for the following expression.
not A or (A and B)[3]
5. An international company is in the process of moving its Head Office from Europe to Asia.
(a) Identify two possible compatibility issues as a part of data migration. [2]
(b) Outline how a virtual private network (VPN) will allow employees who are in Europe to
communicate with the Head Office in Asia. [2]
(c) Outline one social issue associated with this process. [2]
6. Describe how data is transmitted by packet switching. [4]
7. Construct a trace table for the following algorithm
A = 3
B = 7
loop while B >= A
A = A + 1
output(B – A)
B = B - 1
end loop [4]
–3– N18/4/COMSC/SP1/ENG/TZ0/XX
Section B
Answer all questions.
8. (a) (i) Distinguish between random access memory (RAM) and read only memory (ROM). [3]
(ii) Outline the function of an operating system in managing primary memory. [2]
(b) Explain the roles of the data bus and the address bus in the machine instruction cycle. [4]
(c) (i) State how the data stored in the following byte will be represented in hexadecimal. [1]
0 1 0 1 1 1 1 0
(ii) State how many integers could be represented in this byte. [1]
(iii) Outline why this byte could not be used to represent characters such as those
used in Chinese. [2]
(d) Construct a truth table with two input variables. If the input variables are equal the
value of the output variable should be True, otherwise it should be False.[2]
9. (a) Outline the need for higher level languages. [2]
(b) Explain two benefits of using sub-procedures within a computer program. [4]
(c) Identify three characteristics of a collection.[3]
Collection NUMBERS already exists and stores real numbers.
(d) Construct in pseudocode an algorithm, using the access methods of a collection, which
will iterate through the collection NUMBERS and count how many elements stored in the
collection are in the interval [–1,1].
The final answer should be output. [6]
Turn over
–4– N18/4/COMSC/SP1/ENG/TZ0/XX
10. The following method, calcBMI() accepts person’s height (H) in metres (m) and weight (W)
in kilograms (kg) and returns their Body Mass Index (BMI).
calcBMI(H, W)
X = H * H
B = W / X
return B
endcalcBMI
Boris weighs 104 kg and is 2.00 m tall. His BMI can be calculated by calling method
calcBMI() as follows
BorisBMI = calcBMI(2.00, 104).
(a) State the value of variable BorisBMI. [1]
A person can belong to one of the following four weight categories:
BMI Weight category
less than 18.5 underweight
from 18.5 but less than 25.0 normal weight
from 25.0 but less than 30.0 overweight
greater than or equal to 30.0 obese
(b) Use pseudocode to construct an algorithm which accepts a person’s BMI and outputs
the weight category the person belongs to. [4]
(This question continues on the following page)
–5– N18/4/COMSC/SP1/ENG/TZ0/XX
(Question 10 continued)
The data about a group of adults and their height measurement (in metres) and weight
measurement (in kg) is held in three one-dimensional arrays.
NAME WEIGHT HEIGHT
(kg) (m)
[0] Annie [0] 52.40 [0] 1.56
[1] Boris [1] 100.00 [1] 2.00
[2] Hugh [2] 105.00 [2] 2.03
[3] Paul [3] 61.00 [3] 1.75
[4] Robby [4] 88.00 [4] 1.80
… … … … … …
… … … … … …
[29] Zara [29] 68.00 [29] 1.71
Where
NAME is a one-dimensional array holding names (currently sorted in alphabetical order).
WEIGHT is a one-dimensional array holding weight measurement in kilograms.
HEIGHT is a one-dimensional array holding height measurement in metres.
For example,
NAME[0] is Annie.
Her weight measurement is 52.40 kg and can be found in WEIGHT[0].
HEIGHT[0] is 1.56 which represents Annie’s height measurement in metres.
(c) State the name of the person whose height is held in HEIGHT[3].[1]
(d) (i) Identify one reason why a binary search algorithm cannot be used to find the
name of person whose height is given. [1]
(ii) Describe how the name of person whose height is given could be output. [2]
(e) Construct an algorithm which will output the names of all the people whose BMI is
greater than this group’s average BMI.
You should call method calcBMI() in your answer. [6]