PRIMG0001
 今週から毎週金曜日、プログラミングのちょっとした講座を記していきたいと思います。
 なぜ、ここで「プログラミング」?と思う人も多いと思いますが、実は、プログラミング教育が小学校で必修化されました。小学校から「プログラミング」を学ぶわけですが、お父さん・お母さん・おじいちゃん・おねえちゃん、子供に「プログラミング」教えることができますか?
 そんな一つも分からない人のために、少しずつここで勉強していきましょう。なお、一気に勉強するわけではありません。少しずつちょっとずつ丁寧に毎週記載していきます。
 私はIT技術者でもSEでもなんでもありませんが、専門学校でSE専攻を卒業しました。当時はWindowsが発売される前で「オフコン」が中心で、それこそゼロの状態からプログラムを組んでいました。現在でもちょこっとしたプログラムは趣味で組んでいます。今は昔と違って便利になり、プログラムが組みやすくなっているのが現状です。
 それはさておき、まず、今回はプログラムについて基礎の基礎を勉強していきます。

1.プログラムは何者?

 「プログラム」と聞くだけで拒否反応を起こす人もいると思います。「プログラム」=「難しい」といった固定概念、まず捨ててください。「プログラム」は簡単に言うと、パソコンを動かすための「手法」です。現在使用しているWindowsやアプリケーションはすべて「プログラム」で動いています。「プログラム」は人間が作ったものです。他の人が作ることができて、自分が作れないわけがないと思ってください。人間が作ったプログラムでいろいろな処理を行うことができるのです。

 この「プログラム」について魔法の言葉と思う人も多いと思いますが、魔法の言葉でもなんでもありません。プログラムは頭がいいようで、じつは「バカ」なんです。えっ?と思う人も多いと思いますが、プログラムの命令は「単純」なことしかしないのです。難しいことはひとつも行いません。これから少しずつ学ぶ訳ですが、学んでいるうちにこの「単純」という意味が少しづつ分かってきます。これから焦らずゆっくりと学んでいきましょう。


2.単純の組み合わせで頭がよくなる。
 先ほど「プログラムは単純」と言いましたが、この単純のことを組み合わせで少しつづ頭がよくなってくるのです。
 プログラムを組むにあたり、まず基本として「動作をひとつひとつ分解していかなければならない」ということを頭においてください。いわゆる「パズルの組み合わせ」です。パズルの場合、ピースひとつひとつが変な絵となっていますが、組み合わせるとすばらしい絵が出来上がりますよね。これと同じです。組み合わせ方によっていろいろな動作ができるわけです。私の専門学校時代に一番最初にこの「プログラムを組むことはパズルの組み合わせと同じ」ということを一番最初にいわれました。そう思うことによってプログラムを組むことが楽しく感じるようになります。


3.単純だから、命令しか従わない。
 プログラムは打ち込んだ命令しか行いません。それ以外のことは一切やってくれません。血も涙もないドライなものです。ただし、命令し続けるとその通り動いてくれます。命令次第では非常に高度なこともやってくれます。


4.プログラムは一方通行。
 プログラムというのは基本的に一方通行、つまり上から順番に下へと処理していきます。上の方で処理したものはすでに「忘却の彼方」忘れさられてしまいます。コンピュータというのは基本的に「鳥の頭」です。「鳥の頭」という言葉、昔の人は分かっていると思いますが、その場の記憶しかない、過去の記憶はすっかり忘れるといった言葉のたとえです。コンピュータは処理が終わったらあとはじーーっと黙っています。


5.以上のことをまずは覚えておこう。
 このように、プログラムは非常に難しいようで、簡単な作業の積み重ねの集合体と思ってください。これを踏まえて、来週から少しづつ基本に入っていきたいと思います。
 
6.これからプログラムを覚えるためにちょっとした訓練

 プログラムを組むに当たり、まずはちょっとした訓練をおこなってください。何の訓練かと言いますと、自分の普段の行動を分解してみる訓練です。

 例えば、カップラーメンを食べるといった行動ですが、これをプログラムを組むと想定した場合、こんな分解行動になります。

 1.カップラーメンの外のフィルムをはがす。
 2.カップラーメンの蓋を開ける。
 3.中からかやくを取り出す。
 4.中からスープの袋を取り出す
 4.かやくの袋を破る。
 5.かやくを中に入れる。
 6.スープが先入れか後入れか確認する。
 7.先入れの場合、
   7.1スープの袋を開ける
   7.2スープを入れる
  後入れの場合、何もしない
 8.やかんの蓋を開ける。
 9.やかんに水を入れる。
 10.やかんの蓋をしめる。
 11.やかんをコンロに置く。
 12.お湯を沸かす。
 13.お湯が沸くまで待つ(ウェイト)。
 14.やかんがピーとなったらガスを止める。
 15やかんをカップラーメンの場所に移動する。
 16.お湯をそそぐ
 17.カップラーメンの蓋をしめる
 18.時計を見る。
 19.3分後の時間を計算する。
 20.時間まで待つ。
 21.時間になったらカップラーメンの蓋をあける。
 22.スープが先入だった場合、
   入れたから何もしない
  後入れの場合、
   22.1スープの袋を開ける
   22.2スープを入れる
 20.割りばしを持つ
 21.食べる
 22.終了

 といったように普段の行動のなんの行動でも良いです。このように一つの動作動作を分解していくのです。このように文書などに打ち込んでみて自分なりに考えて細かく分解してみてください。この考えがプログラムの基礎となります。これが出来るかどうかによってプログラムの完成度が決まってきます。まずは基本中の基本です。これから学ぶためには、まずこのことをいっぱいやってみてください。