トレース表の作り方を理解する

トレース表は疑似言語を手作業で実行するための表である。行番号、条件結果、変数値、配列の変更点を必要な粒度で記録する。

この単元で学ぶこと

  • 行番号列の意味と役割を説明できる
  • 条件列の意味と役割を説明できる
  • 変数列の意味と役割を説明できる
  • 疑似言語に合わせて必要な列を選び、行ごとの状態変化を正確に記録できる

本文解説

全変数を毎行書く必要はないが、制御フローや答えに影響する状態は残す。条件行はT/Fを記録し、代入行は更新後の値を書く。

行番号列 どの文を実行したかを記録する列。 PCの役割。

条件列 if/whileの真偽を記録する列。 分岐根拠を残す。

変数列 値が更新・参照される重要変数を記録する。 更新後の現在値を書く。

配列列 変更された要素や参照位置を必要に応じて記録する。 全配列を書き直すか差分で記録する。

出力列 printやreturnなど問題で問われる結果を記録する。 順序問題で有効。

問題で問われる値から逆算して列を作り、条件行と更新行を必ず残す。

iとsumを問うループなら、行番号・条件T/F・i・sumの4列で十分なことが多い。

図解

実用的なトレース表
行番号・条件・重要変数・出力を最小限の列で管理する。

重要ポイント

  • 行番号列: どの文を実行したかを記録する列。
  • 条件列: if/whileの真偽を記録する列。
  • 変数列: 値が更新・参照される重要変数を記録する。
  • 配列列: 変更された要素や参照位置を必要に応じて記録する。
  • トレース表は「全部書く」ためではなく「必要な状態を見失わない」ために作る。

間違えやすい点

  • 条件列を省略しない。
  • 更新前/更新後を混在させない。
  • 不要変数を増やし過ぎて表を読みづらくしない。

用語解説

行番号列
どの文を実行したかを記録する列。
条件列
if/whileの真偽を記録する列。
変数列
値が更新・参照される重要変数を記録する。
配列列
変更された要素や参照位置を必要に応じて記録する。
出力列
printやreturnなど問題で問われる結果を記録する。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。