트레이스 표(Trace Table)란?
프로그램을 1행씩 실행한 것으로 보고, 변수 값의 변화를 표에 적어 낸 것. 반복 횟수나 최종 값을 확인하거나 오류 위치를 찾는 데 사용한다. 종이 위에서 하므로 데스크 체킹(탁상 트레이스)이라고도 한다.
일본어 명칭: トレース表
트레이스 표(Trace Table)은(는) 프로그래밍의 기초(의사 코드 트레이스) 등 1개 분야의 연습 문제 1개에 나와요.
프로그램을 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회와 종료 조건은 오프 바이 원 오류를 피하기 위해 반드시 확인합니다.
x와 n의 값을 트레이스 표에 적어 보면, 반복할 때마다 x는 3, 9, 27, 81, 243으로 바뀌고 n은 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)