コラム

2021年07月17日

【コラム】プログラムを図面化 -フローチャート-

プログラムを図面化して自由研究に使ってみよう!
フローチャート

 

 

 

皆さんこんにちは、プログラミングスクールCotoMirai事務局の長谷川です。

もうすぐ夏休みが始まりますね!

今年の夏のご予定はもうお決まりでしょうか?

今回は夏休みの自由研究にも使える、フローチャートについてご紹介いたします。

ゲームをつくってみたけど、どうすればキレイに見やすくなるかをフローチャートが解決します!

皆さんも是非最後までご覧くださいませ。

 

また夏休みの自由研究にプログラミングを考えている方は必見!

当校では夏休みプログラミング体験イベントを開催しております。絶賛予約受付中!

まだご予定に空きがある方やまだどうしようか悩んでいる方などは是非以下リンクからご予約くださいませ。

 

▼イベント詳細・予約はこちらから

https://kids-mirai.info/summer_event2021

 

 

それでは確認していきましょう!

 

---------

 

■感染症対策のお知らせ

 

プログラミングスクールCotoMiraiでは感染症対策のため、ガイドラインを制定し営業してまいります。

詳しくは以下リンクよりご確認くださいませ。

https://www.kids-mirai.jp/event_content/colona-guideline

 

---------

 

■フローチャートとは?

 

フローチャートとはフロー図とも呼ばれており、業務やシステムにおける工程やプロセスの各ステップやアルゴリズムなどの流れを長方形や楕円、ひし形などのさまざまな記号で表示し、流れの方向を矢印で繋げて視覚的に表した図のことです。

 

これを使用することのメリットは以下が挙げられます。

・業務や作業の流れが可視化され、第3者へ伝える際に認識の齟齬が起こりにくくなる

・キレイなプログラミングに仕上がる、無駄を省くことが出来る

・プログラミングの速度が向上

・機能のつけ忘れが防げる

 

 

上図のようにフローチャートではさまざまな図形を矢印でつなぎながらその業務の工程を表しております。

では使用される基本的な記号を説明していきます。

 

1.端子

記号:

Scratch:

役割:

業務・プログラムの開始と終了を表す記号です。
フローチャートの最初と最後に必要となります。

 

2.処理

記号:

Scratch:

役割:

業務・プログラム中で行う処理や作業を表す記号です。
一つ一つを細分化すると分かりやすいフローチャートが出来上がります。

 

3.判断

記号:

Scratch:

役割:

複数の選択肢に分かれる判断を表す記号です。
真偽(YES/NO)の判断のほかにも処理につなぐことで条件分岐として使用することも可能です。
コメントとしてどのような想定なのか記載する必要があるので注意しましょう。

 

4.ループ

記号:

Scratch:

役割:

繰り返し行う処理を表す記号です。
この記号内にある処理や作業を条件が満たされるまで繰り返します。
図形の中に処理の終了条件を記入する必要があるので注意しましょう。

 

5.入力/出力

記号:

Scratch:

役割:

入力・出力を行う機能を表す記号です。
I/Oとも呼ばれており、プログラム中のデータやファイルの参照・書き込みなどで用いられます。

 

今回はよく使用される記号をピックアップしてみました。

この他にもたくさんの記号がありますので、ぜひ皆さんも確認してみてはいかがでしょうか?

 

---------

 

■フローチャートの書き方

 

フローチャートをいきなり書こうとしてもなかなか最初は難しいと思います。

このため最初はどのような要素があるのかを整理しましょう。

例えば、おうちに帰ってから寝るまでにやることをお題にして考えてみましょう。

今回はざっくりと考えているので要素としてはもっと細分化すると出てくると思います。

----------------------------------------------------

●要素整理

・スタート:帰宅

・手洗い、うがいをする

・夕飯を食べる

・お風呂に入る

・明日の準備をする

・歯を磨く

・終了:おやすみなさい

----------------------------------------------------

 

次にこれらの要素を順序通りに整理したら、一つずつ細分化してみましょう。

