Paper 1 Algorithmic Representation Drills

These are original topic-local Paper 1-style drills, not a complete 100-mark Paper 1. They use concrete algorithm representations so the answers can be checked exactly.

Detailed answers are in Paper 1 Algorithmic Representation Answers.

Revise the topic hub first:

Questions

Question 1: Flowchart Symbols

A student is drawing a flowchart for a simple mark-processing algorithm.

Complete the table by naming the most suitable flowchart symbol for each operation.

OperationSymbol
Begin the algorithm
Input mark
Calculate total <- total + mark
Test mark >= 50?

[4]

Question 2: Selection Trace

Trace this pseudocode for score = 83 and score = 47.

IF score >= 75 THEN
    outcome <- "Distinction"
ELSE IF score >= 50 THEN
    outcome <- "Pass"
ELSE
    outcome <- "Fail"
ENDIF
 
OUTPUT outcome

For each input, state the condition result or branch taken, and the final output. [4]

Question 3: Fixed-Count Iteration Trace

Complete the trace for this pseudocode.

count <- 1
total <- 0
 
WHILE count <= 4
    total <- total + (count * 2)
    count <- count + 1
ENDWHILE
 
OUTPUT total

Show the value of count and total after each loop iteration, and state the final output. [5]

Question 4: Sentinel-Controlled Iteration

This algorithm reads donation amounts. The sentinel value -1 means that there are no more donations to process.

total <- 0
INPUT donation
 
WHILE donation <> -1
    total <- total + donation
    INPUT donation
ENDWHILE
 
OUTPUT total

Trace the algorithm for this input sequence:

12, 8, 15, -1, 100

Complete the table and state the final output.

Input readIs input the sentinel?total after this input is processed
12
8
15
-1
100

[6]

Question 5: Decision Table

A learner may start an online quiz only when all three conditions are true:

  • logged_in
  • quiz_open
  • attempts_left

Complete this decision table.

logged_inquiz_openattempts_leftAction
TrueTrueTrue
TrueTrueFalse
TrueFalseTrue
TrueFalseFalse
FalseTrueTrue
FalseTrueFalse
FalseFalseTrue
FalseFalseFalse

[6]

Question 6: Pseudocode Meaning

In the pseudocode below, identify one example of sequence, one example of selection, and one example of iteration.

total <- 0
 
FOR day <- 1 TO 3
    INPUT hours
    IF hours > 0 THEN
        total <- total + hours
    ENDIF
NEXT day
 
OUTPUT total

[3]

Question 7: Validation Logic Correction

A flowchart for validating a percentage mark uses this decision:

mark > 0 AND mark < 100?

If the answer is Yes, the mark is accepted. If the answer is No, the mark is input again.

Identify two boundary-value weaknesses and give the corrected acceptance condition. [4]

Question 8: Input Validation Representation

Write pseudocode to repeatedly request mark until it is an integer from 0 to 100 inclusive.

Your pseudocode should reject both:

  • non-integer values;
  • integer values outside the range.

[5]

Question 9: Modular Decomposition

A small booking program must:

  1. read booking requests entered by a user;
  2. check whether each request has a valid date and time;
  3. store accepted requests in a list;
  4. display a summary of accepted bookings.

Suggest three suitable modules and state each module’s responsibility. [6]

Question 10: Representation Choice

For each task, choose the most suitable representation from pseudocode, flowchart, decision table, or modular decomposition. Give a brief reason for each choice.

TaskRepresentation and reason
show the step-by-step logic for calculating an average from a list
check every combination of age group, membership status, and voucher availability before choosing a discount action
show a visual overview of a login loop with a retry decision
split a larger event-registration system into smaller responsibilities

[4]

Review Checklist

After attempting these questions, check whether you can:

  • identify standard flowchart symbols;
  • trace selection and iteration using exact values;
  • explain why a sentinel input stops a loop and is not processed;
  • complete a decision table from stated conditions;
  • choose representations based on what each representation makes clear;
  • write validation pseudocode with correct boundary conditions.