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.
| Operation | Symbol |
|---|---|
| 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 outcomeFor 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 totalShow 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 totalTrace the algorithm for this input sequence:
12, 8, 15, -1, 100Complete the table and state the final output.
| Input read | Is 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_inquiz_openattempts_left
Complete this decision table.
| logged_in | quiz_open | attempts_left | Action |
|---|---|---|---|
| True | True | True | |
| True | True | False | |
| True | False | True | |
| True | False | False | |
| False | True | True | |
| False | True | False | |
| False | False | True | |
| False | False | False |
[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:
- read booking requests entered by a user;
- check whether each request has a valid date and time;
- store accepted requests in a list;
- 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.
| Task | Representation 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.