1000  COM T$[30],B,B$[42],M,P[6],C[3],D$[9],N,T[7,141]
1001  COM C$[6],O$[6],K,W[6],F,N$[9]
4000  REM
4010  DIM E[140],X[6],G$[5]
4800  REM
4805  LET G$="FDCBA"
4810  PRINT 
4820  PRINT "  STAT OPTION ";
4825  INPUT O$[1,6]
4827  LET G9=0
4830  PRINT 
4840  IF O$[1,3]="HEL" THEN 4870
4845  IF O$[1,3]="RET" THEN 4898
4850  IF O$[1,3]="SCA" THEN 4900
4855  IF O$[1,3]="STA" THEN 4950
4860  PRINT "INVALID"
4865  PRINT 
4870  PRINT "HELP:      LIST OF OPTIONS"
4875  PRINT "RETURN:    RETURN TO COMMAND"
4880  PRINT "SCALE:     T-SCORES WITH INPUT FOR BASE AND SCALING"
4885  PRINT "STANDARD:  Z-SCORES"'10
4893  GOTO 4810
4898  CHAIN "$GPACC"
4899  REM
4900  GOSUB 9610
4903  IF K=8 THEN 4810
4905  PRINT "BASE AND SCALE FACTOR ";
4910  INPUT M9,D9
4920  LET F9=1
4921  PRINT "DO YOU WISH GRADES ";
4922  INPUT C$
4923  IF C$[1,1]="N" THEN 5050
4925  LET G9=1
4926  PRINT "LOWER LIMITS FOR D,C,B,A ";
4927  INPUT X[2],X[3],X[4],X[5]
4928  LET X[1]=-1.E+10
4929  LET X[6]=+1.E+10
4930  GOTO 5050
4950  LET M9=F9=0
4960  LET D9=1
4970  GOSUB 9610
4980  IF K=8 THEN 4810
5050  REM
5052  MAT E=ZER
5075  PRINT '10"-"'10'10,T$;TAB(50);D$
5095  PRINT 
5100  PRINT TAB(6);"S.N.";TAB(20);B$[6*K-5,6*K];"   ";
5140  IF F9=0 THEN 5160
5142  PRINT "T-SCORE  ";
5143  IF G9=0 THEN 5145
5144  PRINT "GRADE  ";
5145  PRINT "  B,S: "M9;D9
5150  GOTO 5170
5160  PRINT "Z-SCORE"
5170  LET A=D=I1=0
5175  PRINT 
5180  FOR I=1 TO C[2]
5182  IF T[1,I]=-1 THEN 5187
5184  LET A=A+T[K,I]
5185  LET D=D+T[K,I]*T[K,I]
5187  NEXT I
5190  LET A=A/C[3]
5192  LET D=SQR((D-A*A*C[3])/(C[3]-1))
5200  LET L=6
5210  FOR I=1 TO C[2]
5220  IF T[1,I]=-1 THEN 5520
5221  LET X=-.5
5223  FOR I9=1 TO C[2]
5224  IF T[1,I9]=-1 THEN 5230
5225  IF T[K,I9] <= X OR E[I9]=1 THEN 5230
5226  LET X=T[K,I9]
5228  LET I2=I9
5230  NEXT I9
5232  LET I1=I1+1
5233  PRINT I1;I2+C[1],
5250  LET Z=T[K,I2]
5260  IF K=7 THEN 5290
5280  GOSUB 9910
5285  GOTO 5300
5290  GOSUB 9920
5300  LET Z=M9+(T[K,I2]-A)/D*D9
5330  GOSUB 9920
5332  IF G9=0 THEN 5340
5333  FOR X9=1 TO 5
5334  IF Z >= X[X9] AND Z<X[X9+1] THEN 5338
5335  NEXT X9
5338  PRINT "     ";G$[X9,X9];
5340  PRINT 
5345  LET E[I2]=1
5350  LET L=L+1
5370  IF L<56 OR C[3]<I1+4 THEN 5520
5400  PRINT '10'10'10'10'10'10'10'10'10'10"-"'10'10,T$,"     CONT"
5470  PRINT '10;TAB(6);"S.N.";TAB(20);B$[6*K-5,6*K];"   ";
5482  IF F9=0 THEN 5487
5483  PRINT "T-SCORE"
5485  GOTO 5490
5487  PRINT "Z-SCORE"
5490  PRINT 
5500  LET L=6
5520  NEXT I
5530  PRINT 
5540  PRINT "POSSIBLE",
5550  LET Z=100
5555  IF K=7 THEN 5575
5560  LET Z=T[K,N]
5565  GOSUB 9910
5570  GOTO 5590
5575  GOSUB 9920
5590  PRINT 
5600  PRINT "AVERAGE",
5610  LET Z=A
5620  GOSUB 9920
5670  PRINT 
5680  PRINT "DEVIATION",
5690  LET Z=D
5740  GOSUB 9920
5745  PRINT 
5750  FOR I2=1 TO 62-L
5760  PRINT '10;
5770  NEXT I2
5780  PRINT "-"
5800  GOTO 4810
9600  REM
9606  DIM K$[6]
9607  REM
9610  PRINT 
9611  PRINT "   KEY ";
9612  INPUT K$[1,6]
9613  PRINT 
9614  IF K$="HELP  " THEN 9625
9615  FOR K=1 TO B
9616  IF K$=B$[6*K-5,6*K] THEN 9640
9617  NEXT K
9620  LET K=7
9621  IF K$="SCORE " THEN 9640
9622  LET K=8
9623  IF K$="RETURN" THEN 9640
9624  PRINT "INVALID KEY,",
9625  PRINT "POSSIBLE KEYS ARE:"
9626  PRINT "  HELP";
9627  GOSUB 9710
9628  FOR Z1=1 TO 8-B
9629  PRINT " ";
9630  NEXT Z1
9631  PRINT "SCORE ";
9632  FOR Z1=1 TO 8-B
9633  PRINT " ";
9634  NEXT Z1
9635  PRINT "RETURN"
9636  PRINT 
9637  GOTO 9610
9640  RETURN 
9700  REM
9710  FOR Z1=1 TO B
9726  FOR Z2=1 TO 8-B
9727  PRINT " ";
9728  NEXT Z2
9729  PRINT B$[6*Z1-5,6*Z1];
9730  NEXT Z1
9740  RETURN 
9900  REM
9905  DIM Z$[10]
9910  LET Z9=INT(Z+.5)
9911  LET Z7=Z8=0
9912  GOTO 9926
9920  LET Z9=INT(ABS(Z)*10+.5)/10
9921  LET Z7=-2
9922  LET Z8=-1
9923  IF Z<0 THEN 9926
9925  LET Z8=0
9926  LET Z$="0123456789"
9928  LET Z1=1
9929  IF Z9<10 THEN 9940
9930  LET Z1=2
9931  IF Z9<100 THEN 9940
9932  LET Z1=3
9933  IF Z9<1000 THEN 9940
9934  LET Z1=4
9940  FOR Z2=1 TO 10+Z8+Z7-Z1
9941  PRINT " ";
9942  NEXT Z2
9943  IF Z8=0 THEN 9950
9944  PRINT "-";
9950  FOR Z2=Z1-1 TO 0 STEP -1
9951  LET Z4=10^Z2
9952  LET Z3=INT(Z9/Z4)+1
9953  PRINT Z$[Z3,Z3];
9955  LET Z9=Z9-Z3*Z4+Z4
9956  NEXT Z2
9960  IF Z7=0 THEN 9970
9961  PRINT ".";
9962  LET Z3=INT(Z9*10+.5)+1
9963  PRINT Z$[Z3,Z3];
9970  RETURN 
9999  END 
