# 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.

Check the following algorithms and complete their trace tables. (Click on any cells of these tables to add content)
Algorithm #1Algorithm #2Algorithm #3Algorithm #4

```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
210
4True
51
69
4True

#### 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
25

#### 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
2FalseFalse
4False
6False
8
91
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
1012
11712
1712

Did you like this challenge?

Click on a star to rate it!

Average rating 2.6 / 5. Vote count: 1277

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

As you found this challenge interesting...