Serangoon Secondary Computing
Sec 4E
2020 Preliminary Exams (Marking scheme)
Q1a) [4 m]
Logic gates Boolean Values
A
X
B
A B X
0 0 1
0 1 1
A
X
B
A B X
0 0 0
1 1 1
A
X
B
A B X
0 1 0
A 1 1 0
X
B
1
Q1b) [5m]
X = (A OR (NOT B NAND C)) AND (A NOR B)
B X
Q1c) [4 m]
D E F G X
A B C
(NOT B) (D NAND C) (A OR E) (A NOR B) (F AND G)
0 0 0 1 1 1 1 1
0 0 1 1 0 0 1 0
0 1 0 0 1 1 0 0
0 1 1 0 1 1 0 0
1 0 0 1 1 1 0 0
1 0 1 1 0 1 0 0
1 1 0 0 1 1 0 0
1 1 1 0 1 1 0 0
2
Q2) [5 m]
(a) The network interface card is the hardware interface that enables the
transfer of data between a device and a network.
(b) The network switch is a device that constructs a single network by
connecting two similar networks together.
(c) The modem is a device responsible for modulating and demodulating
digital data when data is transmitted over long distances.
(d) The router is a device that forwards packets between separate networks.
(e) The network hub is a device that transmits received packets to all
connected devices.
Q3a) [4 m]
Any 2 social benefits from:
• Enabled communication between people without face-to-face meetings.
• Enabled students to learn from home through the use of online learning
tools and virtual classrooms tools.
• Allowed people to entertain themselves while staying at home (e.g.
mobile gaming communities, live video streaming etc)
• Keep people updated with latest news.
• Encourages community driven efforts that benefits the society during the
lockdown (e.g. donation drives, food distribution drives etc)
• Any other relevant answers.
Any 2 economic benefits from:
• Allowed business to reach out to customers through online marketing and
social media when retail businesses were required to shutdown.
• Reduced business costs from overseas travel with the use of cheap and
effective video conferencing tools in place of face-to-face meetings.
• Enabled consumers to spend, borrow, invest and save money through
electronic applications without the need for face-to-face interactions.
• Create job opportunities such as online food delivery and delivery.
• Any other relevant answers.
Q3b) [2 m]
Any 2 negative impacts from:
• People are easily misled by the spreading of rumours and false
information online.
• Cyberattacks and cybercrimes targeted at vulnerable groups of people
lead to loss of money.
• Increase in cyber addiction rates which may lead to deficiency in real-life
social skills and abandoning of responsibilities.
• Excessive screen time may lead to health problems (e.g. insomnia,
eyestrain, increased anxiety etc).
• Any other relevant answers
3
Q4a) [2 m]
(1 0 0 1 0 1 1 0)2
= 21 + 22 + 24 + 27
= 2 + 4 + 16 + 128
= 150
Q4b) [2 m]
Denary Quotient Remainder
459 28 11 (B)
28 1 12 (C)
1 0 1
459 = 1CB16
Q4c) [3 m]
Any 3 relevant points from:
• Represented by 3 bytes of data (6 hexadecimal digits); 1 byte of
data to represent each of the intensities of red, blue and green
colours.
• Each colour intensity ranges from 00 (lowest intensity) to FF
(highest intensity). Range of colours from 000000 to FFFFFF
• If all three colour intensities are 0 (000000), the resulting colour is
black. If all three colour intensities are F (FFFFFF), the resulting
colour is white.
• RGB colour code displayed in the form RRGGBB, where RR, GG
and BB are two-hexadecimal numbers ranging from 0 to F.
• 16,777,216 different colours can be represented using the RGB
colour code.
• RGB colour codes are used in websites using HTML or CSS.
Q5a) [1 m] Number / integer
Q5b) [2 m] = ($C$3 * B7) + ($C$4 * C7)
OR
= (C3 * B7) + (C4 * C7)
Q5c) [2 m]
Any 2 relevant points from:
4
• Cells C3 and C4 must be absolutely referenced for the formula in
cell D7 (if answer in 5b shows absolute referencing, assume
student has stated this point)
• Select cell D7, (right-click) copy the cell and (right click) paste on
cells D8 to D11
• Select cell D7, move mouse to the bottom right corner of the cell
until a plus-shaped (+) cursor can be seen; click and drag the
cursor all the way to cell D11
Q5d) [2 m] =IF(D7>E7,”Profit”,”Loss”)
Q6) [5 m] 1 to 2 correct statements matched:
3 to 4 correct statements matched:
5 to 6 correct statements matched:
7 to 8 correct statements matched:
All statements matched correctly:
5
5 7
1 4
6 3 8
Q7a) [2 m]
Any 2 relevant input devices from:
• Barcode scanner / Scanner / Camera
• Number pad / Keyboard / Touchscreen panel
• Thermal scanner
Q7b) [4 m]
Any 4 relevant modules from:
• NRIC barcode scanning module
• Contact number form module
• Database search modules (accept any meaningful names, limit to 1
only)
6
• Databae sentry modules (accept any meaningful names, limit to 1
only)
• Gantry operation module
• LCD display module
Q7ci) [2 m]
Variable Data Type
valid_contact boolean
contact_num string
Q7cii) [2 m]
Both answers in any order:
• Length check
• Format check
Q7ciii)[2 m]
Test case condition Test data
Accept any telephone number that start with “6”
Normal
or “9” and is exactly 8 characters long.
E.g. 91234567
Accept any telephone number that does not start
Error with “6” or “9”, or is not exactly 8 characters long.
e.g. 12345678, 9876543
Q7civ) [2 m]
Line number: 09
Changed line:
IF contact_num[0]!="9" or contact_num[0]!="8"
or contact_num[0]!="7" or contact_num[0]!="6"
OR
IF contact_num[0] NOT IN ["6","7","8", "9"]
Q8a) [5 m]
7
Accept Reject Count Sack OUTPUT
0 0 0 49.2 7, 3
1 1 1 50.4
2 2 2 49.5
3 3 3 50.2
4 4 50.0
5 5 49.7
6 6 50.1
7 7 51.3
8 50.5
9 50.6
10
Q8b) [1 m]
Any 2 relevant points from:
• Input 10 floating point (decimal) numbers
• Counts the number of accepted values (more than or equal to 49.5
and less than or equal to 50.5) and rejected values
• Outputs the number of accepted and rejected values.
Q8c) [2 m]
Both changes in any order:
• Change “Is Count = 10?” to “Is Count = 30?”
• Remove “Is Sack < 49.5?” symbol.
8
Q9) [8 m]
All 4 errors in any order:
• Error 1: line 04
Correction: WHILE Number < 0 OR Number > 100
• Error 2: line 08
Correction: NumArray[Index] = Number
• Error 3: line 09
Correction: IF Number >= 50 THEN Count = Count + 1
• Error 4: line 10
Correction: Until Count = 40 NEXT Index
OR entire line 10 is removed
Q10) [7 m]
- Initialization of 2 variables to count number of days each city had a
higher daily average temperature
- Initialization of 2 variables to record the highest daily average
temperature in City A (set to a very low value) and lowest daily
average temperature in City B (set to a very high value.
- Loop management 365 repetitions
- Input 2 temperatures values
- Compare the 2 values
- …… and increase count for city with higher temperature
- Check if value input for City A is higher than the highest recorded
value for City A
- …… and update as highest value if it is higher
- Check if value input for City B is lower than the lowest recorded
value for City B
- …… and update as lowest value if it is lower
- Output the 4 pieces of data
Sample algorithm:
CityACount = 0
CityBCount = 0
CityAHighest = -999
CityBLowest = 999
9
FOR Days = 1 to 365
Input CityA, CityB
IF CityA > CityB
CityACount = CityACount + 1
ELSE IF CityB > CityA
CityBCount = CityBCount + 1
ENDIF
IF CityA > CityAHighest
CityAHighest = CityA
ENDIF
IF CityB < CityBLowest
CityBLowest = CityB
ENDIF
NEXT Days
OUTPUT 'City A had ' + CityACount + ' days with a
higher daily average temperature.'
OUTPUT 'City B had ' + CityBCount + ' days with a
higher daily average temperature.'
OUTPUT 'The highest daily average temperature
recorded in City A was ' + CityAHighest
OUTPUT 'The lowest daily average temperature
recorded in City B was ' + CityBLowest
10