乱数を使ってみる
Mathオブジェクトの関数の中で面白いものとしては乱数があります。乱数とは「でたらめな数」のことで、いわば電子的なサイコロです。これはrandomという関数を使います。この関数には与える値がありません。ただ random() と書けば乱数を求めることができます。
alert( Math.random() );
このように書くと0以上1未満の乱数、たとえば0.7055475などがランダムに表示されるわけです。しかし、このような小数点以下の値ではよくわかりませんので、サイコロのように1~6までの値の乱数を表示するにはどうしたらよいでしょうか?
これは計算を行えば簡単です。0以上1未満の値が返ってくるわけですから6倍すれば0~5までの値になります。あとは1を足せばいいわけです。
alert( Math.random() * 6 + 1 );
しかし、これでは小数点以下の値が出てしまいますので、出ないように小数点以下を切り捨てましょう。
alert( Math.floor(Math.random() * 6 + 1) ) ;
これで1~6の値が出るようになり、電子的なサイコロが出来ました。実行するたびに1~6のどれかの値が出るはずです。
問題3-6
上の例では1~6のサイコロが出るようなプログラムを作成しました。
今度は0~9の値が出るようなプログラムを作成してみよう。
問題3-7
1から6の目が出るさいころを二つ振ってその合計の値を表示しよう。
問題3-8
以下の値が均等の確率で出るようにプログラムしてください。
2,4,6,8,10
問題3-9
火星までの距離は7800万Kmです。
光の速さは秒速30万Kmです。
光で火星と通信するとしたら、往復何分待たなければなりませんか?
小数点以下は四捨五入して表示してください。