Using Trace Tables

A trace table is a technique used to test an algorithm and predict step by step how the computer will run the algorithm. It can be used to understand or predict what an algorithm is doing and to identify potential logic errors (when the program compiles but does not produce the expected output).

The animation below demonstrate the use of a trace table used to track the values of variables as they change while the program is running.

Using a trace table to test an algorithm is called dry run testing.

Your Task


Check the following algorithms and complete their trace tables. (Click on any cells of these tables to add content)

Algorithm #1 Algorithm #2 Algorithm #3 Algorithm #4

Algorithm #1: While Loop

i = 0 j = 10 WHILE i < j i = i + 1 j = j - 1 END WHILE OUTPUT(i) OUTPUT(j)

Trace Table

Line Numberiji < jOUTPUT
+ – 10
+ – 2 10
+ – 4 True
+ – 51
+ – 6 9
+ – 4 True
+ –

Algorithm #2: Factorial

number = 5 factorial = number WHILE number>2 number = number - 1 factorial = factorial * number END WHILE OUTPUT(factorial)

Trace Table

Line Numbernumberfactorialnumber > 2OUTPUT
+ – 15
+ – 2 5
+ –

Algorithm #3: Fizz-Buzz Sequence

FOR i FROM 1 TO 20 IF i MOD 3 == 0 AND i MOD 5 == 0 THEN OUTPUT "Fizz-Buzz" ELSE IF i MOD 3 == 0 THEN OUTPUT "Fizz" ELSE IF i MOD 5 == 0 THEN OUTPUT "Buzz" ELSE OUTPUT i END IF NEXT i OUTPUT("The End")

Trace Table

Line Numberii MOD 3 == 0i MOD 5 == 0OUTPUT
+ – 11
+ – 2 FalseFalse
+ – 4 False
+ – 6 False
+ – 8
+ – 9 1
+ – 12
+ –

Algorithm #4: Max Function

FUNCTION max(a, b) IF a>b THEN RETURN a ELSE RETURN b END IF END FUNCTION number1 = 7 number2 = 12 number3 = max(number1, number2) OUTPUT(number3)

Trace Table

Line Numbernumber1number2number3aba>bRETURNOUTPUT
+ – 97
+ – 10 12
+ – 11712
+ – 1 712
+ –

Did you like this challenge?

Click on a star to rate it!

Average rating 2.6 / 5. Vote count: 1308

No votes so far! Be the first to rate this post.

As you found this challenge interesting.

Follow us on social media!