Computer Science · Oct / Nov 2022 · Paper 22 · Question 5
0478
As printed in the paper
The question as text
This pseudocode should allow 500 marks to be entered into the algorithm. If the mark is 80 or greater it is stored in an array for higher marks. If the mark is less than 80, but greater than or equal to 50 it is stored in an array for middle marks. The remaining marks are stored in an array for lower marks. The results from the algorithm are displayed at the end. 01 HighList 0 02 MidList 0 03 LowList 0 04 MarksEntry 0 05 REPEAT 06 INPUT Mark 07 IF Mark >= 80 08 THEN 09 Higher[HighList] MarksEntry 10 HighList HighList + 1 11 ELSE 12 IF Mark >= 50 13 THEN 14 Middle[MidList] Mark 15 MidList MidList 16 ELSE 17 Lower[HighList] Mark 18 LowList LowList + 1 19 ENDIF 20 ENDIF 21 MarksEntry MarksEntry + 1 22 NEXT MarksEntry = 500 23 OUTPUT "You entered ", HighList, " higher marks" 24 OUTPUT "You entered ", MidList, " middle marks" 25 OUTPUT "You entered ", LowList, " lower marks"
Read automatically from the paper; the printed page above is exact.
Show the answer and mark scheme
5(a)[4]
One mark per mark point, max four
Line 09 / Higher[HighList] ← MarksEntryshould be Higher[HighList] ← Mark
Line 15 / MidList ← MidListshould be MidList ← MidList + 1
Line 17 / Lower[HighList] ← Markshould be Lower[LowList] ← Mark
Line 22 / NEXT MarksEntry = 500should be UNTIL MarksEntry = 500
Corrected algorithm
01 HighList ← 0
02 MidList ← 0
03 LowList ← 0
04 MarksEntry ← 0
05 REPEAT
06 INPUT Mark
07 IF Mark >= 80
08 THEN
09 Higher[HighList] ← Mark
10 HighList ← HighList + 1
11 ELSE
12 IF Mark >= 50
13 THEN
14 Middle[MidList] ← Mark
15 MidList ← MidList + 1
16 ELSE
17 Lower[LowList] ← Mark
18 LowList ← LowList + 1
19 ENDIF
20 ENDIF
21 MarksEntry ← MarksEntry + 1
22 UNTIL MarksEntry = 500
23 OUTPUT "You entered ", HighList, " higher marks"
24 OUTPUT "You entered ", MidList, " middle marks"
25 OUTPUT "You entered ", LowList, " lower marks"
5(b)[4]
One mark per mark point, max four
MP1
Set up a condition to end the input
MP2
The correct placement of the condition
MP3
Set up the test
MP4
The correct placement of the test
MP5
Removal of MarksEntry counter from the original algorithm
Example answers
Testing at the end of the algorithm
OUTPUT "Do you want to enter another mark?"
INPUT AnotherMark
UNTIL AnotherMark = "No"
should replace line 22 at end of loop
The MarksEntry counter can be removed // Lines 4 and 21 are not required / can be removed
Testing at the beginning of the algorithm
AnotherMark = "Yes"
WHILE AnotherMark = "Yes" DO
should replace line 05 at the start of the loop
OUTPUT "Do you want to enter another mark?"
INPUT AnotherMark
ENDWHILE
should replace line 22 at end of loop
The MarksEntry counter can be removed // Lines 4 and 21 are not required / can be removed
Terminal condition
OUTPUT "Enter -1 to end the program"
should be placed before the loop and / or before the input in 06
IF MARK <> -1 THEN
should be placed between lines 06 and 07
The MarksEntry counter can be removed // Lines 4 and 21 are not required / can be removed
UNTIL Mark = -1 should be placed at line 22
Make a free account to save your answers and see your weak topics and ask the AI why a wrong answer is wrong.

