트레이스 표(Trace Table)란?

프로그램을 1행씩 실행한 것으로 보고, 변수 값의 변화를 표에 적어 낸 것. 반복 횟수나 최종 값을 확인하거나 오류 위치를 찾는 데 사용한다. 종이 위에서 하므로 데스크 체킹(탁상 트레이스)이라고도 한다.

일본어 명칭: トレース表

트레이스 표(Trace Table)은(는) 프로그래밍의 기초(의사 코드 트레이스) 등 1개 분야의 연습 문제 1개에 나와요.

분야: 프로그래밍의 기초(의사 코드 트레이스)

트레이스 표 만드는 법

열에 변수와 조건식의 참·거짓을 늘어놓고, 실행한 순서대로 1행씩 값을 적어 넣습니다. 예를 들어 x ← 1에서 시작하여 while (x < 100)인 동안 x ← x × 3을 반복하는 프로그램이라면, x의 열은 1, 3, 9, 27, 81, 243으로 바뀌고 6번째 판정에서 조건이 거짓이 됩니다. 값이 바뀐 변수만 적어 넣으면 표가 보기 쉬워집니다.

틀리기 쉬운 곳

트레이스에서 놓치기 쉬운 것은 반복의 처음과 마지막입니다. for의 종료값을 포함하는지, while의 조건을 언제 판정하는지, 배열의 인덱스가 1부터 시작하는지 0부터 시작하는지를 확인합니다. 대입은 위에서부터 차례로 이루어지므로, x ← y 다음의 y ← x에서는 원래 x의 값이 사라졌다는 점에도 주의합니다.

재귀 호출의 트레이스

재귀 호출에서는 호출할 때마다 인수와 지역 변수의 조가 따로 만들어집니다. 호출을 트리 형태로 쓰고 각 호출의 인수와 반환값을 노드에 적어 넣으면, 호출 횟수나 반환값을 세기 쉬워집니다. 값을 출력하는 것이 재귀 호출 전인지 후인지에 따라 출력 순서가 바뀌는 것도 트리로 확인할 수 있습니다.

자주 묻는 질문

트레이스와 디버거의 단계 실행은 무엇이 다른가요?

둘 다 1행씩 동작을 따라가지만, 트레이스 표는 사람이 종이 위에서 하고 디버거는 실제로 프로그램을 멈추면서 실행합니다. 시험에서는 실행 환경이 없으므로 트레이스 표로 확인하는 능력이 필요합니다.

긴 반복도 모두 트레이스해야 하나요?

처음 몇 번을 트레이스하여 값이 바뀌는 규칙을 찾으면, 나머지는 계산으로 구할 수 있는 경우가 많습니다. 다만 마지막 1회와 종료 조건은 오프 바이 원 오류를 피하기 위해 반드시 확인합니다.

해설 속 트레이스 표(Trace Table)

트레이스 표(Trace Table)이(가) 나오는 문제 (1)

  1. x를 3배 하는 것을 반복하는 다음 프로그램을 실행한 후의 n의 값은?

관련 용어

객체 지향(Object-oriented Programming) 나머지 연산(Modulo Operation) 단락 평가(Short-circuit Evaluation) 반올림 오차(Rounding Error) 반환값(Return Value) 배열(Array) 변수(Variable) 비트 연산(Bitwise Operation) 오프 바이 원 오류(Off-by-one Error) 의사 코드(Pseudocode)

용어집으로 돌아가기