|
ネットショップに役立つプログラミングを楽しく伝授 |
| 流れ図(フローチャート)が逆流するとき | |
|
プログラムの基本的な構造で、あとひとつだけ大事なことがあります。 流れ図についてのコラムは、これで最後にする予定です。もうしばらくお付き合いください。 前回のコラムに書いた「判断」の応用になるのですが、プログラムを構成している中で、とっても大切なのが「繰り返し」の構造です。 ループ構造といったりもします。 プログラムは、「繰り返し」の構造がとても頻繁に使われています。 人が繰り返し作業をするのを嫌ったから、コンピューターにやらせている・・・というのがそもそもの省力化・効率化の発想にあるので、当然といえば当然なのですが。 メールマガジンを配信する。これはあて先のメールアドレスを変えての繰り返しです。 ![]() ショッピングカートに商品を何回かいれられるのを待つ・・・これも広義の繰り返しです。 スーパーマリオで、クリボーが右から左に移動してくる・・・少しずつ X座標を -n しながら、繰り返し移動しています。 二度寝防止のための、目覚まし時計のスヌーズ機能・・・繰り返しです。 世の中のプログラムが動くいたるところで、繰り返し構造が使われています。 文句も言わずに、同じことの繰り返し。正確だしミスもない。 コンピューター(プログラム)って、ほんとうにありがたいものです。 繰り返し構造には、前判断と後判断があります。 先ほどの、メールマガジン配信は、前判断です。 後判断だと、こういう例があります。 ![]() 繰り返し構造を2ついれましたが、スヌーズ機能に関する部分が、後判断になっています。 わざと、AとかB など、プログラムっぽい変数を多めに用いてみました。 #こちらも途中でアラームをとめたら・・・スヌーズも停止させたら・・・などの、入出力(割り込み処理)があった場合なども、 #本来だと流れ図に組み込みたくなりますが、今回の流れ図では、繰り返し構造の説明を目的としたいため、省略しています。 前判断と後判断の違いは、前判断だと、まったく処理がおこなわれない(繰り返しが0回の)場合が想定されますが、後判断だと、最低1回は必ず処理が行われるということです。 たいした違いではないですが、プログラムって繊細なものなので、いつもどっちでもいいというわけではありません。 状況によって使い分けます。 たとえば、一回の判断に必要とされる、数マイクロ秒を削って高速化したいときなども(^^; あと、開発者の趣味・慣れや・・・仕上がったプログラムの美しさとか・・・ おっと、脱線しそうになりました。 なんとなくでいいので、「繰り返し構造には、前判断と後判断があるんだ」と、覚えておいてください。 さて、長い間、おそらくみなさんにとっては見慣れない記号ばかり使った、とっつきにくいコラムになってしまいましたが、プログラムのイメージをするために「流れ図」ってとっても便利な道具なのです。 論理的な思考を、最近はやった言葉では、ロジカルシンキングの手助けをしてくれる道具ともいえるでしょう。 あまり話がそれてもいけませんが、「流れ図」というものは、なにもプログラムだけに用いられるものではなく、業務の手順化などにも大いに威力を発揮する道具です。 業務の手順化などについては、生産性本部さんなどで、それに応じた特殊な流れ図の書き方などを開発されているので、興味があるかたは、しらべてみてください。 この何回かのコラムを通して、プログラムというものは、 「処理」で表す「+ − × ÷」などの演算。 「判断」で表す「= > <」などの比較。 「入出力」で表す、ディスプレイ・キーボード・マウス・プリンタなどなどの入出力。 の組み合わせでできている、ばらしてみてみるとシンプルなものなのだと、なんとなく把握いただけたらうれしいです。 と、同時に、ひとつ違うと思ったとおりに動かない、繊細で頑固なものだとも(^^; 次回からは、これら「流れ図を用いた考え方」を基礎にイメージいただきながら、簡単なJavascriptなどを交えて、プログラミングに慣れ親しんでていただけるようなコラムにしていきたいと思います。 |
|
|
||||||||||||||||||||||||||||||||||||