Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-01 - decus/20-0020/random.uti
There are 2 other files named random.uti in the archive. Click here to see a list.
1000'  NAME--RANDOM
1010'
1020'  DESCRIPTION--A SUBROUTINE WHICH RANDIMLY ORDERS THE
1030'  INTEGERS FROM 1 TO N, AND STORES THEM IN A VECTOR.
1040'
1050'  SOURCE--UNKNOWN
1060'
1070'  INSTRUCTIONS--THE ROUTINE USES THE VARIABLE N TO SPECIFY THE
1080'  LENGTH OF THE SEQUENCE. TO USE SOME OTHER VARIABLE CHANGE
1090'  THE LET STATEMENT IN LINE 1160 . THE LIST P( ) IS USED
1100'  TO STORE THE RANDOM SEQUENCE. THE OTHER VARIABLES USED ARE
1110'  Z4,Z5,Z6,Z7,AND Z8.
1120'
1130'
1140'  *  *  *  *  *  *  *  *  MAIN PROGRAM  *  *  *  *  *  *  *  *  *
1150'
1160  LET Z4 = N
1170  MAT P=ZER
1180  FOR Z5 = 1 TO Z4
1190     LET Z6 = INT( (Z4+1-Z5)*RND ) + 1
1200     LET Z7 = 0
1210     FOR Z8 = 1 TO Z4
1220        IF P(Z8) <> 0 THEN 1260 
1230        LET Z7 = Z7 + 1
1240        IF Z7 <> Z6 THEN 1260
1250        LET P(Z8) = Z5
1260     NEXT Z8
1270  NEXT Z5
1280  RETURN