RND
(関数)
【SLIM準拠】

0以上1以下の乱数を発生します。

RND (<数式>)

<数式>の値により、下表に示すように処理します。
<数式>は整数値を取ります。実数値を入れた場合、切り捨てが行なわれ整数に変換されます。
数式の値
|
処 理
|
---|---|
数式 < 0
|
<数式>を乱数のシード値とします。シード値が同じであれば、RND関数の戻り値は常に同一値です。
|
数式 = 0
|
直前に発生した乱数を発生します。ロボットコントローラの電源投入後、一度も乱数を発生していない場合は、0を返します。
|
数式 > 0
|
乱数系列の次の乱数を発生します。
|

Rnd 関数は 0 以上、1 未満の範囲の値を返します。引数の値によって、Rnd 関数が返す乱数が決まります。初期シード値が変わらない限り、一連の Rnd 関数が返す乱数系列は同じになります。これは、連続する各 Rnd 関数が乱数系列の中の直前の乱数をシード値として、次の乱数をそれぞれ生成するためです。

乱数のシード値が同一の場合、その後得られる乱数系列は同一の系列となります。毎回違った系列を得たい場合には、シード値としてTIMER関数の戻り値などを使ってください。

DIM array(10) As Single
|
|
array(0) = RND(-TIMER)
|
'乱数のシード値をTIMER関数で与えます。
|
FOR I1 = 1 TO 9
|
|
array(I1) = RND(1)
|
'乱数を得ます。
|
NEXT I1
|
|