デイリーポータルZロゴ
このサイトについて


はっけんの水曜日
 
新春☆フローチャートまつり


iPhoneは自分で作ったプログラム(いわゆるアプリ)を入れて、外に持ち出して使えるからすごく楽しい機械です。iPhoneユーザーはみんなアプリを作ったら良いのに。

テレビ、パソコン、携帯電話に電子レンジ。ありとあらゆる電化製品にはコンピュータが入っている。自動車だってコンピュータ制御だ。コンピュータが入っている機械は必ずと言っていいほど、「プログラム」に従って動いている。

「プログラム」とは、コンピュータがどう動くか書いてある「指示書」みたいなものだ。人間が指示書やマニュアルに従って行動するのと同じように、コンピューターは「プログラム」に従って動いている。

今回は、そんな「プログラム」の世界をわかりやすく紹介してみたいと思います。もし興味を持ったらプログラムを作ってみるといいですよ。きっとすごく楽しいから。

松本 圭司



まずはスタート。ここからすべてが始まる。

基本は流れ図

プログラムと言っても、まず基本になるのは流れ図、格好良く言うとフローチャートだ。プログラム言語はこの世に何種類もあるけど、基本的にプログラムというのは流れ図を元に作られる。言ってみれば、プログラムの世界の共通語みたいなもんだ。

まずは、というか今回は主にこのフローチャートについて考えていきたい。

フローチャートは、役割が決まった図形を描いて、その中に何をするかを書き、それらを矢印でつなげることでプログラムの流れを表現する。

日常でも、「起きる→歯を磨く→朝ご飯を食べる→便意があったらトイレに行く→無ければ着替えて家を出る」なんて具合に行動の流れを決めるだろう。

それをちゃんと書いたのがフローチャートで、だいたい左とか下の画像みたいな図形で構成される。


菱形の図形は判断。条件に従って処理が分岐する。
四角い枠にはなにをするか、そこで行う行動を書く。

両側に線が入った長方形は、なにか複雑な行動を一言で言いたいときに使う。定義済み処理とか言ったりする。別に書いてあるフローチャートを呼び出すとか、細かく書くのが面倒くさくなっちゃった時とかに使う。
スタートがあれば終わりがある。これが終わりの図形です。

 

カップ麺を作る流れをフローチャートにしてみました

では、これら5つの図形を組み合わせてカップ麺を作るまでをフローチャートにしてみましょう。

それが下の図。僕が高校生くらいの頃はテンプレートを使って手書きしてたんですが、今はパソコンで綺麗に作れるからいいですな。


本当に細かく書けばもっとゴチャゴチャと書けるけど、大ざっぱに書くとこんな具合です。

 

ヤカンに水を入れる。

熱湯があるか、なければ沸かすところから

まずは熱湯があるかどうかを判断して、無ければヤカンで沸かす。沸騰を待つ部分で定義済み処理の図形を使ってみた。

普通はお湯が沸くまで待つ間にカップ麺の包装を取ったり蓋を半開きにしたり準備をする。が、コンピュータは特別な事をしなければひとつずつしか仕事を片付けられないので、お湯が沸くまでなにも出来ない(Windowsやマックが同時に色々出来るのは特別な事を裏でやってるからですが説明が難しいので割愛)。

また、沸騰を待つ部分で1秒待ってからお湯の様子を見ているのは、ひっきりなしにお湯の確認をすると疲れちゃうからで、コンピュータで言えば無駄に確認をすると処理が遅くなったりバッテリーを無駄に使ったりする。適当に休みながら待った方が効率がいいのです。

お湯が沸いたらいよいよカップ麺を作る段階に入る。


沸騰まで待つ。沸騰したらガスの火を消す。なにかをして後始末が必要な場合はちゃんと後始末しないとバグの原因になる。
沸いた!ワイタンギ!

 

包装を取り去ります。

お湯を入れてカップ麺を作る

次にカップ麺にお湯を入れる。包装を取り、蓋を半分剥がす。ここで「半分剥がす」ではなく「蓋を剥がす」と書いてしまうと、プログラムはその通りに蓋を全部取ってしまう。予定と違った結果になる、つまりバグである。

次の、「内側の線までお湯を入れる」も単に「お湯を入れる」と書いてしまうと、ヤカンのお湯を全部カップに注いでしまって大変な事になる。「カップオーバーフロー」という大変に危険なバグだ。だいたい世のセキュリティホールと呼ばれる問題は、このカップオーバーフローに似た原因で起こっている。

お湯を入れたら、1秒待つ処理を180回行う。つまり、180秒待つ、いうなれば3分待つという事だ。

 


お湯を内側の線まで注ぐ。
3分待ったら出来上がり。

寒い夜はカップ麺が美味しいですね。

3分待ち終わったら完成、これで処理は終了となるので人間である僕がカップ麺を食べる。

普段何気なくやってることでも、人間はきちんと判断と処理をしているから上手い具合にカップ麺が出来るわけだ。それをフローチャートにしてみるとなかなか面倒な事をしている事に気付く。

プログラム、フローチャートを作るというのはそういう当たり前の事を改めて記述する楽しさや意外な発見が面白い。

フローチャートについてなんとなく判っていただけただろうか。次のページでは、猫の行動をフローチャートにしてみたいと思います。


次のページではなつめさんをフローチャートにします。

つぎへ >
 

 
Ad by DailyPortalZ
 

▲デイリーポータルZトップへ バックナンバーいちらんへ
個人情報保護ポリシー
© DailyPortalZ Inc. All Rights Reserved.