【embotでプログラミングを学ぼう⑦】予測できない動きをプログラムする:解説編
目次
- 【embotレベル】3
- 【プログラムの技】「乱数(らんすう)」を使う
- 【主に使うプログラム】えん算-らん数
プログラミングをするときは正確に指示をする必要がありますが、決まった数字を指定したくないこともあります。プログラムを作るときに「どの数字が出るかわからない」という設定をする方法を学びましょう。
サイコロのように「たまたたま出た数」を使う
サイコロを転がすときに、次にどの数字が出るかわかっていたらつまらないですね。サイコロを転がすように、プログラムを実行するたびに「たまたま出た数」を使う方法があります。この「たまたま出た数」を「乱数(らんすう)」と呼びます。「乱数(らんすう)」を使えば、予測できない動きをプログラムすることができます。
embotでやってみよう
早速、embotで乱数(らんすう)をどのように使うのかを確認しましょう。「レベル3」に設定して、新しいプログラムを作成します。フローチャートの画面で[start]、[function]、[end]ブロックを1個ずつ置いて矢印でつなぎ、[function]の編集画面を開きます。
乱数(らんすう)のブロックは[えん算]カテゴリーにあります。[○から○までの整数のらん数]ブロックを編集エリアに置きます。
乱数(らんすう)のブロックは、出る数字の範囲を指定できます。数字は整数で小数点の数字は出ません。「1から3」と指定したら、「1、2、3」のどれか、「4から10」ならば「4、5、6、7、8、9、10」のどれかとなります。次の図では、「1から5」を指定したので、「1、2、3、4、5」のどれかになります。
[start]に続いて[ブザーをならす]、[○秒待つ]、[ブザーをとめる]ブロックを置いてつなぎます。[○秒待つ]ブロックに、乱数(らんすう)のブロックを入れてください。
これで、ブザーが鳴って「1~5秒」経ってから消えるプログラムができました。
フローチャートの画面に戻って、シミュレーターでプログラムを実行してみましょう。
実行するたびにブザーが鳴る秒数が1から5のどれかに変わります。何度も実行してみましょう。
<ポイント>「ログ」を使ってみよう
乱数の働きを「ログ」で確認する方法を紹介します。ここではembotを動かすプログラムは作成せず、「ログ」の使い方を説明します。
フローチャートの画面に[function]ブロックを1個置いて[function]の編集画面を開きます。
[function]の編集画面で[えん算]カテゴリーの[○から○までの整数のらん数]ブロックを置き、「1から10」を指定します。次に、[ログ]カテゴリーの[○をログに出力]ブロックをステージに置きます。
[start]ブロックに[○をログに出力]ブロックをつなぎ、[1から10までのらん数]を入れます。
この状態で、画面下部の[start]ボタンでプログラムを実行してから、[log](ログ)ボタンを押してください。
「ログ」画面が開き、数字が表示されます。ここに表示された数字が[1から10までのらん数]の値です。
ログ画面を閉じてプログラムをもう一度実行してからログを開くと、サイコロのようにまた違う数字が出ます。この例の場合、数字は1から10のどれかです。なお、サイコロを2回ふってたまたま同じ数が出ることがあるように、[らん数]ブロックも、2回続けて同じ数が出ることもあります。