2017/03/25

プログラムの基本は「順次」「分岐」「繰り返し」

 こんにちは。高木龍平@デジんちゅです。本日はプログラムとはなんぞや?という話を。

プログラムとはざっくり言うと、思い通りにものごとが進むように組み立てられた手順です。対象はOzobotのようなロボットだったり、Scratchでつくったパソコン画面上のキャラクターだったりしますが、いずれにせよそれらを思った通りに動かすように組み立てられた手順がプログラムです。

そのプログラムは単純なものから複雑なものまで様々ですが、分解してしまえばたった3つの動きに落ち着きます。それは「順次」と「分岐」と「繰り返し」です。

順次とは提示された命令を提示された順番に実行していく動きです。はじめはまっすぐ進め→次は右に曲がれ→最後に止まれ といったような。Ozobotが色による命令で実行している動きのほとんどはこの順次処理です。

次が分岐。これはある条件にもとづいて次に行う動作をかえることです。Ozobotでいえばカウンターをつかった動きがこれにあたります。「交差点を通過したら1点減らせ」とか「0点になったら動きを止めろ」とかです。

最後が繰り返し。これは指定された範囲の動きを繰り返す動きです。速度を上げる→下げるを5回繰り返せ といったような。繰り返しを抜ける条件がないと、永遠に繰り返してしまうので基本的には「こうなったら繰り返しは終わりね」という条件とセットで使います。この動きはOzobotの色指定では実現できないので、パソコン上で動作を組み上げるOzoBlocklyというツールを使って実現することになります。

どんなに複雑なプログラムでもこの3つの動きの寄せあつめで作られています。ですのでこの3つの動きを使いこなすことがプログラミング習得への最初のステップとなります。

デジんちゅでは順次処理のイメージを理解してもらうのにOzobot(の色での制御)を使用します。ロボットが道を進んでいき、その都度色で指定された動きを順番に実行していくというのは、順次処理のイメージをつかむのにもってこいです。

順次処理のイメージがだいぶつかめてきたら、カウンターでの動きで分岐処理の簡単なイメージをつかみ、そこからはOzoBlocklyに移って分岐処理と繰り返しについての理解を進めていくというのが基本的な流れです。

並行してScratchも使用します。基本的な流れはOzobotと同様ですが、双方の特色として

Ozobot・・・動きがわかりやすい(=実際にものが動く)。動きの種類は限定的。Scratch・・・動きは画面内に限られる。動きの種類は豊富。

という違いがあるので、生徒の理解度と興味具合によって使いわけていきます。

いろいろと書いてしまいましたが、さしあたってはプログラムは「順次」「分岐」「繰り返し」の3つでできているという点を是非覚えておいてください。

ではまた明日!