← IGCSE Computer Science Paper 2

The subroutine symbol in a flowchart

A rectangle with double side lines. It stands for a call to a subroutine whose steps are drawn in a separate flowchart, which keeps the main flowchart short.

Understanding The subroutine symbol in a flowchart in IGCSE Computer Science Paper 2

What it does: One subroutine symbol per structure diagram box keeps the main flowchart matched to the design. The double side lines show that this box calls a subroutine. A plain rectangle is the process symbol. The detail is hidden in the separate flowcharts, so the main flowchart only shows the order of the calls. A diamond is for decisions. A call to a separate subroutine uses the subroutine symbol.

Common mistakes: A call to a subroutine uses the subroutine symbol (rectangle with double side lines), not a plain process rectangle. Line 2 should be Subroutine: GetMarks. The separate flowchart has its own Start, and Start is drawn as a terminator (rounded oval), not a process box. Line 1 should be Terminator: Start GetMarks.

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 123–134) and word search (Modules 123–145).

Take this worksheet further — free with Cloodit

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

Learning
Duo
Which shape is the subroutine symbol in a Cambridge flowchart?
A plain rectangle with single linesA rectangle with double lines down both sides
Matches
A plain process rectangle (no double side lines) labelled CalculateTotal used to call a subroutine
↓
A plain rectangle is a process symbol, not a subroutine symbol. A subroutine call needs a rectangle with double side lines.
Applying
Meanings
Term
Subroutine symbol
Meaning
A rectangle with double side lines. It stands for a call to a subroutine whose steps are drawn in a separate flowchart, which keeps the main flowchart short.
Practice
// Main program: one CALL per symbol
Testing
Gaps
GetMarks()
Check Answer
Spots
1Terminator: Start
2Process: GetMarks

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

The 'Moon Jellyfish' badge — Orbital Streak, 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. Which shape is the subroutine symbol in a Cambridge flowchart?
A. A rectangle with double lines down both sides ✓
B. A plain rectangle with single lines
The double side lines show that this box calls a subroutine. A plain rectangle is the process symbol.
2. What does a subroutine symbol in a main flowchart stand for?
A. A call to a subroutine drawn in a separate flowchart ✓
B. A single input from the user
The symbol is a call. The steps of the subroutine are not drawn inside the box. They are drawn in their own flowchart.
3. Where are the steps of the subroutine drawn?
A. In a separate flowchart ✓
B. Inside the subroutine symbol itself
The subroutine symbol only holds the name of the subroutine. The detailed steps go in another flowchart.
4. How does a structure diagram link to subroutine symbols in the main flowchart?
A. All the boxes are squeezed into one subroutine symbol
B. Each box of the structure diagram gets one subroutine symbol ✓
One box of the structure diagram becomes one subroutine symbol. This keeps the sub-problems separate.
5. How does a separate subroutine flowchart begin and end?
A. It has no Start or End because the main flowchart supplies them
B. It has its own Start and End ✓
Each subroutine flowchart is a complete flowchart. It has its own Start and End terminators. The End returns control to the main flowchart.

Match the Pairs

A rectangle with double lines down both sides, labelled CalculateTotal → A subroutine symbol: a call to the subroutine CalculateTotal, whose steps are drawn in a separate flowchart
A separate flowchart for CalculateTotal that begins with its own Start and finishes with its own End → The detailed steps of the subroutine, drawn apart from the main flowchart
Each box in the second level of a structure diagram becomes one subroutine symbol in the main flowchart → Structure diagram boxes: GetMarks, CalculateAverage, ShowGrade. Main flowchart: Start, then three double-sided rectangles with those names, then End
The main flowchart stays short because the detailed steps are hidden inside the subroutine flowcharts → Main flowchart: Start, then the symbols CheckPassword and LoadMenu, then End. The decisions and loops are drawn in their own flowcharts
A plain process rectangle (no double side lines) labelled CalculateTotal used to call a subroutine → A plain rectangle is a process symbol, not a subroutine symbol. A subroutine call needs a rectangle with double side lines.
A subroutine flowchart for CalculateTotal with no Start or End terminator, only the steps → The separate flowchart is missing its own Start and End. It should begin with a Start terminator (with the subroutine name) and finish with an End terminator.

Key Term

Subroutine symbol
A rectangle with double side lines. It stands for a call to a subroutine whose steps are drawn in a separate flowchart, which keeps the main flowchart short.

Fill in the Blanks

1. CALL GetMarks()
Hint: Type the pseudocode keyword that a subroutine symbol in the main flowchart stands for.
2. PROCEDURE GetMarks() INPUT Mark ENDPROCEDURE
Hint: Type the keyword that closes the subroutine, matching the End of its separate flowchart.
3. // Subroutine symbol: double side lines
Hint: Type the word that describes the side lines on the rectangle of a subroutine symbol.
4. PROCEDURE GetMarks() INPUT Mark ENDPROCEDURE
Hint: Type the keyword that begins the subroutine whose steps are drawn in a separate flowchart.
5. Start -> CALL GetMarks() -> End
Hint: Type the terminator that finishes the short main flowchart after the subroutine call.

Spot the Error

Question 1
A Terminator: Start
B Process: GetMarks
C Subroutine: FindAverage
D Subroutine: ShowGrade
E Terminator: End
Line B — A call to a subroutine uses the subroutine symbol (rectangle with double side lines), not a plain process rectangle. Line 2 should be Subroutine: GetMarks.
Question 2
A Process: Start GetMarks
B Input: mark1, mark2
C Process: total <- mark1+mark2
D Terminator: End GetMarks
Line A — The separate flowchart has its own Start, and Start is drawn as a terminator (rounded oval), not a process box. Line 1 should be Terminator: Start GetMarks.
Question 3
A Terminator: Start
B Subroutine: AskQuestions
C Terminator: End
D Subroutine: ShowScore
E Terminator: End
Line C — The main flowchart needs one subroutine symbol for every box of the structure diagram. Ending on line 3 skips MarkAnswers or ShowScore. Line 3 should be Subroutine: MarkAnswers.
Question 4
A Terminator: Start FindMax
B Process: max <- highest temp
C Terminator: Start FindMax
Line C — The separate flowchart for a subroutine must have its own End as well as its own Start. Line 3 should be Terminator: End FindMax, not a second Start.
Question 5
A Draw a rectangle
B Add a line inside each side
C Write subroutine name inside
D Draw steps in the main chart
Line D — The steps of a subroutine are not drawn in the main flowchart. They go in a separate flowchart, which keeps the main one short. Line 4 should say to draw them in a new flowchart.

Student with a class code? Join your class →