← QCE Digital Solutions Unit 3

System controls

A mechanism, such as input validation, user feedback or access limits, that keeps a system's behaviour within what is intended.

Understanding System controls in QCE Digital Solutions Unit 3

What it does: The error message is feedback that guides the user back to valid input, keeping the system on track. The range check stops invalid marks entering the system, which is a type of input control. Controls limit or guide what a system does so it behaves as designed. Appearance is a design choice, not a control. Access limits restrict who can see or change data and which features they can use. Clear messages help users fix their input. The hidden admin menu is an access limit. Comparing the user's role to the allowed role is an access rule that limits what each user can do.

Common mistakes: The re-entered value is left as a string, so the range check on the next loop would crash or fail. It should be converted with int(input("Again: ")) so the input control keeps working. This access limit gives the wrong feedback. An admin should see "Access granted", and "Access denied" belongs in the else branch.

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 251–337) and word search (Modules 194–337).

Take this worksheet further — free with Cloodit

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

Learning
Duo
Which is an example of a system control?
A form that accepts any value typed inA form that rejects an age of -5
Matches
password = input() print("Welcome")
↓
No access limit: the program welcomes the user without checking the password, so anyone gets in
Applying
Meanings
Term
system control
Meaning
A mechanism, such as input validation, user feedback or access limits, that keeps a system's behaviour within what is intended.
Practice
def check_login(pin, tries):
Testing
Gaps
if age >= 0 age <= 120:
Check Answer
Spots
2while age < 0 or age > 120:
3 age = input("Again: ")

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

The 'Desert Jerboa' badge — High Jumper, 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 is an example of a system control?
A. A form that accepts any value typed in
B. A form that rejects an age of -5 ✓
An input control checks data before the system uses it, keeping behaviour within what is intended.
2. What is the main purpose of a system control?
A. Keep the system's behaviour within what is intended ✓
B. Make the system's screen look more colourful
Controls limit or guide what a system does so it behaves as designed. Appearance is a design choice, not a control.
3. A login screen only lets a student see their own marks. Which type of control is this?
A. Access limit ✓
B. Feedback
Access limits restrict who can see or change data and which features they can use.
4. A page shows 'Order saved!' after you press Submit. Which type of control is this?
A. Feedback ✓
B. Input control
Feedback tells the user what the system did, so they can correct or confirm their actions.
5. Which is an input control?
A. A progress bar that shows a file uploading
B. A range check that only accepts marks from 0 to 100 ✓
A range check stops invalid data entering the system. A progress bar is feedback.

Match the Pairs

if not age.isdigit(): → An input control: it checks the data type and rejects non-numeric input before the system uses it
if role != "admin": → An access limit: it stops users who are not administrators from reaching restricted actions
Feedback control: the system tells the user what happened so they can correct their action → print("Error: enter a number from 1 to 10")
Input control: reject values outside the allowed range → if mark < 0 or mark > 100:
password = input() print("Welcome") → No access limit: the program welcomes the user without checking the password, so anyone gets in
qty = int(input()) order(qty) → No input control: a non-number or a negative quantity is passed straight to the order, which can crash the system

Key Term

system control
A mechanism, such as input validation, user feedback or access limits, that keeps a system's behaviour within what is intended.

Fill in the Blanks

1. if age >= 0 and age <= 120: print("Valid age")
Hint: Type the Boolean operator that makes the range check pass only when both conditions are true.
2. value = input("Enter a number: ") while not value.isdigit(): value = input("Try again: ")
Hint: Type the keyword that reverses the check so the loop repeats while the input is invalid.
3. if score < 0: print("Score cannot be negative")
Hint: Type the built-in function that gives the user an error message as feedback.
4. if role != "admin": print("Access denied")
Hint: Type the comparison operator that is true when the user's role is not the permitted one.
5. attempts = 0 while attempts < 3: attempts += 1
Hint: Type the operator that adds to the counter, so the loop limits how many login attempts are allowed.

Spot the Error

Question 1
A age = int(input("Age: "))
B while age < 0 or age > 120:
C age = input("Again: ")
D print("Age saved")
Line C — The re-entered value is left as a string, so the range check on the next loop would crash or fail. It should be converted with int(input("Again: ")) so the input control keeps working.
Question 2
A role = "student"
B if role == "admin":
C print("Access denied")
D else:
E print("Access denied")
Line C — This access limit gives the wrong feedback. An admin should see "Access granted", and "Access denied" belongs in the else branch.
Question 3
A pw = input("Password: ")
B if len(pw) = 8:
C print("Password saved")
D else:
E print("Too short")
Line B — A single = assigns a value and is a syntax error in a condition. The length check needs a comparison operator: if len(pw) >= 8:
Question 4
A attempts = 3
B while attempts < 3:
C pin = input("PIN: ")
D attempts += 1
Line A — The attempts counter must start at 0. Starting at 3 means the loop never runs and the user is never asked for a PIN, so the access limit does nothing.
Question 5
A def check_qty(qty)
B if qty < 1 or qty > 10:
C return False
D return True
Line A — The def line is missing its colon. It should be def check_qty(qty): so this input control function is valid Python.

Student with a class code? Join your class →