Note AcademyNote Academy

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] ← MarksEntry

    should be Higher[HighList] ← Mark

    Line 15 / MidList ← MidList

    should be MidList ← MidList + 1

    Line 17 / Lower[HighList] ← Mark

    should be Lower[LowList] ← Mark

    Line 22 / NEXT MarksEntry = 500

    should 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.