Inputs and Outputs

⏱ 8 min✏️ Quiz at the end

In, Work, Out

Watch any computer, phone, or smart gadget long enough and you will see the same three-beat rhythm:

  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  INPUT  β”‚ ───► β”‚  PROCESS  β”‚ ───► β”‚  OUTPUT  β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   data goes in     work happens       result comes out

This is the input–process–output (IPO) model, and it describes almost every system ever built:

SystemInputProcessOutput
Calculator3, Γ—, 4multiply12 on screen
Music apptap on a songfind and decode the filesound from speaker
Thermostatroom temperaturecompare with targetheating on/off
Quiz websiteyour answercheck against correct answer"Correct!"

Input Devices, Output Devices

Input devices send data into the computer:

  • Keyboard β€” letters and numbers
  • Mouse / touchscreen β€” position and taps
  • Microphone β€” sound
  • Camera β€” images
  • Sensors β€” temperature, light, movement, GPS location

Output devices send results out to the world:

  • Screen β€” text and images
  • Speaker β€” sound
  • Printer β€” pages
  • Motors and lights β€” a robot arm moving, an LED turning on

A quick test for any device: which direction does the data flow? Into the computer = input. Out of the computer = output.

Input and Output in Algorithms

In pseudocode, two commands connect an algorithm to the outside world:

INPUT age            (read a value, store it in the variable age)
OUTPUT age + 1       (send a result out β€” display it)

Trace it: the user types 9 β†’ the variable age holds 9 β†’ the process works out 9 + 1 β†’ the output is 10.

In a flowchart, both input and output use the parallelogram symbol β€” data crossing the boundary of the algorithm, in either direction.

Worked Example β€” Smart Doorbell

A smart doorbell shows all three stages working together:

  1. Input β€” the motion sensor detects movement; the camera captures an image
  2. Process β€” the software decides: does this look like a person?
  3. Output β€” IF yes β†’ send an alert to the owner's phone

Notice the process step usually combines inputs with stored values (like a sensitivity setting). That is why the same input can produce different outputs on different days β€” the stored settings changed, not the rules.

Garbage In, Garbage Out

A famous computing saying: "garbage in, garbage out" (GIGO). An algorithm can be perfectly correct and still give a wrong answer β€” if the input was wrong.

Type your birthday wrong into a form and the site will calculate the wrong age, flawlessly. Good systems therefore check inputs before processing: is this date real? is this number sensible? When an answer looks wrong, debugging starts with the question: was the input right?

Validating Input Before It Causes Trouble

Because GIGO is such a reliable source of bugs, real systems add a checking step right after input arrives, before any processing happens:

INPUT age
IF age < 0 OR age > 120 THEN
    OUTPUT "That doesn't look like a valid age β€” try again"
ELSE
    (continue processing normally)
ENDIF

This is input validation, and it is one of the very first defensive habits professional programmers build. Notice that it is really just a condition guarding the input, the same IF structure from elsewhere in this course, now aimed specifically at catching nonsense before it can corrupt a result. This connects directly to the "erroneous data" category in testing programs: a well-tested program is one where somebody deliberately tried typing letters into a number field, or βˆ’1 into an age field, and confirmed the system responds sensibly rather than crashing or quietly producing garbage.

Worked Example β€” A Multi-Step IPO Chain

Real systems rarely stop at one round of input-process-output β€” the output of one stage often becomes the input to the next, chained together:

Input:    raw microphone audio
Process:  convert sound wave into text (speech recognition)
Output:   the recognised words, as text
             β”‚
             β–Ό (becomes the next stage's input)
Input:    the recognised text
Process:  work out what the user wants (search? play music? set a timer?)
Output:   an action, like "playing your song now"

A voice assistant is really two IPO cycles chained end to end, and larger systems can chain many more. Recognising this chained structure is useful decomposition: instead of one overwhelming "understand human speech and do the right thing" problem, it becomes two separate, more manageable input-process-output stages, each testable on its own.

Key Words

  • Input β€” data entering a system (from keyboards, sensors, clicks…)
  • Process β€” the work that turns inputs into results
  • Output β€” the result leaving a system (screens, speakers, motors…)
  • Sensor β€” an input device that measures the real world
  • GIGO β€” "garbage in, garbage out": wrong inputs produce wrong outputs

Questions & comments

Comments are public and are checked before they appear. Please don’t post your full name, email, phone number, school, or anything else that identifies you. How we use this.

Loading comments…

1000 characters left Β· links are not allowed