プログラミング入門

プログラミング初心者のためのScratch(スクラッチ)入門-乱数編

プログラミング初心者の子供に何を教えたらいいの?とお悩みの保護者のためのScratch(スクラッチ)の入門講座。Scratchで猫の動かし方はわかったけど・・・次にどんなことをしたらいいの?という疑問にお答えするシリーズです。
今回は「乱数」をお届けします。

「乱数」「ランダム」というと、大人はなんとなくわかるのですが、子供たちは「乱数」「ランダム」はよくわからないみたいです。そこで、「乱数」の意味と使い方を子供達が理解できるような教え方を考えてみました。

 

1. 乱数って何?

大人は「乱数」「ランダム」と言われるとすぐにイメージできるのですが、いざ子どもたちに説明するとなると意外と説明に戸惑ったりすることもあるんかもしれない乱数。実際にプログラムを作ってもらうのが一番。今回は乱数を理解してもらうためのプログラムを作って見たいと思います。

 

1-1. 乱数とは

乱数とは「ランダムな数」のことです。サイコロを何回も投げるとき、サイコロが出る目には規則がありません。3だったり、5だったり、1だったり・・・と次にどんな数がくるかわかりませんね。このように次にどんな数がくるか予測不能な数を乱数といいます。

ですが、実は規則正しい計算が得意なコンピューターは実は本当の意味での「乱数」を作るのが苦手です。コンピュータで使われている乱数は正確には「擬似乱数」と呼ばれるものです。計算によって乱数っぽいものを作っているんです。
 

1-2. Scratchの乱数ブロック

下の図がScratchの乱数ブロックです。

「●から▲まで」のところで、範囲を指定します。例えば「1から6までの乱数」とすると、1から6の間で乱数を作ってくれます。

試しに、このブロックをクリックして実験してみましょう。クリックした結果を並べてみました。毎回いろいろな数がランダムに出てくるということがお分かりいただけたのではないでしょうか。

お子さんに乱数を理解してもらう場合にも、ブロックを実際にクリックして記録を取ってみるとわかりやすいのではないかと思います。

 

2. 乱数×条件分岐でおみくじをつくろう

では実際に乱数をつかっておみくじを作ってみましょう。

 

2-1. ネコがセリフを言うプログラム

プログラミングの基本としてよく出てくるおみくじプログラムをScratchでも作ってみましょう。次のようにプログラムを作ってみたいと思います。

おみくじプログラム 完成イメージ
・スプライトはネコを使用する。
・変数「おみくじ」を作る

(1)緑の旗を押すと、変数「おみくじ」に1から6までのランダムな数が入る
(2)数のよってネコが次のセリフを言う
   ・「おみくじ」に1が入ったとき:「大吉だよ」
   ・「おみくじ」に2から3が入ったとき:「吉だよ」
   ・「おみくじ」に4から5が入ったとき:「小吉だよ」
   ・「おみくじ」に6が入ったとき:「凶だよ」

では、早速作っていきましょう。最初に変数「おみくじ」を作ります。乱数を使っておみくじにランダムな数を入れるのはつぎのように作ります。

乱数ブロックを使って生成したランダムな数を変数に入れています。

つづいて、「もし〜なら」ブロックでネコのセリフを作っていきます。まず、おみくじが1の時です。

これは簡単でしたね。では、「おみくじに2から3が入った」はどう表現したらいいでしょうか?以下の2つの方法が考えられます。

今回は「かつ」を使った方法で作っていきたいと思います。

同様に、続きのプログラムを作っていきましょう。

はい。これで完成です。実行してみると、ネコが結果をしゃべってくれます。

 

3.乱数×コスチュームでサイコロをつくろう

乱数とは何か?の解説で、サイコロを例に説明をしました。では実際に、Scratchでサイコロを作ってみましょう。
新しいプロジェクト作成画面で、自分でサイコロのスプライトを作ってみます。

コスチュームは6個用意し、それぞれにサイコロの目の絵を描いていきます。コスチュームの複製をすれば、簡単にかけますよ。

似たようなコスチュームを作る時は、コスチュームを右クリックして「複製」を選ぶと、コスチュームをコピーすることができます。

また、コスチュームのペイントエディターのスタンプのアイコンを押して、コピーしたいものをクリックすると「複製」ができます。サイコロの目の黒丸はこの複製ボタンを使えば簡単です。

次に、プログラムを作っていきます。コスチュームにはコスチューム番号というものがあります。コスチュームの左上の番号です。下の図の赤丸で囲ったところがコスチューム番号です。

今回は、コスチューム番号を乱数で設定するようなプログラムにしてみましょう。
下の図の「コスチュームを[コスチューム名]にする」というブロック、実はコスチューム名のところには変数ブロックや乱数ブロックを入れることができます。

今回は乱数を使いたいので、乱数ブロックを入れてみました。

これに、「緑の旗がクリックされたとき」ブロックをつけると、完成です。簡単でしたね。

実際に何度も緑の旗をクリックしてみてください。サイコロの絵がランダムに変化します。

 

4.まとめ

今回は乱数について解説しました。最初はわからなくても、乱数を実際に使っていくうちに「ランダム」「乱数」の意味もわかってくると思います。

乱数を使って、次のようなプログラムにも挑戦してみてくださいね。
 ・乱数×動きで、ランダムにスプライトが動くプログラム
 ・乱数×音で、ランダムに音が出るプログラム
など。

参考にしてみてくださいね。

伴野悠佳 / YUKA TOMONO
この記事の著者伴野悠佳 / YUKA TOMONO
教育ヲタクの1児の母。自称ニコニコキッズクリエーター。東京理科大学大学院卒。元SE。小学生の頃から教育書を読んでいた教育ヲタク。大学では、電池の素材の性質について実験とコンピューターシミュレーションを比較する研究を行っていたことがきっかけでSEになる。出産&育休後、子ども向けプログラミング教室講師、子どもたちの考える力を育てるオンライン塾の講師。