1  COM N
10  REM:RAN2 OF >PSAM FOR N>4000
50  REM:12MAY74
100  DIM B$[10],C[100],G[100,40]
108  DEF FNA()=INT(100*+1)
110  DEF FNB()=INT(N*+1)
180  MAT C=ZER[100]
190  MAT G=ZER[100,40]
232  PRINT '10"DESIRED SAMPLE SIZE ";
234  INPUT N1
236  IF N1<1 THEN 240
238  IF N1=INT(N1) AND N1<N THEN 260
240  PRINT "TRY AGAIN! GIVE AN INTEGER >0 AND < "N
242  GOTO 232
260  M=0
265  D=INT(N/100)
266  IF N=D*100 THEN 270
267  D=D+1
270  X=RND(M)
275  Z=FNB(X)
280  Y=INT(Z/D)
282  IF Z=D*Y THEN 302
284  Y=Y+1
302  IF C[Y]=0 THEN 310
304  FOR I=1 TO C[Y]
306  IF Z=G[Y,I] THEN 270
308  NEXT I
310  C[Y]=C[Y]+1
312  G[Y,C[Y]]=Z
314  M=M+1
316  IF M=N1 THEN 330
320  GOTO 270
330  FOR I=1 TO 100
340  IF C[I] <= 1 THEN 500
350  FOR J=1 TO C[I]-1
360  FOR K=J+1 TO C[I]
370  IF G[I,J]<G[I,K] THEN 390
375  T=G[I,J]
380  G[I,J]=G[I,K]
385  G[I,K]=T
390  NEXT K
395  NEXT J
500  NEXT I
680  PRINT '10"THE FOLLOWING MEMBERS OF THE POPULATION OF "N
690  PRINT "COMPRISE THE SAMPLE OF "N1":"'10'13
692  K=0
694  Z=10
696  B$="#,2X5D"
698  IF N<100000. THEN 710
700  Z=5
702  B$="#,3X6D"
710  FOR I=1 TO 100
715  IF C[I]=0 THEN 770
720  FOR J=1 TO C[I]
740  PRINT  USING B$;G[I,J]
750  K=K+1
752  IF K#Z*INT(K/Z) THEN 760
754  PRINT 
760  NEXT J
770  NEXT I
775  PRINT 
800  GOTO 9998
9998  PRINT '10"TYPE 'GET-$IDA' AND 'RUN' TO ENTER IDA AGAIN."
9999  END 
