前々回あたりでmicro:bitによるプログラミングを取り扱ってきたわけですが、今回はその基本的な考え方に基づき、フローチャートを描くという課題に取り組みました!
課題の内容は二つ。
1:身の回りで反復処理を行っていると考えられる事象をフローチャート化する。
2:micro:bitのサンプルプログラムをフローチャート化する。
まずは1ですが、とりあえずこちらをご覧ください!
途中で改行されてしまい見にくくなっていますが、こちらは私のバイト先での事象になります!
私が行っているバイトの一つに、焼き鳥屋があります。そのメニューの仕込みをする際、ねぎま(もも串)のみ串打ちの本数指定があり、これは「〇本できるまで繰り返す」という反復処理になっているのではないかと思いつきました。
まず仕込み開始から、材料の有無の判別をします。材料が1串分あれば串打ちの作業に入り、なければそこで終了。次に本数を確認し、15本なければ15本作り終えるまで繰り返します。
ねぎまの本数を確認した後、足りなかった際にどこまで戻るのかというところが考えどころかな~と思います。
次に2ですが、今回私が引っ張り出してきたサンプルプログラムは、こちら!
(今画像を貼って、その想像以上の大きさに驚いています。編集時の事ですが、もし見にくかったらすみません。)
こちらのプログラムは「コンパス」というプログラムなのですが、実はこちら、去年私がmicro:bitで再現させていただいたプログラムなのです。懐かしい・・・。
ざっくりプログラムの説明をすると、360°を4分割し、北方の90°(315°~45°)を向いているときは北、東方の90°(45°~135°)の時は東、南方の90°(135°~225°)の時は南、西方の90°(225°~315°)の時は西をLEDに表示する、というものです!
そんな思い出のプログラムを、フローチャート化してしまおうということで・・・!
フローチャート化しました!(二枚分になり、見にくくなってしまってすみません・・・)
今回のフローチャート化で難しかった点は、このプログラムに「終わりがない」ということの再現です。
プログラム中にある「ずっと」というブロックは非常に便利ですが、フローチャート化する際は反復処理のみの形になってしまい、流れとしての「終わり」が存在しません。まあ諦めて反復処理のまま終わりでもよかったのですg(殴
一応終わりが欲しかった私は、このプログラムを「micro:bitの動作の一部」として捉え、フローチャートの始まりと終わりを「電源のオン・オフ」にすることで、一応の流れとしてのフローチャートを完成させることができました。
まず電源がオンになり、すぐに角度判定が始まる。その角度判定の最後に、「電源がオフであるか」の判断をし、オンなら角度判定を繰り返す。オフなら角度判定が終了する。
今回は分岐に分岐を重ねるフローチャートとなっており、micro:bitのプログラムと比較するとこちらの方が多少複雑にみえますね。
なお、今回はフローチャートの作成にウェブブラウザを用いました!参考文献の欄にリンクを貼っておきますので、ぜひ使ってみてください!
[感想・気づいたこと]
〇身の回りの事象や普段の行動をフローチャート化をすると、普段の私たちの頭の中では、私たちが思っているよりもかなり複雑な処理が行われていることがよくわかる。
〇プログラムのフローチャート化をしたが、プログラムとして物事を組み立てるのと、フローチャートとして物事を組み立てるのとではものの捉え方の細やかさが多少異なり、フローチャートの方が難しいように感じられた。
〇また、フローチャートがプログラミングの基本的な考え方であることにはすごく納得がいった。プログラムをフローチャートに作り変えるよりも、その逆をする方が難易度は低そうである。
〇ほんの少ししかない作業でも、フローチャート化すると案外複雑であるため、人の一日の行動をかなり細かくフローチャート化するというときは、膨大な量のブロックや条件分岐・反復処理が必要になりそうである。
〇今このようにフローチャートやプログラムのことについて考えながら文章を書いているが、この行動もフローチャート化するとかなり複雑になりそうである。それを高速で処理し続けられる「脳」という器官のすごさが良く分かった。
[参考文献]
〇有限会社サヌキドットコム,「さらば!方向音痴よ 付録2-18【入門用】北・東・南・西」,サヌキテックネット / micro : bit(マイクロビット)でプログラミングを楽しむ!,
【micro:bit(マイクロビット)でプログラミング】北・東・南・西 | micro:bit Lab.【マイクロビット】 (sanuki-tech.net)
〇Canva,「無料デザインツール:プレゼンテーション、動画、SNS」,無料フローチャート作成ツール,
canva!きれいにかけますね!
脳、本当にすごいですよね...。