← VCE Applied Computing U1O2

Writing an IPO chart for a program

A table with Input, Process and Output columns that lists what the user enters, the calculations and decisions the code makes, and the results or messages it displays.

Understanding Writing an IPO chart for a program in VCE Applied Computing U1O2

What it does: Multiplying the inputs price and quantity is a calculation, so it is written in the Process column of the IPO chart. Inputs are the values the user enters, usually gathered with input(). The average is calculated by the code, so it is a process (and later shown as an output). The decision (comparing the answer) is the process, but the messages displayed with print() are outputs. Keep each column to its own job. The input() call collects a value from the user, so it is listed in the Input column of the IPO chart.

Common mistakes: The requirement is to show the weekly pay, so the Output row must print pay (the result of the process), not the hours the user entered. It should be print(pay). An adult is someone aged 18 or over, so the decision must use >=. The broken line uses <=, which is true for people under 18.

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 8–88) and word search (Modules 8–124).

Take this worksheet further — free with Cloodit

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

Learning
Duo
A program asks for a student's name and two test marks, then shows their average. Which entry belongs in the Input column of the IPO chart?
Average of the two marksName, mark 1 and mark 2 entered by the user
Matches
Input column: total <- price * quantity
↓
A calculation has been placed in the Input column. It should be in the Process column, because Input only lists values the user enters.
Applying
Meanings
Term
IPO chart
Meaning
A table with Input, Process and Output columns that lists what the user enters, the calculations and decisions the code makes, and the results or messages it displays.
Practice
Input: mark <- input()
Testing
Gaps
age = ("Enter your age: ")
Check Answer
Spots
3Process: pay <- hours * 15
4Output: print(hours)

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

The 'Lion's Mane Jellyfish' badge — Set Operator, 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 program asks for a student's name and two test marks, then shows their average. Which entry belongs in the Input column of the IPO chart?
A. Average of the two marks
B. Name, mark 1 and mark 2 entered by the user ✓
Inputs are the values the user enters, usually gathered with input(). The average is calculated by the code, so it is a process (and later shown as an output).
2. In an IPO chart for a program that converts Celsius to Fahrenheit, where does 'multiply by 9/5 and add 32' go?
A. Process column ✓
B. Output column
Calculations and decisions the code makes belong in the Process column. The Output column lists only what is displayed.
3. A program uses print() to show 'Total cost: $45.00'. Which IPO column lists this?
A. Output ✓
B. Input
Anything displayed to the user with print() is an output. Input is what the user supplies.
4. Which Process entry is written correctly for a program that decides if a student passes?
A. If mark >= 50 then result is Pass, else result is Fail ✓
B. Ask the user to enter their mark
A decision such as an if-then-else check is a process. Asking the user to enter a value is an input step, not a process.
5. A requirement says: 'The program must display the total price including 10% GST.' Which IPO row matches this requirement?
A. Input: total price | Process: none | Output: price
B. Input: price | Process: price * 1.1 | Output: total price ✓
Each row should match a requirement. The price is entered, the code calculates the GST total, and the total is displayed. The wrong row mixes up the input and the output.

Match the Pairs

name <- input("Enter name: ") → An Input row in an IPO chart: the program asks the user to enter a name and stores it in a variable
print("Total: ", total) → An Output row in an IPO chart: the program displays a message and the result to the user
A Process row lists a calculation the program makes with the inputs → total <- price * quantity
A Process row can also record a decision the program makes → if mark >= 50 then result <- "Pass"
Input column: total <- price * quantity → A calculation has been placed in the Input column. It should be in the Process column, because Input only lists values the user enters.
Output column: ask the user for their age → Asking for a value is an input, not an output. It should be in the Input column, and Output should only list results or messages displayed.

Key Term

IPO chart
A table with Input, Process and Output columns that lists what the user enters, the calculations and decisions the code makes, and the results or messages it displays.

Fill in the Blanks

1. age = input("Enter your age: ")
Hint: Type the function that gathers a value from the user, which is the Input column of an IPO chart.
2. price = float(input("Price: ")) qty = int(input("Qty: ")) total = price * qty
Hint: Type the variable that holds the second value entered by the user, used in the Process calculation.
3. total = price * qty print("Total cost: ", total)
Hint: Type the variable holding the Process result so it can be shown in the Output column.
4. mark = int(input("Mark: ")) if mark >= 50: print("Pass")
Hint: Type the comparison operator for the decision in the Process column that checks for 50 or more.
5. name = input("Name: ") print("Hello, " + name)
Hint: Type the function that displays a message, which is the Output column of an IPO chart.

Spot the Error

Question 1
A Requirement: show weekly pay
B Input: hours = input()
C Process: pay <- hours * 15
D Output: print(hours)
Line D — The requirement is to show the weekly pay, so the Output row must print pay (the result of the process), not the hours the user entered. It should be print(pay).
Question 2
A Input: age = input()
B Process: adult <- age <= 18
C Output: print(adult)
Line B — An adult is someone aged 18 or over, so the decision must use >=. The broken line uses <=, which is true for people under 18.
Question 3
A Input: c = input()
B Process: f <- c * 5 / 9 + 32
C Output: print(f)
Line B — The Celsius to Fahrenheit calculation multiplies by 9/5, not 5/9. The Process row must hold the correct calculation: f <- c * 9 / 5 + 32.
Question 4
A Input: w, h, area
B Process: area <- w * h
C Output: print(area)
Line A — area is calculated in the Process row, so the user does not enter it. The Input row should only list the values the user enters: w, h.
Question 5
A Input: mark = input()
B Process: pass <- mark >= 50
C Output: print(passed)
Line C — The Output row must print a value that the Process row created. The process made pass, not passed, so it should be print(pass).

Student with a class code? Join your class →