今回はアルゴリズムのトレース手順について紹介します。

トレース(trace)は足跡を意味する言葉です。コンピュータ用語だけでもいろいろな意味がありますが、本記事では「プログラムの処理を机上で追う」という意味で使用します。

本記事で紹介するトレース方法は以下の2つです。

・アルゴリズムをプログラムに起こしてトレースする方法
・机上でのアルゴリズムトレース方法

アルゴリズムのトレースを練習する場合、まずは実際に動かしてみるのがオススメです。
机上でやる場合も実際にプログラムを書いて答え合わせをしましょう。

アルゴリズムをプログラムに起こしてトレースする方法

プログラムを書く

最初はアルゴリズムをプログラムに起こしてトレースするのがオススメです。

プログラムが動くイメージがないまま机上で追うのはなかなか難しいと思います。

私が最初にアルゴリズムを学ぼうとした時にいきなり机上から追おうとしたが全然ダメでした。動くイメージがないとなぜこれで動くのかっていうのがしっくり来ないんですよね。

まずはアルゴリズムを実際にプログラムとして書いて動かしてみましょう。
言語は何でもOKです。(アルゴリズムを再現できるものを選ぶ必要はあります)

どの言語がいいかわからない場合は比較的簡単に始められるPythonがオススメ。
Pythonの始め方は「Pythonプログラミングの始め方まとめ」をお読みください。

最初から難しいアルゴリズムをやろうとしても動かない可能性があるのでまずは簡単なアルゴリズムから始めるのがオススメです。
実際にプログラムを書いてアルゴリズムをトレースする手順は以下の通りです。

1.実際にプログラムを書く
2.動作確認をする
3.ソースコードを印刷する
4.print文やステップ実行などを駆使して1行ずつ値の変化をチェック
5.値を確認したら紙に値を書き込む

1回だけではなく値を変えて何回も追ってみましょう。

ループ文の場合は値の変化をチェックします。全ループ見る必要はないですが、一定間隔でチェックすると良いでしょう。
判定文の場合は真偽両方の値の変化をチェックします。

その他気づいた点やいまいち動作が理解できなかった点があればメモします。
理解できなかった点については参考書やネットで調べて復習しておきましょう。

情報処理試験の過去問を解く場合もアルゴリズムは実際にプログラムを書くのがオススメです。
アルゴリズムを再現する際は正解の選択肢だけではなく間違いの選択肢も入れてみましょう。

過去問の解説を読むだけだと、モヤモヤが抜けない場合も多いと思います。

実際に動かしてみることで、
「なぜこの選択肢ではダメなのか?」
ということが理解しやすくなります。

机上でのアルゴリズムトレース方法

机上確認
実際に動かしての慣れてきたら机上トレースの練習しましょう。
こちらも最初は条件分岐などのない簡単なアルゴリズムから始めるのがオススメです。

机上でアルゴリズムをトレースする手順は以下の通り。
1.アルゴリズムを印刷する
2.1行ずつ値の変化を書き込む
3.実際にプログラムを書く
4.机上で追った値と実際の動作を比較

値を変えて何回かトレースしてみましょう。

手順4でミスが見つかったら、
・どこで間違えたのか
・何を間違えたのか
の2点を明確にして紙に書き込みます。その他気づいた点があればそれもメモです。

間違えた点については参考書を読み返して復習しておきましょう。

終わりに

最初から机上でトレースを行おうと思うと手が止まりやすいと思います。
なのでまずは実際にプログラムを動かしながら処理を追う練習をするのがオススメです。

情報処理の試験を解くときも実際にプログラムを書いて動かしてみると良いですよ。
なぜこの選択肢が正解で他の選択肢が間違いなのかということが理解しやすいと思います。

机上で追う場合も実際にプログラムに起こして答え合わせをするのがオススメです。
トレースした時に気づいた点はどんどんメモして今後の改善に役立てましょう。

関連記事>>アルゴリズムをPythonで勉強しよう〜実践編〜

プログラミングのスキルアップ方法まとめ>>プログラミングのスキルアップ方法まとめ