RANDM
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
|
xcall RANDM(number, seed_1, seed_2)
Arguments
number
Returned with the next random number in the sequence. (n)
seed_1
seed_2
Variables that together determine the next random number to be generated. (n)
Discussion
The RANDM subroutine generates a random number from 0 to 32767.
RANDM generates a random number based on two seed values. Seed_1 and seed_2 must be at least five digits long.
After the number is generated, the RANDM subroutine automatically updates the values in seed_1 and seed_2, so you can call RANDM several times successively to generate a sequence of random numbers.
You can start a new sequence by changing the values in seed_1 and seed_2. Each seed value must be between 0 and 32767.
The following example generates a random number in the format ZZ,ZZX, based on two numbers entered by the user.
.define TTCHN ,1 record random ,d5 seed1 ,d5 seed2 ,d5 io ,a10 count ,d4 i ,d4 proc open(TTCHN, i, "tt:") display(TTCHN, "Enter value for seed 1: ") reads(TTCHN, io) seed1 = io display(TTCHN, "Enter value for seed 2: ") reads(TTCHN, io) seed2 = io display(TTCHN, "How many numbers? ") reads(TTCHN, io) count = io for i from 1 thru count begin xcall randm(random, seed1, seed2) io = random, "ZZ,ZZX" writes(TTCHN, io) end stop end