乱数☆☆

rnd関数
RND  疑似乱数 0≦RND<1
 <備考> RNDは予約語

randomize文
RANDOMIZE
 疑似乱数の系列の出発点を予測できないものにする。

1から6までの整数の乱数を20個発生させる(さいころの代用)。

10 RANDOMIZE
20 FOR t=1 TO 20
30   LET n=1+INT(6*RND)
40   PRINT n
50 NEXT t
60 END

 10行のRANDOMIZE文がないと,このプログラムは,毎回,同じ乱数列を発生する。

<Note> RANDOMIZE文に引数は不要。(Microsoft BASICと異なる)

独自拡張
RANDOMIZE文の引数に0〜4294967295の整数を指定すると,その数値を用いて乱数列を初期化する。
例 RANDOMIZE 5489

<補足>
RNDは,Mersenne Twister法により生成される擬似乱数。2進モードと複素数モードでは52ビット,十進モード,十進1000桁モード,有理数モードでは50ビットの精度を持つ。
乱数生成アルゴリズムは,松本眞・西村拓士 両氏による2002年版 mt19937ar.cによる。

<参考>
十進BASIC Q&A 標準正規分布に従う乱数