← IGCSE Computer Science Paper 2

Subroutine symbol

A rectangle with extra vertical lines at each side. It shows a call to a procedure or function that is drawn as a separate flowchart, with the subroutine's name written inside.

Understanding Subroutine symbol in IGCSE Computer Science Paper 2

What it does: The name inside the double-sided rectangle tells the reader which subroutine is being called. The main flowchart uses one subroutine symbol for the call, and the subroutine's detail is in a separate flowchart that is not joined to it by flow lines. The subroutine symbol means a subroutine is called. Start and end use the terminator symbol.

Common mistakes: A call to a subroutine that is drawn as a separate flowchart uses the subroutine symbol (a rectangle with extra vertical lines at each side), not a plain process rectangle. It should be 'Subroutine: CalcTotal'. The subroutine symbol only holds the name of the subroutine. The calculation belongs inside the separate flowchart for Double. It should be 'Subroutine: Double'.

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 176–187) and word search (Modules 166–187).

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 flowchart subroutine symbol?
A plain rectangle with no extra linesA rectangle with extra vertical lines at each side
Matches
A plain process rectangle (no extra side lines) containing a call to CalculateTotal
↓
A plain rectangle is a process symbol, so it does not show a subroutine call. It needs extra vertical lines at each side.
Applying
Meanings
Term
Subroutine symbol
Meaning
A rectangle with extra vertical lines at each side. It shows a call to a procedure or function that is drawn as a separate flowchart, with the subroutine's name written inside.
Practice
Total ← CalculateTotal(Price, Qty)
Testing
Gaps
ShowMenu()
Check Answer
Spots
2Process: Total ← 0
3Process: CalcTotal

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

The 'Ostrich' badge — Full Sprint, 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 flowchart subroutine symbol?
A. A rectangle with extra vertical lines at each side ✓
B. A plain rectangle with no extra lines
The extra vertical lines at each side show a call to a subroutine. A plain rectangle is the process symbol.
2. What does the subroutine symbol show in a flowchart?
A. A call to a procedure or function ✓
B. The start or end of the program
The subroutine symbol means a subroutine is called. Start and end use the terminator symbol.
3. Where is the steps of the subroutine drawn?
A. Inside the subroutine symbol itself
B. As a separate, non-linked flowchart ✓
The symbol only shows the call. The subroutine's own steps are drawn in a separate flowchart that is not joined to the main one by flow lines.
4. What should be written inside the subroutine symbol?
A. The word PROCESS
B. The name of the subroutine, such as CalculateTotal ✓
Write the name of the procedure or function being called inside the symbol so the reader knows which separate flowchart to look at.
5. Which of these can the subroutine symbol represent?
A. A function call and a procedure call ✓
B. A function call only
The same symbol is used for both procedures and functions. It shows that a subroutine is being called.

Match the Pairs

A rectangle with extra vertical lines at each side, containing CalculateTotal → A function call. The calculation is drawn as its own separate flowchart.
A rectangle with extra vertical lines at each side, containing PrintReport → A procedure call. The steps of PrintReport are drawn as a separate flowchart.
A subroutine symbol stands for a call to a subroutine, so the name of the subroutine is written inside it. → A rectangle with double side lines containing the name ShowMenu
The steps of a subroutine are not drawn inside the main flowchart. They are drawn as a separate, non-linked flowchart. → Main flowchart: subroutine symbol labelled CheckPassword. Second flowchart: START, CheckPassword steps, END
A plain process rectangle (no extra side lines) containing a call to CalculateTotal → A plain rectangle is a process symbol, so it does not show a subroutine call. It needs extra vertical lines at each side.
A subroutine symbol (rectangle with side lines) left empty, with the subroutine's steps drawn inside it as separate boxes → The subroutine's name must be written inside the symbol. Its steps belong in a separate flowchart, not inside the symbol.

Key Term

Subroutine symbol
A rectangle with extra vertical lines at each side. It shows a call to a procedure or function that is drawn as a separate flowchart, with the subroutine's name written inside.

Fill in the Blanks

1. CALL ShowMenu()
Hint: Type the keyword that calls a procedure. It is written inside the subroutine symbol.
2. Total ← AddTax(Price)
Hint: Type the assignment operator that stores the value returned by a function call.
3. PROCEDURE ShowMenu() OUTPUT "Menu" ENDPROCEDURE
Hint: Type the keyword that starts a procedure. Its body is drawn as a separate flowchart.
4. FUNCTION Double(N : INTEGER) RETURNS INTEGER RETURN N * 2 ENDFUNCTION
Hint: Type the keyword that gives the data type a function sends back.
5. FUNCTION Double(N : INTEGER) RETURNS INTEGER RETURN N * 2 ENDFUNCTION
Hint: Type the keyword that sends a value back to the place where the function was called.

Spot the Error

Question 1
A Terminator: START
B Process: Total ← 0
C Process: CalcTotal
D Terminator: END
Line C — A call to a subroutine that is drawn as a separate flowchart uses the subroutine symbol (a rectangle with extra vertical lines at each side), not a plain process rectangle. It should be 'Subroutine: CalcTotal'.
Question 2
A Terminator: START
B Input: Num
C Subroutine: Num ← Num * 2
D Output: Num
Line C — The subroutine symbol only holds the name of the subroutine. The calculation belongs inside the separate flowchart for Double. It should be 'Subroutine: Double'.
Question 3
A PROCEDURE ShowMenu()
B RETURN "1 Play, 2 Quit"
C ENDPROCEDURE
Line B — A procedure does not return a value, so RETURN is wrong here. It should OUTPUT the text. Its call is drawn with the subroutine symbol, with ShowMenu written inside.
Question 4
A Terminator: START
B Output: "1 Play, 2 Quit"
C Terminator: END
Line A — The separate flowchart for a subroutine begins with a terminator containing the subroutine's name, here ShowMenu. This matches the name written inside the subroutine symbol where it is called.
Question 5
A INPUT Score
B ShowGrade(Score)
C OUTPUT "Done"
Line B — A procedure is called with the keyword CALL. It should be 'CALL ShowGrade(Score)'. In a flowchart this call is drawn as a subroutine symbol with ShowGrade inside.

Student with a class code? Join your class →