Identifying Errors (Cambridge (CIE) O Level Computer Science)
Revision Note
Identifying errors
Designing algorithms is a skill that must be developed and when designing algorithms, mistakes and issues will occur
Trace tables can also help to find any kind of error in a program or algorithm
There are three main categories of errors that when designing algorithms a programmer must be able to identify & fix, they are:
Syntax errors
Logic errors
Runtime errors
Syntax Errors
What is a syntax error?
A syntax error is an error that breaks the grammatical rules of a programming language and stops it from running
Examples of syntax errors are:
Typos and spelling errors
Missing or extra brackets or quotes
Misplaced or missing semicolons
Invalid variable or function names
Incorrect use of operators
Incorrectly nested loops & blocks of code
Python code - with syntax errors |
---|
""" Generates a username based on the provided first and last name. Inputs: first_name (str): User's first name. last_name (str): User's last name. Returns: str: A username combining initials and the first 3 characters of the last name. """
# ----------------------------------------------------------------------- # Prompts the user for personal information and displays a suggested username # -----------------------------------------------------------------------
# ------------------------------------------------------------------------ # Main program # ------------------------------------------------------------------------
|
Python code - without syntax errors |
""" Generates a username based on the provided first and last name. Inputs: first_name (str): User's first name. last_name (str): User's last name. Returns: str: A username combining initials and the first 3 characters of the last name. """
# ----------------------------------------------------------------------- # Prompts the user for personal information and displays a suggested username # -----------------------------------------------------------------------
# ------------------------------------------------------------------------ # Main program # ------------------------------------------------------------------------
|
Syntax errors |
|
Logic Errors
What is a logic error?
A logic error is where incorrect code is used that causes the program to run, but produces an incorrect output or result
Logic errors can be difficult to identify by the person who wrote the program, so one method of finding them is to use 'Trace Tables'
Examples of logic errors are:
Incorrect use of operators (< and >)
Logical operator confusion (AND for OR)
Looping one extra time
Indexing arrays incorrectly (arrays indexing starts from 0)
Using variables before they are assigned
Infinite loops
Python code |
---|
""" Calculates the area of a rectangle Inputs: length (float): The length of the rectangle (positive value) width (float): The width of the rectangle (positive value) Returns: float: The calculated area of the rectangle Raises: ValueError: If either length or width is non-positive """
# ----------------------------------------------------------------------- Prompts the user for rectangle dimensions and prints the calculated area # -----------------------------------------------------------------------
# Call the area calculation function
# ----------------------------------------------------------------------- # Main program # -----------------------------------------------------------------------
|
Logic errors
Test number | Test data | Expected outcome | Actual outcome | Changes needed? (Y/N) |
---|---|---|---|---|
1 | Length = 5 Width = 5 | "The area of the rectangle is approximately 25 square units." | "The area of the rectangle is approximately 25.00 square units." | N |
2 | Length = 10 Width = 0 | "Length and width must be positive values." | "The area of the rectangle is approximately 0.00 square units." | Y |
Logic error located on line
if length < 0 or width < 0:
Logic error identified in expression
< 0
, should be<= 0
so that 0 is not accepted as valid input for length or width
Runtime Errors
What is a runtime error?
A runtime error is where an error causes a program to crash
Examples of runtime errors are:
Dividing a number by 0
Index out of the range of an array
Unable to read or write a drive
Python code |
---|
""" Calculates the area of a rectangle Inputs: length (float): The length of the rectangle (positive value) width (float): The width of the rectangle (positive value) Returns: float: The calculated area of the rectangle Raises: ValueError: If either length or width is non-positive """
# ----------------------------------------------------------------------- Prompts the user for rectangle dimensions and prints the calculated area # -----------------------------------------------------------------------
# Call the area calculation function
# ----------------------------------------------------------------------- # Main program # -----------------------------------------------------------------------
|
Runtime errors
Test number | Test data | Expected outcome | Actual outcome | Changes needed? (Y/N) |
---|---|---|---|---|
1 | Length = 10 Width = 10 | "The area of the rectangle is approximately 100 square units." | "The area of the rectangle is approximately 100.00 square units." | N |
2 | Length = "abc" Width = 0 | "Program could not convert string to float, try again" | Program crashed | Y |
Runtime error located in
try:
length = float(input("Enter the length of the rectangle: "))
width = float(input("Enter the width of the rectangle: "))
# Call the area calculation function
area = calculate_area(length, width)
print(f"The area of the rectangle is approximately {area:.2f} square units.")
except ValueError as error:
print(f"Error: {error}")
Runtime error identified as missing iteration (while loop) so program does not ask user to enter width and height again
Corrected code now includes a while loop
while True:
try:
length = float(input("Enter the length of the rectangle: "))
width = float(input("Enter the width of the rectangle: "))
# Call the area calculation function
area = calculate_area(length, width)
print(f"The area of the rectangle is approximately {area:.2f} square units.")
break
# Exit the loop if successful
except ValueError as error:
print(f"Error: {error}")
print("Please enter positive values for length and width.")
You've read 0 of your 10 free revision notes
Unlock more, it's free!
Did this page help you?