Paper 1 Algorithmic Representation Answers

These answers correspond to Paper 1 Algorithmic Representation Drills.

Answer 1: Flowchart Symbols

OperationSymbol
Start the algorithmterminator / rounded rectangle / oval
Input markinput-output / parallelogram
Calculate total = total + markprocess / rectangle
Test mark >= 50?decision / diamond

Mark points:

  • start/end uses a terminator;
  • input/output uses a parallelogram;
  • calculation uses a process rectangle;
  • condition test uses a decision diamond.

Common weak answer:

  • using a decision diamond for every step. Only a branch condition should use a decision symbol.

Answer 2: Selection Trace

For score = 72:

  • score >= 70 is True;
  • the THEN branch is taken;
  • output is A.

For score = 45:

  • score >= 70 is False;
  • the ELSE branch is taken;
  • output is Not A.

Mark points:

  • correct condition result for 72;
  • correct output for 72;
  • correct condition result for 45;
  • correct output for 45.

Common weak answer:

  • running both branches. In an IF...ELSE, exactly one branch is selected.

Answer 3: Iteration Trace

Iterationcount after updatetotal after update
121
233
346
4510

After iteration 4, count <= 4 is false because count is 5. The final output is:

10

Mark points:

  • initial state starts at count = 1, total = 0;
  • total values 1, 3, 6, 10;
  • count values after update 2, 3, 4, 5;
  • loop stops when count <= 4 becomes false;
  • final output is 10.

Common weak answer:

  • stopping after count = 4 before adding 4. The body still runs while count <= 4 is true.

Answer 4: Decision Table

logged_inpaid_feenot_suspendedAction
TrueTrueTrueallow access
TrueTrueFalsedeny access
TrueFalseTruedeny access
TrueFalseFalsedeny access
FalseTrueTruedeny access
FalseTrueFalsedeny access
FalseFalseTruedeny access
FalseFalseFalsedeny access

Mark points:

  • includes all eight combinations for three Boolean conditions;
  • identifies that all three conditions must be true for access;
  • allows only the row where logged_in, paid_fee, and not_suspended are all True;
  • denies every other row;
  • does not miss any case where one or more conditions are False;
  • uses clear action labels such as allow access and deny access.

Common weak answer:

  • allowing access when two of the three conditions are true. The rule says all three are required.

Answer 5: Pseudocode Meaning

  • Sequence: total <- 0 followed by the next statement, or the ordered assignment/input/output steps.
  • Selection: IF mark >= 50 THEN ... ENDIF.
  • Iteration: FOR i <- 1 TO 3 ... NEXT i.

Mark points:

  • correctly identifies sequence;
  • correctly identifies selection;
  • correctly identifies iteration.

Common weak answer:

  • calling any line of code an iteration. Iteration means repetition controlled by a loop.

Answer 6: Modular Decomposition

One suitable decomposition:

ModuleResponsibility
load_questionsread the five question/answer pairs from the file
ask_questionsdisplay each question, collect the user’s answer, and count correct answers
display_scoreoutput the final score clearly

Mark points:

  • gives three sensible modules;
  • each module has a clear single responsibility;
  • includes file loading;
  • includes asking/collecting answers;
  • includes checking/counting score;
  • includes final output.

Common weak answer:

  • using modules such as part1, part2, and part3. Module names should describe responsibilities.

Answer 7: Flowchart Correction

The condition mark > 0 AND mark < 100 wrongly rejects the boundary values 0 and 100, even though valid marks normally include both endpoints.

Corrected condition:

mark >= 0 AND mark <= 100

Mark points:

  • identifies that 0 is wrongly rejected;
  • identifies that 100 is wrongly rejected;
  • gives the corrected lower-bound comparison mark >= 0;
  • gives the corrected upper-bound comparison mark <= 100.

Common weak answer:

  • changing AND to OR in the acceptance condition. mark >= 0 OR mark <= 100 would accept almost every number.

Answer 8: Input Validation Representation

One valid pseudocode answer:

INPUT mark
WHILE mark is not an integer OR mark < 0 OR mark > 100
    OUTPUT "Invalid mark"
    INPUT mark
ENDWHILE
OUTPUT "Accepted"

Mark points:

  • inputs the first mark before the loop;
  • uses a loop for repeated input;
  • rejects input that is not an integer;
  • rejects marks outside the inclusive range 0 to 100;
  • accepts only when the mark is an integer from 0 to 100 inclusive.

Common weak answer:

  • checking only mark < 0 OR mark > 100. That handles the range, but it does not reject non-integer input.
  • using WHILE mark >= 0 AND mark <= 100, which repeats while the mark is valid instead of invalid.

Answer 9: Decision Table Limit

Five independent Boolean conditions produce possible condition combinations. This is beyond the H2 Computing decision-table limit for this topic. It can make the table harder to use because many columns must be completed and checked, increasing the chance of omissions or inconsistent actions.

Mark points:

  • states 32 combinations;
  • explains that this is beyond the syllabus limit, or explains the increased checking effort, omission risk, or inconsistency risk.

Common weak answer:

  • saying there are only five combinations. Each Boolean condition doubles the number of combinations.

Answer 10: Representation Choice

TaskRepresentation
show the step-by-step logic for calculating an average from a listpseudocode
show whether a loan is approved based on age, income, and debt statusdecision table
show a visual overview of a login loop with a retry decisionflowchart

Reasons:

  • pseudocode is suitable for precise algorithm steps;
  • a decision table is suitable when combinations of conditions determine actions;
  • a flowchart is suitable for visual control flow with looping and branching.

Mark points:

  • chooses pseudocode for the average algorithm;
  • chooses decision table for the multi-condition loan decision;
  • chooses flowchart for the visual login loop.

Common weak answer:

  • choosing the same representation for every task without linking the choice to what must be communicated.