[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] |
Generate random number
Source position: systemh.inc line 794
function Random( |
l: LongInt |
):LongInt; |
l: Int64 |
):Int64; |
Random returns a random number larger or equal to 0 and strictly less than L. If the argument L is omitted, a Real number between 0 and 1 is returned (0 included, 1 excluded).
Remark: | The Free Pascal implementation of the Random routine uses the Mersenne Twister to simulate randomness. This implementation has a better statistical distribution than for example a Linear Congruential generator algorithm, but is considerably slower than the latter. If speed is an issue, then alternate random number generators should be considered. |
None.
|
Initialize random number generator |
Program Example49; { Program to demonstrate the Random and Randomize functions. } Var I,Count,guess : Longint; R : Real; begin Randomize; { This way we generate a new sequence every time the program is run} Count:=0; For i:=1 to 1000 do If Random>0.5 then inc(Count); Writeln ('Generated ',Count,' numbers > 0.5'); Writeln ('out of 1000 generated numbers.'); count:=0; For i:=1 to 5 do begin write ('Guess a number between 1 and 5 : '); readln(Guess); If Guess=Random(5)+1 then inc(count); end; Writeln ('You guessed ',Count,' out of 5 correct.'); end.