スポンサードリンク

 

アルゴリズムの勉強方とは

画像その1

プログラムはコンピュータへの命令を順番どおりに綴ったもの。例えば、デスクトップにあるとあるファイルの中身を表示したいならば、

1)デスクトップのファイルを開け。
2)ファイルの中身を読み込め。
3)読み込んだ内容を表示しろ。
4)開いたファイルを閉じろ。
5)プログラムを終了しろ。

といった一連の命令を綴る。

では、アルゴリズムとは何か?

この一連の命令の順番と考えていいだろう。

上記のプログラムは大変単純なものだが、実際にこのプログラムを作るとすれば、

「もしデスクトップに指定したファイルが存在しない場合はどうするか」

「もしファイルの中身の量が膨大で全て読み込むにはメモリが足りない場合どうするか」などの、いわゆるエラー処理も考えなくてはいけない。

アルゴリズムの勉強法で有効なのは、「もし〜ならば」を先に考える癖をつけることだ。それを踏まえて上記のプログラムを書くとすると、

1)デスクトップのファイルを開け。
2)ファイルを開くことに成功したら4へ行け。
3)ファイルを開くことに失敗したら「ファイルが開けません」と表示しろ。
4)ファイルの中身を読み込め。
5)正しく読み込めたら、7へ行け。
6)正しく読み込めなかったら、「読み込めませんでした」と表示しろ。
7)読み込んだ内容を表示しろ。
8)開いたファイルを閉じろ。
9)プログラムを終了しろ。

といった具合になる(実際にはオブジェクト指向で組むので、上記の例はすごく古い書き方だが)。コンピュータは自分で考えて行動しないので、全て命令しなくてはならない。

また、アルゴリズムの勉強法でわかりやすいのは、ゲームの動きを考えることだ。

例えばシューティングゲームだと、ステージが進むにつれ敵もどんどん強くなる。これも「ステージが○○まですすんだら○○の敵をだせ」というアルゴリズムが関わっている。

実際にプログラムを組むと、アルゴリズムを意識しなくても書ける事は書ける。しかし、プログラムを組む前にしっかりアルゴリズムの仕様を書き出し、それに沿ってプログラムを書くことが、アルゴリズムの勉強法で効果的だ。