Paper 1 Algorithmic Representation Answers
These answers correspond to Paper 1 Algorithmic Representation Drills.
Answer 1: Flowchart Symbols
| Operation | Symbol |
|---|---|
| Start the algorithm | terminator / rounded rectangle / oval |
Input mark | input-output / parallelogram |
Calculate total = total + mark | process / 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 >= 70isTrue;- the
THENbranch is taken; - output is
A.
For score = 45:
score >= 70isFalse;- the
ELSEbranch 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
| Iteration | count after update | total after update |
|---|---|---|
| 1 | 2 | 1 |
| 2 | 3 | 3 |
| 3 | 4 | 6 |
| 4 | 5 | 10 |
After iteration 4, count <= 4 is false because count is 5. The final output is:
10Mark 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 <= 4becomes false; - final output is
10.
Common weak answer:
- stopping after
count = 4before adding 4. The body still runs whilecount <= 4is true.
Answer 4: Decision Table
| logged_in | paid_fee | not_suspended | Action |
|---|---|---|---|
| True | True | True | allow access |
| True | True | False | deny access |
| True | False | True | deny access |
| True | False | False | deny access |
| False | True | True | deny access |
| False | True | False | deny access |
| False | False | True | deny access |
| False | False | False | deny 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, andnot_suspendedare allTrue; - denies every other row;
- does not miss any case where one or more conditions are
False; - uses clear action labels such as
allow accessanddeny 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 <- 0followed 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:
| Module | Responsibility |
|---|---|
load_questions | read the five question/answer pairs from the file |
ask_questions | display each question, collect the user’s answer, and count correct answers |
display_score | output 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, andpart3. 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 <= 100Mark points:
- identifies that
0is wrongly rejected; - identifies that
100is wrongly rejected; - gives the corrected lower-bound comparison
mark >= 0; - gives the corrected upper-bound comparison
mark <= 100.
Common weak answer:
- changing
ANDtoORin the acceptance condition.mark >= 0 OR mark <= 100would 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
0to100; - accepts only when the mark is an integer from
0to100inclusive.
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
32combinations; - 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
| Task | Representation |
|---|---|
| show the step-by-step logic for calculating an average from a list | pseudocode |
| show whether a loan is approved based on age, income, and debt status | decision table |
| show a visual overview of a login loop with a retry decision | flowchart |
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.