トレース表とは

とれーすひょう

プログラムを1行ずつ実行したものとして、変数の値の変化を表に書き出したもの。繰返しの回数や最終的な値を確かめたり、誤りの場所を見つけたりするのに使う。紙の上で行うので机上トレースともいう。

「トレース表」は、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回と終了の条件は、オフバイワンエラーを避けるために必ず確かめます。

解説の中の「トレース表」

「トレース表」が出てくる問題(1問)

  1. x を3倍することを繰り返す次のプログラムを実行した後の n の値はどれか。

プログラミングの基礎(擬似言語のトレース)の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

オブジェクト指向 オフバイワンエラー 擬似言語 剰余演算 制御構造 整数除算 短絡評価 配列 引数 ビット演算

用語集の一覧へ