Tracing Algorithms
What is a trace table?
- A trace table is used to trace through an algorithm and to test algorithms and programs for logic errors that appear when an algorithm or program executes
- Trace tables can be used with flowcharts, pseudocode or program code
- A trace table can be used to:
- Discover the purpose of an algorithm by showing output data and intermediary steps
- Record the state of the algorithm at each step or iteration
- Each stage of the algorithm is executed step by step.
- Inputs, outputs, variables and processes can be checked for the correct value when the stage is completed
Trace table walkthrough
- Below is a flowchart to determine the highest number of ten user-entered numbers
- The algorithm prompts the user to enter the first number which automatically becomes the highest number entered
- The user is then prompted to enter nine more numbers.
- If a new number is higher than an older number then it is replaced
- Once all ten numbers are entered, the algorithm outputs which number was the highest
- Example test data to be used is: 4, 3, 7, 1, 8, 3, 6, 9, 12, 10
Trace table: Highest number |
|||
Count |
Highest |
Number |
Output |
1 |
Enter ten numbers |
||
4 |
Enter your first number |
||
2 |
3 |
Enter your next number |
|
3 |
7 |
7 |
|
4 |
1 |
||
5 |
8 |
8 |
|
6 |
3 |
||
7 |
6 |
||
8 |
9 |
9 |
|
9 |
12 |
12 |
|
10 |
10 |
12 is your highest number |
Worked example
01 | X = 5 |
02 | Y = 3 |
03 | while X > 0 |
04 | Y = Y + 6 |
05 | X = X - 1 |
06 | print (Y) |
Complete the following trace table for the given algorithm, the first two lines have been filled in for you
Line number | X | Y | |
01 | 5 | ||
02 | 3 | ||
Answer
Line number | X | Y | |
01 | 5 | ||
02 | 3 | ||
04 | 9 | ||
05 | 4 | ||
04 | 15 | ||
05 | 3 | ||
04 | 21 | ||
05 | 2 | ||
04 | 27 | ||
05 | 1 | ||
04 | 33 | ||
05 | 0 | ||
06 | 33 |