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]
1010  REM
1030  PRINT '10" ","GPAC-INITIALIZATION"
1050  LET N=141
1100  REM
1120  MAT T=ZER
1130  FOR J=1 TO 6
1135  LET P[J]=0
1140  FOR I=1 TO N
1150  LET T[J,I]=-1
1160  NEXT I
1170  NEXT J
1171  LET B$="                                    "
1180  REM
1190  PRINT '10"ENTER CLASS TITLE ";
1195  INPUT T$
1200  PRINT '10"ENTER NUMBER OF BINS DESIRED, (MAX OF 6) ";
1210  INPUT B
1220  LET B=INT(B)
1225  PRINT 
1230  IF B>0 AND B<7 THEN 1250
1240  PRINT "INPUT ERROR, B = ";B
1245  GOTO 1200
1250  PRINT "FOR EACH BIN ENTER HEADING, (MAX OF 6 CHAR)."
1255  PRINT 
1260  FOR J=1 TO B
1270  PRINT "BIN ";J;"   ";
1280  INPUT B$[6*J-5,6*J]
1290  NEXT J
1295  LET B$[37]="SCORE "
1300  PRINT '10"MODE OPTIONS:  CONSTANT WEIGHTS       (M = 1),"
1305  PRINT " ","CONSTANT PROP. FACTORS (M = 2)."
1310  PRINT '10" ENTER MODE:  M = ";
1320  INPUT M
1330  LET M=INT(M)
1335  PRINT 
1340  GOTO M OF 1370,1380
1350  PRINT "INPUT ERROR, M = ";M
1360  GOTO 1310
1370  PRINT "ENTER CONSTANT WEIGHTS"
1375  GOTO 1400
1380  PRINT "ENTER PROPORTIONALITY FACTORS"
1400  PRINT 
1405  FOR J=1 TO B
1410  PRINT B$[6*J-5,6*J];"    ";
1420  INPUT P[J]
1430  NEXT J
1440  REM
1500  PRINT '10"ENTER:  MINIMUM STUDENT NUMBER ";
1520  INPUT J
1530  LET C[1]=INT(J-1)
1540  PRINT "ENTER: LARGEST STUDENT NUMBER ";
1550  INPUT J
1560  LET C[2]=INT(J-C[1])
1565  PRINT 
1570  IF C[2]>0 AND C[2]<N THEN 1600
1580  PRINT "LARGEST CLASS SIZE ALLOWED IS ";N-1;"YOU HAVE ";C[2]
1590  GOTO 1500
1600  LET C[3]=C[2]
1700  REM
1730  FOR J=1 TO B
1740  FOR I=1 TO C[2]
1750  LET T[J,I]=0
1760  NEXT I
1770  LET T[J,N]=0
1780  NEXT J
1800  REM
1810  GOSUB 9810
1830  LET D$=N$
1840  PRINT 
1850  GOSUB 9410
1880  CHAIN "$GPACS"
9400  REM
9405  FILES CLSFIL
9409  REM
9410  READ #1,1
9411  PRINT #1;T$,B,B$,M
9412  MAT  PRINT #1;P,C
9413  PRINT #1;D$,N
9414  FOR Z1=1 TO 6
9415  FOR Z2=1 TO N
9416  PRINT #1;T[Z1,Z2]
9417  NEXT Z2
9418  NEXT Z1
9420  READ #1,1
9421  RETURN 
9800  REM
9805  DIM M[12],M$[36],Y$[10]
9806  REM
9810  LET M[1]=M[3]=M[5]=M[7]=M[8]=M[10]=M[12]=31
9811  LET M[4]=M[6]=M[9]=M[11]=30
9812  LET M[2]=29
9815  LET M$="JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
9817  LET Y$="0123456789"
9820  REM
9821  LET Z1=TIM(3)
9822  IF Z1-INT(Z1/4)*4=0 THEN 9825
9823  LET M[2]=28
9825  LET Z8=TIM(2)
9830  FOR Z2=1 TO 12
9831  IF Z8 <= M[Z2] THEN 9840
9832  LET Z8=Z8-M[Z2]
9835  NEXT Z2
9838  REM
9840  LET Z3=INT(Z8/10)
9841  IF Z3=0 THEN 9844
9842  LET N$[1]=Y$[Z3+1,Z3+1]
9843  GOTO 9845
9844  LET N$[1]=" "
9845  LET Z3=Z8-Z3*10
9846  LET N$[2]=Y$[Z3+1,Z3+1]
9847  LET N$[3]=" "
9848  LET N$[4]=M$[3*Z2-2,3*Z2]
9849  LET N$[7]=" "
9850  LET Z3=INT(Z1/10)
9851  LET N$[8]=Y$[Z3+1,Z3+1]
9852  LET Z3=Z1-Z3*10
9853  LET N$[9]=Y$[Z3+1,Z3+1]
9855  RETURN 
9999  END 
