← IGCSE Computer Science Paper 2

Building a flowchart from a problem

List the inputs, processes and outputs, then draw Start, the steps in order with the correct symbols, and Stop. Check every path reaches Stop, then trace it with test values.

Understanding Building a flowchart from a problem in IGCSE Computer Science Paper 2

What it does: A problem that says 'if' or 'otherwise' needs a decision diamond with two labelled exits, and each exit must lead on to Stop. Always list the inputs (two numbers), the process (add them) and the output (the sum) before you start drawing. A flowchart always begins with Start, the steps go in the order they happen, and it ends with Stop. Words like 'keep', 'until', 'each' and 'for every' show a repeated step. In a flowchart, this is drawn as a flow line that returns to an earlier point. Calculations and assignments go in a rectangle process box. Parallelograms are only for input and output.

Common mistakes: Input must be drawn in a parallelogram, not a rectangle. A rectangle is for processes. It should be Parallelogram: INPUT Num. The Yes path is taken when Mark >= 50, so it must lead to OUTPUT Pass. Testing with Mark = 70 would wrongly output Fail.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 188–213) and word search (Modules 188–231).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
A problem says: 'Read two numbers and output their sum.' What should you do FIRST when building the flowchart?
List the inputs, processes and outputsDraw the Stop symbol and work backwards
Matches
Start → Input Mark → Mark >= 50 ? → Yes: Output "Pass" → Stop (the No path has no flow line)
↓
The No path from the decision never reaches Stop, so the flowchart has a dead end. Every path must lead to Stop.
Applying
Meanings
Term
Start to Stop
Meaning
List the inputs, processes and outputs, then draw Start, the steps in order with the correct symbols, and Stop. Check every path reaches Stop, then trace it with test values.
Practice
Input: Mark
Testing
Gaps
Start -> INPUT Age -> OUTPUT Age ->
Check Answer
Spots
1Oval: Start
2Rectangle: INPUT Num

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Gila Monster' badge — Patient Coder, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. A problem says: 'Read two numbers and output their sum.' What should you do FIRST when building the flowchart?
A. List the inputs, processes and outputs ✓
B. Draw the Stop symbol and work backwards
Always list the inputs (two numbers), the process (add them) and the output (the sum) before you start drawing.
2. Which is the correct order for the symbols in a flowchart that reads a mark and outputs it?
A. Input parallelogram, Start, Stop, output parallelogram
B. Start, input parallelogram, output parallelogram, Stop ✓
A flowchart always begins with Start, the steps go in the order they happen, and it ends with Stop.
3. A problem says: 'Keep asking for a password until it is correct.' What does this wording tell you?
A. There is a repeated step, so a loop is needed ✓
B. There is only a sequence, so no loop is needed
Words like 'keep', 'until', 'each' and 'for every' show a repeated step. In a flowchart, this is drawn as a flow line that returns to an earlier point.
4. A problem says: 'If the temperature is above 30, output Hot, otherwise output Not hot.' Which symbol shows this choice?
A. A rectangle process box with two outputs
B. A diamond decision with Yes and No branches ✓
Any 'if' in a problem is a decision. Use a diamond with two labelled flow lines, one for Yes and one for No.
5. Your flowchart has a decision diamond. The Yes branch leads to Stop but the No branch ends in mid-air. What is wrong?
A. Not every path reaches Stop ✓
B. Nothing, only the Yes path needs to reach Stop
Every path through the flowchart must finish at Stop. Join the No branch back into the flow or draw it to Stop.

Match the Pairs

Inputs: length, width | Process: area ← length * width | Output: area → The first planning step: list the inputs, processes and outputs of the problem before drawing any symbols
Start → Input → Process → Output → Stop → The order of symbols in a flowchart with no decisions or loops: begin at Start, end at Stop, and use the correct shape for each step
Identify a decision: the problem says to do different things depending on a condition, so draw a diamond with Yes and No paths → Mark >= 50 ? Yes: OUTPUT "Pass" / No: OUTPUT "Fail"
Identify repeated steps: the problem says to do something many times, so draw a flow line that loops back to an earlier step → Count < 10 ? Yes: INPUT Mark, Count ← Count + 1, back to the test / No: go on to Stop
Start → Input Mark → Mark >= 50 ? → Yes: Output "Pass" → Stop (the No path has no flow line) → The No path from the decision never reaches Stop, so the flowchart has a dead end. Every path must lead to Stop.
Start → Process: INPUT Mark → Process: OUTPUT Mark → Stop → The wrong symbols are used: INPUT and OUTPUT must be in parallelograms, not process rectangles.

Key Term

Start to Stop
List the inputs, processes and outputs, then draw Start, the steps in order with the correct symbols, and Stop. Check every path reaches Stop, then trace it with test values.

Fill in the Blanks

1. Start -> INPUT Age -> OUTPUT Age -> Stop
Hint: Type the terminator label that every path must finally reach.
2. Decision: Mark >= 50 ? Yes -> OUTPUT "Pass" No -> OUTPUT "Fail"
Hint: Type the relational operator that means 'at least' in this decision.
3. Input: Price, Qty Process: Total ← Price * Qty Output: Total
Hint: Type the heading used for the calculation step in an inputs, processes, outputs list.
4. Count ← 0 WHILE Count < 5 DO Count ← Count + 1
Hint: Type the arithmetic operator that moves the counter on so the loop can end.
5. Test value: Mark = 70 Mark >= 50 is TRUE Output: Pass
Hint: Type the Boolean result of the test when tracing with this test value.

Spot the Error

Question 1
A Oval: Start
B Rectangle: INPUT Num
C Rectangle: Result ← Num * 2
D Parallelogram: OUTPUT Result
E Oval: Stop
Line B — Input must be drawn in a parallelogram, not a rectangle. A rectangle is for processes. It should be Parallelogram: INPUT Num.
Question 2
A Oval: Start
B Parallelogram: INPUT Mark
C Diamond: Mark >= 50 ?
D Yes: line to OUTPUT Fail
E No: line to OUTPUT Fail
F Both lines go to Oval: Stop
Line D — The Yes path is taken when Mark >= 50, so it must lead to OUTPUT Pass. Testing with Mark = 70 would wrongly output Fail.
Question 3
A Oval: Start
B Rectangle: Total = 0
C Parallelogram: INPUT Num
D Rectangle: Total ← Total + Num
E Parallelogram: OUTPUT Total
F Oval: Stop
Line B — Setting a starting value is an assignment, so it uses ←, not =. It should be Rectangle: Total ← 0 so the total starts at zero.
Question 4
A Oval: Start
B Parallelogram: INPUT Pass
C Diamond: Pass ← "cat" ?
D No: line back to INPUT Pass
E Yes: line to Oval: Stop
Line C — A decision compares values, so it needs the comparison = and not the assignment arrow ←. It should be Diamond: Pass = "cat" ?.
Question 5
A Rectangle: Start
B Parallelogram: INPUT Age
C Diamond: Age >= 16 ?
D Yes: line to OUTPUT Allowed
E Oval: Stop
Line A — Start and Stop use the terminator symbol, which is an oval. A rectangle is a process symbol. It should be Oval: Start.

Student with a class code? Join your class →