行動手順を言語化する能力
これからプログラムを理解したいと思ったあなたへ。
プログラムの仕方を覚える場合、何から手を付けたらよいか分からないという方も多いことでしょう。実際に目的もなく手段を覚えること自体が、とても難しいことなのは、義務教育課程で実感してきたことでしょう。
それでも「何かしたい!」と思ったからこそ、プログラムの仕方を覚えようと思ったはずですから、経験談でちょっとしたそのコツを書き記しておきます。
プログラム言語のすすめ
とりあえず、プログラム言語はなんでも良いのです。
実は、オススメなんてものはありません。ただその時々の流行り廃りがあるだけで、どの言語を覚えるかなんてことは、大した問題ではありません。単純に、実現したい目的に合っているプログラム言語を選べば良いだけのことなのです。
コンピュータの仕組み
さて、「コンピュータがどう動くのか?」ということへの理解が必要なのですが、これは難しく考えず「命令されたことを実行する」とだけ理解しておけば良いでしょう。
- 命令されていないことは、いたしません。
- あいまいな命令には、予想外の結果をもたらします。
- 間違った命令にも、逆らいません。
- 命令になっていない命令では、働きません。
なので、コンピュータに何かをさせたいときは、正しく命令すれば良いだけであって、その命令をプログラム言語で書くという、たったそれだけのことなのです。
そこで、目的を実現するための手順を考える能力が必要になります。これは難しくすれば、難しくなり、簡単にすれば、簡単なことなので、これまで見てきた中で、だいたいの人がつまづいてしまう部分なのですが・・・。
目的を実現するための手順
例えば、コンピュータに実行させるもっとも単純な手順のフローチャートを考えてみました。入力した値を表示するという目的では、あまりにも単純すぎだと思ったので、1から入力した値まで数えさせることにしてみました。これなら最低限の要素が含まれていることと、その後の応用にもつながると思います。

では、図のフローチャート(流れ図)の内容を補足してみます。
- 処理開始
プログラムには、必ず始まりがあります。
単純に目印です。 - 必要な変数を定義する
ほとんどのプログラムでは、何かしらの値を利用するはずなので、まずその入れ物になる「変数」を用意する必要があります。
今回は、数えるための「カウンター」と、入力された値を覚えておく「繰り返す回数」の二つを用意しました。
さらに、両方の変数の中身は、0で初期化しておきます。 - 繰り返す回数を入力させる
いくつまで繰り返すかその回数を、プログラムの利用者に入力してもらいます。
入力された値を繰り返す回数変数に収めます。 - カウンター変数が最大値になるまで繰り返す
カウンター変数の中身が、入力された繰り返す回数変数の中身と等しくなるまで、という条件で、処理を分岐させます。
条件を満たすまで5~6を繰り返し、条件が満たされれば、7へ進みます。 - カウンター変数に1加算する
カウンター変数の中身に1を足して累積します。 - カウンター変数を表示する
カウンター変数の中身を表示します。 - 処理終了
ものごとには始まりがあれば、終わりがあるものです。
処理開始と同じで、単純に目印です。
このフローチャートをプログラム言語に置き換えて実行し、繰り返す回数に「10」と入力された場合の結果は、1、2、3、4、5、6、7、8、9、10と、順に表示されることでしょう。
試しに、処理の5と6を入れ替えてみると、0、1、2、3、4、5、6、7、8、9と、表示されるようになります。繰り返す回数は同じですが、表示される結果が変わってしまいます。
このように手順の流れには、順番が重要であることをご理解ください。
さて、このフローチャートでは基本的なことのみを列挙しただけなので、これだけでは足りない部分が多々あります。その問題点を見つけるのもフローチャートを書く能力では欠かせない部分ですので、想像力を働かせて問題点を見つけてみてください。後日、足りない部分について記事にしてみようと思います。
このように、何かの行動を言葉に起こすこと自体に慣れていないと、なにか難しいことのように感じてしまいますが、これは普段の生活の中でも、何かをするときに手順を言語化してみるだけで、一円もかけずに練習ができます。「習うより慣れろ」と昔から言いますが、まさにその通り、こればかりは慣れです。
まぁそのおかげで、直感的な行動には鈍くなってしまいましたが・・・。