【embotでプログラミングを学ぼう③-2】繰り返しの技で効率アップ:課題編
目次
- 【embotレベル】2
- 【プログラムの技】繰り返し
- 【主に使うプログラム】[for]、[function]
解説編で知ったプログラムの技を使って、次の課題に挑戦してみましょう。
応援ロボットを作ろう
運動会になると応援合戦で「フレッフレッあかぐみ!」「フレッフレッしろぐみ!」という応援をしますね。応援は一生懸命したいですが、ずっと同じ動作をし続けていると疲れてしまいます。そこでembotに応援をしてもらいましょう。
embotの手に星をつけて、「星組」の応援をするロボットになってもらうために、「フレッフレッほしぐみ!」の応援を考えてみました。
今回の課題は、この図の応援を「フレッフレッほしぐみ!フレッフレッほしぐみ!フレッフレッほしぐみ!フレッフレッほしぐみ!」と4セット続けるプログラムを作成することです。「レベル2」で、必ず、繰り返しの技である[for]ブロックを使ってください。
embotの手に星の形に切り取った色紙をつけて、雰囲気をもりあげましょう。
プログラムの解説とポイント
応援ロボットの動きを確認しましょう。はじめのポーズは最初に1回出てくるだけです。これをパターンAとします。次に、応援の動作を見ると、「フレッフレッ」と「ほしぐみ!」は同じ動作を繰り返していることがわかります。これをパターンBとします。
パターンAの[function]ブロックと、パターンBの[function]ブロックを作って、「A→B→B」の順に並べれば、1セットの応援ができます。パターンBを2回繰り返していますね。
応援を2セット続けるならば、「A→B→B→B→B」で、Bを4回繰り返します。応援を4セット続けるならば「A→B→B→B→B→B→B→B→B」となり、Bを8回繰り返せばいいことがわかります。
このパターンの流れをまずはフローチャートでプログラミングします。プログラム編集画面で、[start]、[end]、[for]ブロックを1個ずつ、[function]ブロックを2個配置してください。
まだ[function]ブロックの中のプログラムは作っていませんが、空箱のままフローチャートを作りましょう。下の図を参考に、[start]→パターンAの[function]→[for]→[end]の順でつなぎます。そして、パターンBの[function]は繰り返し実行したいので[for]につなぎます。
次に[function]ブロックの中のプログラムを作りましょう。それぞれの[function]の内容は下の図の通りです。腕の動かし方のルールは、embotでプログラミング学ぼう①で説明しているので、わからない場合は確認してください。
パターンAの[function]
パターンBの[function]
2個の[function]ブロックのプログラムが作成できたらフローチャート画面に戻り、[for]ブロックの繰り返し回数を設定します。この課題では応援を4セット続けたいので、パターンBの[function]を8回実行する必要があります。下の図の通り、上下の三角形を押して「8」に設定します。
これで、完成です。
早速embotで実行してみましょう。
実際にこのプログラムを動かした動画です。
embotは嫌がらずに何度でも動いてくれるのでもっと[for]ブロックの数字を増やしても大丈夫です。たくさん応援してもらいましょう!
つぎは、条件によって動きが変わるプログラムに挑戦します。
→【embotでプログラミングを学ぼう④-1】道が分かれるプログラムを作ろう:解説編