連載

【embotでプログラミングを学ぼう⑧】数字を入れておける箱を使う:課題編

目次

  1. 【embotレベル】4
  2. 【プログラムの技】「変数(へん数)」を使う
  3. 【主に使うプログラム】へん数

解説編で知った新しいプログラムの技を使って、次の課題に挑戦してみましょう。

embotでくじ引きを作ろう

embotをくじ引きロボットにしてください。右手をあげるとアタリ、左手をあげるとハズレです。解説編の説明の通り、乱数を使った条件を設定すれば、作れそうですね。この課題ではさらに、アタリより、ハズレの方が多く出るようにしてください。どのようなプログラムにすれば良いでしょうか?

アタリとハズレの手の角度を確認しておきましょう。

embotに旗を持たせたところです。

プログラムの解説とポイント

フローチャートの画面で、[start]、[if]、[end]ブロックと[function]ブロック3個を次の図の通りに並べて線でつなぎます。これから作るプログラムの全体像をイメージしましょう。

1個目の[function]ブロックを開いて変数を作成します。次の図の通り、[へん数1]という名前の変数を作って[1から10までのらん数を]入れます。

次に、[if]ブロックの条件を設定します。「[へん数1]< 4」([変数1]が4よりも小さい)としてください。[へん数1]が「4より小さい」とき、つまり「1か2か3」のとき、「○(はい)」の方向に進みます。それ以外のとき、つまり「4、5、6、7、8、9、10」のどれかのときは「×(いいえ)」の方向に進みます。

これで、「○」の方向に進む「アタリ」の確率を、「×」の方向に進む「ハズレ」の確率より低く設定できました。

ポイント
「アタリ」の確率を変えてみよう

[へん数1]に乱数を入れるときに、範囲を1から10に設定したので、[へん数1]は、「1、2、3、4、5、6、7、8、9、10」のどれかになります。[if]ブロックでは[変数1]の数値を条件に使っていますから、設定次第で「アタリ」の確率を変えられます。

[へん数1]=1 [へん数1]が1のときだけ「○」/「アタリ」の確率が低い
[へん数1]<10 [へん数1]が1~9のときに「○」/「アタリ」の確率が高い
[へん数1]<6 [へん数1]が1~5のときに「○」/「アタリ」と「ハズレ」が同じ確率

つぎに、[if]ブロックの「○」の方向に続く[funcion]ブロックと、「×」の方向に続く[funciton]ブロックのプログラムをそれぞれ作ります。

「○」の方向はアタリの旗をあげるプログラム、「×」の方向はハズレの旗をあげるプログラムです。どちらもまず両手を外側に広げた基本のポーズにしてから、アタリは右手(サーボ2)、ハズレは左手(サーボ1)を90°の位置に動かします。

これで完成です。フローチャートに戻って、シミュレーターでプログラムを実行してみます。次の図は、条件が「いいえ」の方向に進み、左手が上に向いているところです。

何度もプログラムを実行してみると、「はい」の方向に進むより、「いいえ」の方向に進むことの方が多いことがわかります。

このプログラムをembotで動かしてみた動画です。「アタリ」が出るまでなんども挑戦しました。

まとめ

変数を使えると、乱数やタブレットの値を使うときや、たくさんの数字を使うときに便利です。少しずつ複雑なプログラムにも挑戦できるようになります。

embot アイコン embotアプリ』はこちら!

embotを購入されていない方でも
無料でお試しいただけます。

※embot+の機能をつかうには最新のアプリをダウンロードください。