10  COM X[103,22],M[19,19],U[19,19],Q[20],V[20],P[78]
30  COM M$[60],N$[72]
40  COM N,K,N8,K8,N9,K9,Q9,Q7,Q5,Q4,Q3,Q2,Q1
45  COM I3,I4,U9,X$[20]
50  REM:12MAY74
60  REM:>FREQ
100  DEF FNB()=INT(27.5+5*)
150  DIM D[563],G[53],H[53],A$[12]
330  Z1=Q[8]
340  N1=0
350  FOR I=Q4 TO N
360  IF X[I,K9+2]=0 THEN 390
370  N1=N1+1
380  D[N1]=X[I,Z1]
390  NEXT I
400  M1=D[1]
410  M2=D[1]
420  FOR I=2 TO N1
430  IF M1 <= D[I] THEN 450
440  M1=D[I]
450  NEXT I
455  FOR I=2 TO N1
460  IF M2 >= D[I] THEN 480
470  M2=D[I]
480  NEXT I
490  PRINT "MIN. OBS. =";M1;"MAX. OBS. =";M2
500  PRINT "MEAN =";X[N9+1,Z1];"STD. DEV. =";X[N9+2,Z1]
510  PRINT "SAMPLE SIZE=";N1
512  PRINT 
515  GOTO Q9 OF 520,520,540
520  PRINT "* GIVE MIDPOINT OF A CENTRAL INTERVAL OF TABLE: ";
530  GOTO 550
540  PRINT "* MIDPOINT: ";
550  ENTER 30,Q8,M1
555  PRINT 
560  IF Q8>0 THEN 575
561  PRINT 
562  PRINT "CHOOSE A CONVENIENT NUMBER NEAR THE MEAN AND/OR ONE NOT"
564  PRINT "TOO FAR FROM HALFWAY BETWEEN THE MIN.OBS. AND MAX.OBS."
566  PRINT 
570  GOTO 540
575  GOTO Q9 OF 580,580,600
580  PRINT "* GIVE WIDTH OF EACH CLASS INTERVAL OF TABLE: ";
590  GOTO 610
600  PRINT "* WIDTH OF INTERVAL: ";
610  ENTER 30,Q8,M2
615  PRINT 
620  IF Q8>0 THEN 699
621  PRINT 
622  PRINT "USE YOUR COMMON SENSE, OR"
623  PRINT "TRY A 'ROUND NUMBER' ABOUT 1/2 THE STD.DEV."
624  PRINT 
630  GOTO 600
699  M2=M2*5
700  FOR I=1 TO N1
710  D[I]=(D[I]-M1)/M2
720  NEXT I
2000  IMAGE #," OBS. IN ROW ",3D," AN OUTLIER; INCLUDED IN "
2010  FOR I=1 TO N1
2020  D[I]=FNB(D[I])
2030  IF D[I]>.9 THEN 2070
2040  D[I]=1
2045  GOSUB 8000
2050  PRINT  USING 2000;J
2060  PRINT "FIRST CLASS."
2070  IF D[I]<53.1 THEN 2120
2080  D[I]=53
2085  GOSUB 8000
2090  PRINT  USING 2000;J
2100  PRINT "LAST CLASS."
2120  NEXT I
2130  PRINT 
6005  MAT G=ZER
6006  MAT H=ZER
6060  FOR I=1 TO N1
6073  Z=D[I]
6074  G[Z]=G[Z]+1
6080  NEXT I
6090  H[1]=G[1]
6100  FOR I=1 TO 52
6110  H[I+1]=H[I]+G[I+1]
6120  NEXT I
6130  FOR I=1 TO 53
6135  G[I]=100*G[I]/N1
6140  H[I]=100*H[I]/N1
6150  NEXT I
6151  IF Q3#1 THEN 6162
6152  A$[1,11]="OF '      '"
6153  IF Z1<11 THEN 6158
6154  Z=Z1-10
6155  A$[5,10]=N$[6*Z-5,6*Z]
6157  GOTO 6159
6158  A$[5,10]=M$[6*Z1-5,6*Z1]
6159  A$=A$[1,11]
6160  GOTO 6164
6162  A$=" "
6164  PRINT "FREQUENCY DISTRIBUTION "A$
6170  PRINT 
6180  PRINT "  CLASS ";TAB(40)"CUMULATIVE"
6190  PRINT "MIDPOINT";TAB(20);"PERCENTAGE";TAB(40)"PERCENTAGE"
6210  Z6=-1
6220  FOR I=1 TO 53
6230  IF H[I]<.01 THEN 6325
6240  Z6=Z6+1
6250  IF Z6/5-INT(Z6/5)>.01 THEN 6270
6260  PRINT 
6270  PRINT  USING "#,DD.DE";M1+(.2*I-5.4)*M2
6280  PRINT TAB(22)"";
6290  PRINT  USING "#,3D.D";G[I]
6300  PRINT TAB(42)"";
6310  PRINT  USING "3D.D";H[I]
6325  IF H[I]>99.999 THEN 6340
6330  NEXT I
6340  PRINT 
6350  PRINT "  TOTAL ";
6360  PRINT TAB(22)"";
6370  PRINT  USING "3D.D";H[I]
6372  PRINT "(NUMBER)";
6374  PRINT TAB(22)"(";
6376  PRINT  USING "#,3D";N1
6378  PRINT ")"
6380  PRINT 
7999  GOTO 9998
8000  N3=0
8010  FOR J=Q4 TO N
8020  IF X[J,K9+2]=0 THEN 8050
8030  N3=N3+1
8040  IF N3=I THEN 8060
8050  NEXT J
8060  RETURN 
9998  CHAIN "$IDA",150
9999  END 
