今回はmicro:bitを使って繰り返し処理について勉強していきます。
繰り返し処理とは、同じことを何度も繰り返すことです。
例えば縄が足に引っかかるまで縄跳びをするときを考えてみましょう。
1.縄を回す 縄跳びをするときはまず腕を使って縄を回します。
2.ジャンプする 縄が足の前まで来たらジャンプします
3.足に引っかかるか確認する 足に引っかからなければ1に戻ります
4.引っかかったら終了
この流れを図で表すと以下の通りになります。このようにプログラムの流れを分かりやすく記した図のことをフローチャートといいます。
このようにロボットは決められたことを何度も繰り返すことが得意です。
今回はmicro:bitを使って繰り返しブロックについて勉強していきましょう。
無限ループ
micro:bitには無限に動作を繰り返す場合と最初に1回だけ動作を行う2種類の基本ブロックがあります。
最初だけブロック
最初だけブロックに挟まれたブロックは上から順番に1つずつ実行されます。
プログラムの一番下まで実行すると終了し、次にずっとブロックの中身が実行されます。
ずっとブロック
ずっとブロックに挟まれたブロックは最初だけブロックの処理が終わった後に、上から順番に実行されます。
プログラムの一番下まで実行されると、一番上のブロックに戻ります。
例題 最初だけブロック
最初に1回だけハートアイコンが点灯し、1秒たったら消えるプログラムを書いてみます。
左上のシミュレータの動作を見てみましょう。
1秒だけハートアイコンがひかり、すぐに消えたと思います。
最初だけブロックではプログラムが開始と同時に実行され、終了すると繰り返されません。
例題 ずっとブロック
今作ったブロックをずっとブロックに移動して動作を確認してみます。
移動しただけではアイコンが消えた後すぐに一番上のハートアイコンを表示するブロックが実行されてしまうので、1秒停止を追加します。
左上のシミュレータを確認してみましょう。
今度は無限にハートアイコンの表示と消灯が繰り返されます。
この様に、目的の動作によってずっとブロックと最初だけブロックは使い分ける必要があります。
決まった回数だけ繰り返し
micro:bitには決められた回数だけ繰り返すブロックが用意されています。
ハートアイコンの点灯と消灯が3回だけ繰り返されるプログラムを考えてみます。
上の例題で作成したプログラムを改造し、3回同じものを並べたら出来そうです。
しかし、上の動画を見てもらったらわかるように大変めんどくさいですし、ミスもしそうです。
今回は3回だから良いですが、100回繰り返すプログラムを作ってと言われたら、大変ですよね。
そこで繰り返しブロックを使います。
このブロックを使うと挟まれたブロックを決められた回数だけ繰り返して実行することが出来ます。
シミュレータを確認すると3回だけ点灯を繰り返し終了してくれています。
条件を満たす間だけ繰り返し
最初の例で縄跳びが足に引っかかるまで繰り返すプログラムを作りました。
同じように決まった条件の間だけ繰り返すプログラムも簡単に作ることが出来ます。
もしの後の6角形のところに入る条件を満たしている間は繰り返してくれるブロックです。
今回はAボタンを押している間はハートが点灯するプログラムを書いてみます。
シミュレータで確認してみます。
練習問題
1.うれしい顔のアイコンと悲しい顔のアイコンが交互に5回だけ表示されるプログラムを書いてください。
解答はこちらをクリック
2.Aボタンが押されるまではハートのアイコンが点滅し続けるプログラムを書いてください。