コンピューターがどのように処理をするのかを考えながら行うことがポイントです!

----------------------------------------------------

●処理の細分化

・スタート:帰宅

・手洗い、うがいをする

(蛇口をひねる→手を濡らす→石鹸をつける→洗う→泡を流す→うがいをする→蛇口をもどす)

・夕飯を食べる

(いただきます→【Aを食べる、Bを食べる、Cを食べる】の中から1つを実行し、なくなるまで繰り返す→ごちそうさま)

・お風呂に入る

(お湯で体を流す→頭を洗う→泡がついているか?YES:お湯で流す NO:体を洗う→泡がついているか?YES:お湯で流す NO:湯船につかる→お風呂から上がる)

・明日の準備をする

(宿題はあるか?YES:宿題を行う NO:準備をする)

・歯を磨く

(歯を磨く→蛇口をひねる→歯ブラシを洗う→口をゆすぐ→蛇口をもどす)

・終了:おやすみなさい

----------------------------------------------------

 

ざっくりと細分化をしてみました。

これら一つ一つが要素になり、フローチャートの記号に置き換わるものとなります。

最後にこれをフローチャートで表してみます。

黄色の記号は要素整理の段階のもの、その他に関しては細分化したものとなります。

 

帰宅してから寝るまでのフローチャート例

 

なかなか複雑なものとなっておりますが、矢印に沿って行動は進んでおります。

今回はざっくりとした細分化でしたが、本来はもっとたくさんの処理を行っていることになります。

プログラミングでもこのように細分化して考える思考が重要なものとなり、これがプログラミング的思考の育成にもつながります

 

夏休みの自由研究にもご活用してみてはいかがでしょうか?

 

---------

 

■フローチャートの歴史

 

最後にフローチャートの歴史についても確認しましょう!

 

フローチャートが使用されるようになったのは1920年代~1930年代とされております。

1921年に技術者のフランク・ギルブレスとリリアン・ギルブレス夫妻が『フロープロセスチャート』としてアメリカの学会で紹介しております。

 

1930年初頭には社内会議でも使用されるようになり、1940年代ではアート・スピナンガーとベン・S・グラハムが更に広範囲に普及させました。

この時スピナンガーは業務の簡略化手法を導入し、グラハムはフロープロセス図を情報処理に採用しました。

 

また1947年にギルブレス夫妻の業績から派生したフロープロセスチャートのための記号システムを採用しています。

同時期にハーマン・ゴールドスタインとコンピューターの開発で有名なジョン・フォン・ノイマンがコンピュータープログラムの開発にフローチャートを使用しております。

これを機にフローチャートはあらゆる種類のコンピュータープログラムやアルゴリズムのための人気のツールとなりました。

 

---------

 

■まとめ

・フローチャートは業務・プログラムを可視化するもの

・業務・プログラムが整理できるため、プログラミングの速度アップにも効果あり

・記号にはさまざまな種類がある

・処理を細分化させることでエラーの発見にも役立つ

・1920年ごろから使用され、コンピューター開発にも使用されていた

 

---------

 

いかがでしたでしょうか?

フローチャートを使って自分で作ったプログラムを図面に表すと説明の時に分かりやすくなります。

これをもとに夏休みの自由研究に使用するのもいいかもしれませんね。

 

夏休みの自由研究のネタを探している方は是非夏休みイベントにもご参加ください。

絶賛予約受付中!

▼詳細・ご予約はこちらから

https://kids-mirai.info/summer_event2021

 

 

皆さんのご参加お待ちしております!

 

参考:

・フローチャート(フロー図)の書き方と記号の使い方。無料のフローチャート作成ツールも紹介
https://ferret-plus.com/7102

・フローチャート(フロー図) 書き方 まとめ【基本のキ】
https://tech-blog.rakus.co.jp/entry/202001026/flow-chart

・ざっくりわかる!プログラミングのためのフローチャートの書き方
https://eng-entrance.com/programming_flowchart

フローチャート
プログラミング
Scratch
夏休み
自由研究
イベント