コンピュータリテラシー演習のページへ
Rubyによるはじめてのプログラミング

乱数 - でたらめな数

プログラミングではでたらめな(ランダム)数が必要なことが多くあります。 たとえば、さいころを振るプログラムや占いのプログラムなどに代表されるゲームプログラム、 さらにもっと実務的には暗号化を行う際に欠かせないものです。

Rubyなどのプログラミング言語では、擬似的な乱数を使うことができます。 擬似乱数は人工的に生成した数で、なるべくランダムに近くなるような工夫がなされていて、 実用上はほぼランダムと考えて差し支えありません。 コンピュータにおける乱数の詳細は、Javaでの乱数利用を見てください。

Rubyの場合、randというメソッドが利用できます。 例えば、以下のように使います。

random100.rb - 0〜99までの乱数を発生するプログラム
50.times do
  print rand(100), " "
end
print "\n"

このプログラムは乱数を50個表示します。それぞれの乱数は、rand(100)で発生しています。 rand(100)とすると0〜99までの範囲で整数値で乱数を発生します。 0〜100ではない、つまり100は発生しないので注意してください。rand(100)をrand(10000)などに変えてみたりして、 色々と試してみてください。

また、単にrandとすると、0〜1までの範囲の実数値で乱数を発生します。ただし、1は含みません。あえていうなら、0.0〜0.999999… までの乱数を発生するといえば分かりやすいでしょう。

課題

  1. 上記のプログラムを修正して、さいころを振った値を表示するプログラムを作成せよ。

東京情報大学情報システム学科
大見 嘉弘(Yoshihiro OHMI)