Types of Errors (AQA GCSE Computer Science): Revision Note
Exam code: 8525
Designing algorithms is a skill that must be developed and when designing algorithms, mistakes will be made
There are two main types of errors that when designing algorithms a programmer must be able to identify & fix, they are:
Syntax errors
Logic errors
Syntax & Logic 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
Examples
Syntax Errors | Corrected |
---|---|
|
|
|
|
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
Example
An algorithm is written to take as input the number of miles travelled. The algorithm works out how much this will cost, with each mile costing £0.30 in petrol. If this is greater than £10.00 then it is reduced by 10%.
Logic errors | Corrected |
|
|
Commentary | |
|
Identify & Categorise Errors
How can you identify and categorise errors?
As a result of a syntax error breaking the rules of the programming language, the program will not execute
These are easily identifiable as the IDE will provide information about what the error is
This is done to help the programmer be able to fix the issue
To help practise this skill, a selection of program screenshots will be used
The errors
In the code below, there is a program which allows the user to enter how many items they wish to add to a shopping list
The code then allows the user to
Enter their chosen number of items into a list
Output the list to the screen
The code contains 3 syntax errors, highlighted with blue boxes

Error 1
Line 3: Missing a second bracket at the end of integer input
The error message below is what the IDE provided to help the programmer identify the error
A top tip when programming is to look at the line of code above the one given in the error message
For example, this error message claims line 6 is the issue, however, the code above line 6 (line 3) is the line that contains the error

Error 2
Line 6: Missing a colon at the end of a for loop, while loop or if statement
As mentioned earlier, the error message identifies the line after the actual error
The error is on line 6, however, the syntax error message identifies the line below it
Always check the line above for any potential errors

Error 3
Line 7: Using == which is used for a comparison instead of a single = to declare a variable
This would return the same error as above, this time the user would more easily be able to identify the issue as it is on line 7

The fix
Once all fixes are in place, the code should appear as follows and the program should execute as intended


Identifying logic errors
Logic errors can be more challenging to locate compared to syntax errors
This is because the program will still run but will not produce the expected output that the programmer intended
The most obvious areas to check for logic errors are:
Logical operators (<, >, ==, !=)
Boolean operators (AND, OR, NOT)
Division by 0
To help demonstrate this skill, another snippet of program code is used

In this example, the incorrect Boolean operator has been used, OR instead of AND
The result means the else clause in the if statement would never be caught

At first glance, entering normal test data such as 14, the program works as intended
Entering erroneous data or boundary test data which is outside of the range would result in the error
When entering the age of 21, it still outputs that the user is in secondary school

By changing the OR to AND, this corrects the logic error


Worked Example
Nine players take part in a competition, their scores are stored in an array. The array is named scores and the index represents the player
Array scores
Index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
Score | 7 | 9 | 2 | 11 | 8 | 4 | 13 | 10 | 5 |
The following program counts the total score of all the players
for x = 1 to 8
total = 0
total = total + scores[x]
next x
print(total)
When tested, the program is found to contain two logic errors.
Describe how the program can be refined to remove these logic errors [2]
How to answer this question
A common logic error if an algorithm contains a loop is checking it loops the correct amount of times, how many times should this algorithm loop?
Answer
For loop changed to include 0
total = 0 moved to before loop starts
Guidance
Moving total outside the loop is not enough, it could be moved after the loop which would still be a logic error)
Corrected code accepted
total = 0
for x = 0 to 8
total = total + scores[x]
next x
print(total)
You've read 0 of your 5 free revision notes this week
Unlock more, it's free!
Did this page help you?