추적 테이블
추적 테이블(trace table)은 (알고리즘이 이 과정 중에 논리적 에러가 발생하는지를 확인하는 방식으로) 알고리즘 테스트에 사용된다. 이 테이블은 보통 다중 행렬 형식을 갖는다. 각 열은 변수를, 행은 알고리즘에 입력되는 각 숫자와 그 차후 값을 보여준다.
추적 테이블들은 일반적으로 학생들에게 프로그래밍을 가르칠 때 사용된다. 학생들에게 특정한 알고리즘이 어떻게 동작하고 알고리즘 실행 시의 거기에 대칭하는 프로세스를 가르치는데 필수적인 도구이다. 또한 응용 프로그램을 디버깅할 때 프로그래머가 어떤 에러가 왜 발생했는지를 쉽게 찾을 수 있도록 도와준다.
예시 편집
int i, x = 0;
for (i = 1; i <= 10; i++) {
x = i * 2;
}
i | x |
---|---|
? | 0 |
1 | 2 |
2 | 4 |
3 | 6 |
4 | 8 |
5 | 10 |
6 | 12 |
7 | 14 |
8 | 16 |
9 | 18 |
10 | 20 |
11 | 20 |
이 예시는 알고리즘 과정 중 거기에 대칭하는 프로세스의 진행을 보여준다. x
의 첫 값은 0이고 i
는 정의되었지만 아직 값을 갖지 않으므로 처음 값은 모르는 상태다. 각 행씩 실행하다 보면 실행중인 소스 코드의 선언을 반영하여 i
와 x
의 값이 바뀐다. 새롭게 바뀌는 값들은 추적 테이블에 저장된다.
같이 보기 편집
각주 편집
- http://www.comscigate.com/tutorial/KjellStyle/WilliamChen/trace1.html
- https://web.archive.org/web/20060114171149/http://www.thevickerage.worldonline.co.uk/theteacher/alevel/assem/assem5.htm (Currently unavailable)
- https://web.archive.org/web/20070829175413/http://portal.newman.wa.edu.au/technology/12infsys/html/KWH2003/TraceTables.htm (Currently unavailable)