8.PADというもの
 当サイトでは、手順を組み立てるときにPADという表現方法(図)を使いました。初めて見た人も多いと思います。なにせ、かなりマイナー(だと思う)なので(汗)。なぜなら、「ねぇ、PADって知ってる?」、「えっ?それ何?」ってのがほとんど。なんでこんなに良い物なのに一般に浸透してないんだろうってことが疑問です。

 でも、もしかするとオレが出会った人々が偶然PADを知らないだけで、実はメジャーだったりするかもしれないな。だって、本当に便利だよPADって。オレがプログラミングをするとき、頭の中ではPADで考えてるぐらいだからね。というわけで、PADがなぜ優れているか、Invitation for Beginnerの最後にちょっとだけ話したいと思います。

 で、またまた「ゴメンなさい」なのですが…PADの使い方や詳しい解説などを期待した方々、ほんとーにゴメンなさい。ここは、なんでPADが優れているかという話なのです。なんだか、期待させてばかりで申し訳ないねぇ。

 それよりも、どこでPADを覚えたかって?昔々、オレがまだ若かった頃に学校で習いました。
フローチャート
 まずは、こっちです。手順を図にするときに使われる最も一般的な表現方法です。学校の勉強などでも出てきます。

 一般的な表現方法なのですが、フローチャートには大きな欠点があります。まず、同じ手順を書いても書く人によっていろいろなものが出来てしまうという点。なにしろ、線を横に引こうが縦に引こうが、上に進もうが、下に進もうが、基本的に自由なのですフローチャートは。まぁ、これは標準規約(お約束)を決めておけば、ある程度は解消できるでしょう。

 しかし最も痛いところは、フローチャートというものが、あくまで流れを書く物であるという性質上、フローチャートで書いた手順は実際のプログラムとは遠く、プログラムにするときにプログラムに翻訳するのような作業が必要になってしまうことです。
 フローチャートを作るときに一生懸命手順を考えて、やっと出来上がったと思ったら今度はプログラムにするときに、また手順を考える(というよりプログラムに翻訳する)なんてことはしたくないでしょ?

 しかも、物によっては「こんなの、どうやってプログラムにしたらいいんだ?」と、思わず脳ミソがパンクしてしまいそうなフローチャートが出来上がってしまうことすらあります。
 早い話が、フローチャートを作ることとプログラミングすることは全く別な作業(別な思考)なのです。疲れますね、これじゃ…。

 あと、これはたいした問題じゃないのですが、使う記号がやたらと多いです。まぁ、必ず全部使うとは限りませんがね。
PAD(Problem Analysis Diagram)
 PADは某有名メーカーから生まれた物です。ちなみに、その某有名メーカーの担当者の方、社名書いて良いときはHappy!Happy!Islandまでご一報下さいな。

 PADというものは、フローチャートと違って規則があります。必ず、上から下へ左から右へ、と書きます。フローチャートのように矢印を引きずり回して上に進むなんて荒技は絶対不可です。てゆーか、そういうことはやらないでください(笑)

 規則があるということは、誰が作ってもほぼ似たような図が出来上がります。しかも、PADで書いた手順をプログラムへ翻訳するときの脳ミソがパンクするほどの悩みはありません。なぜかというと、PADを書いた時点でプログラムとほとんど同じ形になっているからです。ほとんど同じ形ということは、翻訳じゃなくて直訳です。それなら簡単でしょ?

 つまり、PADを書くこと自体がプログラミングをしているってことなのです。フローチャートとは全く逆。しかも、手順を作ることとプログラムを作ることをほぼ同時にやってようなもんだから効率がいい。効率がいいってのは、かなりのメリットだよね!
 ところで、プログラミングをしているなんていうと「言語は特定されるの?」なんて心配をするかもしれませんが、プログラミング言語が特定されるようなことは無いです。VBだろうがJavaだろうがCOBOLだろうがPERLだろうが、何でも来いっ!です。

 あと、使う記号が少ないです。Invitation for Beginnerで使った箱は4種類ありましたが、あれで全部(だったかな?)です。
なぜプログラムに直訳できるかというと
 それは、PADがプログラムだからです…といくら言ってもラチが開かないので、ココをクリックしてPADフローチャート、そしてプログラムを見比べてみてください。

 どうでしょう…なぜ直訳できるか分かったと思います。
常に書いた方がいい?
 プログラミングを覚えたばかりの頃は、とにかくPADを書いてみよう。そして、PADをもとにプログラムを作る(プログラムに直訳する)をするという2段階で攻めるとより効果的です。それを繰り返しているうちに、徐々にInvitation for Beginnerの最終目標である感覚として覚える体で覚えるということが身に付きます。

 出来るようになったら、今度はわざわざPADを書かなくても問題ナシ。だって、その頃は頭の中でPADが出来上がるようになってるからね。
てなわけで
 これからプログラミングを覚えようと言う皆の衆、PADを使おう!

 それと、物事の手順を組み立てることと、それを感覚として覚える体で覚えるということを身につけてください。達成するまでに多少の個人差はありますが、才能が必要だなんてことは決してありません。必ず出来るようになります。

 全ては努力と根性ですよっ(笑)
Copyright(C) 1999-2006 結城圭介。 All rights reserved