1.乱数とは
ランダムに数字や単語を特定の場所にはりつけることができます。
数字の場合、数字の範囲を決めてその中からランダムに数字をはじき出すことができます。
単語の場合、特定の単語を入力しておき、その中からランダムに組み合わせを作ることができます。
以下に、乱数の使用例を示します。
例;さいころゲーム
Sub saikoro()
Cells(1,1) = Int(Rnd * 6) + 1
End Sub
Int(Rnd * 6)とは、0から5の値の中からランダムに一つ選ぶことができる機能です。
Int(Rnd * 6) + 1 にすることで、1から6の値から一つの数字をはじき出すことができ、さいころゲームが成立します。
例;今日のラッキーカラー
Sub namae()
Cells(10,1) = Cells(Int(Rnd * 8) + 1, 1)
End Sub
A |
|
1 |
赤 |
2 |
青 |
3 |
緑 |
4 |
紫 |
5 |
ピンク |
6 |
黄 |
7 |
紺 |
8 |
白 |
9 |
|
10 |
青 |
あらかじめCells(1~8,1)に特定の色を入力しておきます。
先ほど説明したように、Int(Rnd * 8) + 1にすることで、1から8のランダムに入力した色の中から一つをはじき出すことができます。
そうして選ばれた色がCells(10, 1)に表示されます。
2.乱数を使うとなぜ便利なのか
ゲームをしている時に、毎回同じ結果になったらつまらないですよね。乱数を使うと、プログラムを実行するたびに異なる結果が得られるようになります。
例えば、乱数を使えば、30人の生徒からランダムに1人を選んだり、異なる数字をランダムに表示しビンゴゲームを開催する、といったことが可能になります。
3.練習問題
プログラムを作成する上で欠かせない乱数に関して、理解できましたか? 以下の練習問題を解いて、定着度を確認してみましょう。
1 以下のプログラムを実行した場合、Cells(1,1)には何から何の数字が入る可能性があるでしょうか?
Cells(1,1)=Int(Rnd*5)
2 Cells(1,1)に1~7までの数字が入る可能性があるプログラムを実行する場合、どのようなコードを書けばいいでしょうか?
3 以下のプログラムを実行した場合、Cells(1,3)に入ることのない名前は何でしょうか?
Cells(1,3)=Cells(Int(Rnd*4)+1,1) & Cells(Int(Rnd*4)+2,2)
1 佐藤しおり 2 坂本しょうへい 3 村田あかり 4 池田ゆうき 5 山本しおり
A |
B |
C |
|
1 |
佐藤 |
あかり |
|
2 |
池田 |
しょうへい |
|
3 |
山本 |
みく |
|
4 |
坂本 |
ゆうき |
|
5 |
村田 |
しおり |
答え
1.0から4
2.Cells(1,1) = Int(Rnd * 7) + 1
3.3
コメント
最新を表示する
読みやすくて、わかりやすいと思います。
Templateだけちょっと変わったら、方がみやすくなるかもしれません。
練習問題でも「名前組み合わせゲーム」を使っているので、「1.乱数とは」では他の例を使ったらどうでしょうか? たとえば、色の名前がセルに入っていて、その中からラッキーカラーをランダムに1つ表示する占いプログラムなど
良い点
シンプルでわかりやすい!
とても見やすいと思います。
改善点
特になし
冒頭のところで、乱数を使うと何が便利なのかをもう少し強調した方が良いと思いました。例えば、以下のように書いてみたらどうでしょうか?
「ゲームをしている時に、毎回同じ結果になったらつまらないですよね。乱数を使うと、プログラムを実行するたびに異なる結果が得られるようになります。
例えば、乱数を使えば、30人の生徒からランダムに1人を選んだり、ピッチャーが毎回違う変化球を投げてくる、といったことが可能になります。」
良い点
簡潔で見やすく、わかりやすい。必要最低限の情報が集まっている。
最後の問題も、123とレベルが上がっていて、順番に確認できる。
改善点
特に見つからない
よかった点
書式がシンプルであり、読みやすい上に忘れがちな+1のところが強調されており見落として範囲が変わってしまうということがなくなりそうで非常によいと思った。
また例がわかりやすく実際に乱数を使用する際にどのように使用すればよいのかがわかりやすい点もよいと思った。
改善したほうがよい点、追加したほうがよい点
練習問題でプロシージャーを実行した際の結果を答える問題ばかりではなく、実際にこの範囲からランダムに数値を出したいときにはどのように書けばよいかといったタイプの問題があればなお良いと思った。
1つ1つ丁寧に説明されておりわかりやすいなと感じました。
練習問題に簡単な解説があるとより良いのではと思います。
NG表示方式
NGID一覧