Identify, Locate & Correct Program Errors (Edexcel GCSE Computer Science)
Revision Note
Written by: Robert Hampton
Reviewed by: James Woodhouse
How do you identify, locate & correct program errors?
In the exam students are expected to be able to:
Fix syntax errors in code
Use test data to identify run-time and logic errors which undetected would prevent code from functioning correctly
A level-based mark scheme for functionality awards marks for error-free, robust solutions
Examiner Tips and Tricks
Before working through the examples below, it is important you fully understand the different types of errors in programming. To revise them click here
Syntax Errors
Task
Locate the syntax errors and correct them so that the program works
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 & Runtime Errors
Task
Use suitable test data to identify and locate logic & runtime errors in the following program
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
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.")
Last updated:
You've read 0 of your 5 free revision notes this week
Sign up now. It’s free!
Did this page help you?