第1章 アルゴリズム
- 新原 俊一
- 2024年12月16日
- 読了時間: 3分
更新日:1月23日
「プログラミングはコンピュータを動かすプログラムコードを書くことだ」といって、プログラム言語のことばかり気にしている人がいます。
「C#」か「C++」あるいは「Python」かと悩んでいます。
プログラミングとは、「アルゴリズムを構築し、それをプログラム言語で記述する」ことです。
つまり、大事なのは「アルゴリズム」で、プログラム言語はアルゴリズムをコンピュータに伝える手段です。
アルゴリズムが決まれば、業務用のプログラムなら「JAVA か C#」、組込み系なら「C か C++」、機械学習なら「Python」、ゲームなら「Ruby」と自ずとプログラム言語は絞られてきます。
では、アルゴリズムとは何でしょう。
「与えられた命題をコンピュータで実現するための具体的な手順」がアルゴリズムです。
例えば、「103と557の足し算をしなさい」という命題を見てみましょう。
103 + 557 = ???
この計算を暗算でするときどうしてますか?(数式を見てはダメですよ)
・・・
頭の中に「103」を思い浮かべて、次に「557」、一番下の位から足し算すると
103 103 103
+ 557 + 557 + 557
0 2桁目が1繰り上がり 60 そして3桁目は 660
こんな感じではないでしょうか。
コンピュータも似たような動きをします。
コンピュータにはデータを入れる便利な入れ物があります。
この入れ物を「変数」といいます。(後の章で詳しく説明します)
変数はたくさんありますので、例えば「変数1」には「103」を入れて、「変数2」には「557」を入れるといった具合に使います。
コンピュータが命令で動くのは知ってますよね。
この命令には多くの種類があります。
変数にデータを入れるときは「代入命令」を使います。
データというのは数字や文字のことで、ここでは「103」や「557」のことです。
(代入命令) 「変数1」に「103」を入れる
(代入命令) 「変数2」に「557」を入れる
となります。
次に、コンピュータに変数1と変数2を足し算しなさいという命令を出します。
これには「加算命令」を使います。
計算結果を保存するための「変数3」を用意し、代入命令と一緒に使います。
(加算命令)(代入命令) 「変数1」と「変数2」を足し算した結果を「変数3」に入れなさい。
最後に、計算結果を確認するためパソコンへ表示させます。
表示には「表示命令」を使います。
(表示命令) 「変数3」を表示しなさい
そのほか、プログラムを開始させる「プログラム開始命令」やプログラムを終了させる「プログラム終了命令」があります。
足し算のアルゴリズムはこうなります。

コンピュータは、一度に1つの命令しか実行できませんから、上から順番に①、②、③、④、⑤、⑥と命令を与えます。
④には2つの命令がありますが、コンピュータの心臓部に行き着くころにはもっと分解され、「加算命令」->「代入命令」の順になります。
パソコンの画面には「660」と表示されます。
もし、①、②、④、③、⑤、⑥の順で命令を与えたらどうなるでしょう。

結果は、「103」と表示されます。
④の計算時点で変数2には何も入っていないためです。
このように、コンピュータは、素直に命令の順番に沿って動いていきます。
何となくアルゴリズムを身近に感じませんか?
© 2024 OSA・LTD LLC