プログラムが分からないときは処理をひとつひとつ順を追って再現してみよう(手動でステップ実行の話)

みなさん、こんにちは。
埼玉県さいたま市浦和区にあるロボット・プログラミング教室「ロボ団北浦和校」です。

最近までの猛暑も一段落し、雲の形や虫の声が秋の到来を告げ始めています。
季節は流れ、変わりゆくということで(?)、ロボ団北浦和校では9月からは気分一新し、近鉄さんとのコラボ企画で体験会を行っています。

今回の体験会は夏にはなかった課題があります。
それはプログラミングの部分に待機ブロックやループブロックというループ処理を行うことです。

具体的にはカラーセンサーで一定の色を読み込むまで処理を続けたり、超音波センサーで一定の距離になるまで処理を続けることなどです。
たとえばカラーセンサーの赤色を検知したら止まるプログラムで考えてみましょう。
ビジュアルブロックで例を出せば以下のようになります。

マインドストーム EV3 サンプルプログラム(カラーセンサーが赤色を検知するまで進むプログラム)

ブロックが3つあるのでそれを順に説明しましょう。
まず1番目と2番目のブロックが赤色になるまで進むというもので、3番目のブロックがブレーキをかける命令です。
そして1番目と2番目がループ処理を行っている部分です。

さて1番目のMモーターがオンの部分だけで実行すると、わずかにピクっと1ミリほど動くだけです。
当然ながら、これだけでは期待した動きにはなってくれません。
ですから2番目の待機ブロック(またはループブロック)と組み合わせることで、「赤色になるまで進む」という処理を実現しています。

ただし小学生ですと、まだその因果関係が理解できないことも少なくありません。
先生に言われた通り作ってみてロボットを動かすことはできたもののどうしてそうなるかが見えてこないときもあります。でもそれは小学生ですから無理からぬ話です。

このようなときは少し面倒に思えても、処理をひとつひとつ順を追って子供たち自身で再現させてあげると理解できるようになります。
いわば手動でステップ実行をしてみるものですが、例で言えば次のようになります。

 実際に行われる処理

  手順1 ピクッと動く(1ミリ進む)
  手順2 カラーセンサーの色は白(赤なら手順3へ、それ以外なら手順1へ戻る)
  手順1 ピクッと動く(1ミリ進む)
  手順2 カラーセンサーの色は白(赤なら手順3へ、それ以外なら手順1へ戻る)
  手順1 ピクッと動く(1ミリ進む)
  手順2 カラーセンサーの色は白(赤なら手順3へ、それ以外なら手順1へ戻る)
   ・・・
   (以後、赤になるまでくりかえす)
   ・・・
  手順3 (カラーセンサーが赤になったので)止まる

なお、こうした1ステップごとの検証時にはフローチャートやPADなどの処理の流れを示す図を併用してもよいでしょう。
いずれにしてもブラックボックス化して理解できていない部分を細かく切り分け、それを具体的に逐次的に見せてあげることで理解を促すというものです。またパソコン上のポートビューからも値をみることができるのでパートナーと協力して確認するのもよいと思います。

ただ体験会では子供たちは初めてパソコンを使う子も多くポートビューの見方には慣れていません。
そこでデモ用のロボットには以下のようにプログラムを改変して、表示モニター上に各センサーの値を表示させてあげてもよいかなと感じています。

レゴ マインドストームEV3 サンプルプログラム(カラーセンサーが赤色を検知するまで前に進むプログラム
※それぞれのセンサーの値を実行中は表示する処理も加えている(黄色と赤のブロック))

それでは今回はこれまで。
また次回にお会いしましょう。

体験会、実施中です!

JAXAや近鉄と共同開発した体験会もまだまだ実施しております!
体験会の詳しい内容はこちら

体験会チラシ(さいたま市のプログラミング教室ロボ団北浦和校)
ロボ団北浦和校体験会(近鉄)

ロボ団 北浦和校は北浦和駅から徒歩で約5分程度のところにあります。
京浜東北線の各駅にアクセスできる方や、大宮、さいたま新都心、与野、浦和付近にいらっしゃる方は比較的、簡単にお越しいただけるかと思います。
講師一同、楽しみにお待ちしております!

ロボ団北浦和 付近のマップはこちらから

体験会のお申込みはこちらクリック
以下のQRコードからもお申込みできます

体験会申し込みリンクQRコード(ロボ団北浦和校)

お問合せはこちらをクリック