要約
コンピュータは、前世紀から急速に発達してきました。人間は、コンピュータの能力を欲しています。昔はコンピュータとは、科学者など限られたひとにしか扱えないものでした。ところがいまはどうでしょう。科学者はもとより、一般のひとが当たり前にコンピュータを使っています。パソコンにスマホは、もはや日常生活に欠かせない技術となっています。そこで、コンピュータについての、知っておいたほうがいい知識をまとめてみました。
コンピュータは、順次・分岐・反復という作業を得意とする。
「順次」
コンピュータというものは、基本的に人間が書いた命令を実行する。ボタンが押されたら決まった行動をし、決められた計算を、命令通りに実行する。コンピュータとは、そういうものだ。
さて「順次」とは、「人間が書いた命令を、上から下へ順番通りに実行する」ということだ。これはものすごく単純なことに見えたり聞こえたりするかもしれない。しかし、もしコンピュータがトラブルを起こしたとき、人間は命令を書き直さなければならないが、そのとき人間は、自身が書いた命令を上から下に順番を辿って確かめさえすればよいのだ。なぜなら、コンピュータは上から下へ順番通りに実行しているのだから! だからもしあなたがコンピュータのトラブルに巻き込まれたとき最初にすべきことは、あなたがコンピュータに与えた命令を辿ってみることである。
「分岐」
次に分岐について話そう。
コンピュータに関する分岐とは、しばしば「条件分岐」と呼ばれる。これをもっと詳しく述べると、「もし、…という操作を行なったら、…という処理を実行するように命令する」ということだ。
例えば、AというボタンとBというボタンがあるとしよう。そこで人間がコンピュータにする条件分岐とは、例えば「もしAボタンを押したら、キャラクタをジャンプさせる」とか、「もしBボタンを押し続けて且つ方向キーを押していたら、その方向にキャラクタを素早く動かす」ということが挙げられる。他の条件としては、「もしAボタンとBボタンを同時に押したら…」とか「もしAボタンを3秒以上押し続けたら…」などなど。
そこでもしあなたがコンピュータのトラブルに巻き込まれたときに次にすべきことは、コンピュータに課した条件を見直してみることである。
「反復」
最後は、反復についてである。
反復は、プログラミング言語などコンピュータを応用する分野に入らないと、あまり見ることがないのかもしれない。だが基本的には「反復」とは、「ある決まった処理を、決まった回数繰り返す、または条件を満たすまで繰り返す」ということだ。人間であったら繰り返しの作業で飽きてしまうところを、コンピュータは何の文句をもいわずに同じ処理を繰り返すのだ。その意味で、コンピュータは従順である。
ここでもし、繰り返しをやめる条件をつけなかったらどうなるだろうか? 答えは、コンピュータは永遠に同じ処理を繰り返すだけである! これはよく「無限ループ」と言われる。私たちが一般のアプリを使ったりインターネットをしたりする場合には、無限ループとは無縁かもしれない。しかしコンピュータの奥深いところを見ると、実にたくさんの命令でコンピュータは動いているのである。
あなたは、コンピュータに正しい命令をしなければならない。もっと平たく言うのなら、あなたはコンピュータを正しく使わなければならない。
まとめると、コンピュータと共生していくために必要なことは、作業の手順をはっきりとまとめ(順次)、あなたがコンピュータに何の条件をコンピュータに課した(分岐)のか記録しておくことだ。
とはいうものの、実際にはどういうことをすればよいのだろうか。そのために「アルゴリズム」というものがある。
アルゴリズムとは?
アルゴリズムとは、「問題を解決したり目標を達成したりするための計算方法や処理方法のこと」をいう。もともとコンピュータによるプログラミング分野で用いられた言葉で、大量のデータを高速に処理するために、プログラムへ組み込んだ一定の計算手順や処理方法をアルゴリズムと呼んでいる。
「アルゴリズム」の語源は?
中世の中東の数学者であったアル・フワーリズミーの名前から。数学者の名前から派生したということでも分かるとおり、アルゴリズムは数学と密接にかかわっている。
なぜアルゴリズム?
あなたはこう思うかもしれない。「いきなり難しい話を持ち出して何のつもり?」、「数学は苦手だから、そういう話は無理」、「アルゴリズムが結局なんの役に立つの?」などなど。近年、コンピュータがかなり普及してきている。昔より多くのひとがコンピュータに触れることが多くなっていくなかで、当然のことながらコンピュータを正しく使うことが求められる。正しく使うためには、コンピュータの仕組みをある程度理解しておかなくてはならない。そのコンピュータの仕組みとは、そうだ! 上で説明した「順次」、「分岐」、「反復」の三つである! そこで、コンピュータを使うならば、頭に残しておきたい考え方を記そう。
アルゴリズムの方法とは?
ものごとを順序良く、より効率的に行なうためには、作業の流れを把握しておくことが大事だ。ここでは、アルゴリズムにおいて重要な、フローチャートについて述べたいと思う。
図形を矢印でつないで、フローチャートを完成させる。
「端子」には、行ないたい作業のきっかけや、そもそも始めに何をしたいか明記させる。
「処理」には、具体的に何をするか、作業や処理の種類を端的に書く。
「分岐」からは、複数の矢印が出る。条件を満たした場合の処理へ向かう矢印と、条件を満たしていない場合の処理へと向かう矢印だ。
「反復」は、何度も繰り返す処理名を記す。
フローチャートを活かし、ものごとをより効率的にこなすための試みを行なおう。例えばホワイトボードなどにフローチャートを描き、仲間と共有できるようにしてみよう。そうすれば、あなたはものごとのアルゴリズムを組んだことになるだろう。