0 CLS:PRINT"B=BEGIN E=END A=BACK":CLEAR6000:DIMV(1000),A,B,C,X,Z,P1,MV,MC,V$(1000),I$
1 READV$(C):READV(C):C=C+1:V$(C)="WEIGHT":READV(C)
2 C=C+1:V$(C)="STUDENTS"
3 C=C+1:V$(C)="TOTAL":C=C+1:V$(C)="AVERAGE"
4 MV=MV+1
5 IFMV=20THENPRINT"TOO MANY ASSIGNMENTS":END
6 IFV(C-3)<100THENC=C+1:GOTO1
8 MV=MV-1:GOTO100
9 REM ASSIGNMENT,OUT OF,WEIGHT
10 DATA "ESSAY1",12,10
11 DATA "MIDTERM",31,25
12 DATA "ESSAY2",15,25
13 DATA "FINAL EXAM",36,40
98 REM KEEP NEXT LINE
99 DATA "GRADE",100,100
100 C=99
101 C=C+1:X=0:READI$:IFC+MV>1000THENPRINT"TOO MANY STUDENTS":END
102 IFI$="999"THEN105
103 V$(C)=I$+" "+V$(X):FORX=1TOMV:C=C+1:V$(C)=V$(5*X):NEXTX
104 GOTO101
105 MC=C
110 GOSUB10100
115 V(C+(MV))=0:FORA=0TOMV-1
120 GOSUB9999:IFZ>0ANDC=99THEN110
125 B=A*5:V(C+(MV-A))=V(C+(MV-A))+((X*100)/V(B))*(V(B+1)/100)
130 IFV(C)>0THENGOSUB160
135 C=C+1:NEXTA
140 B=A*5:IFV(C)>0THENGOSUB160:V(C)=INT(V(C)+.5)
145 PRINTV(C);V$(C):C=C+1
150 IFC=MCTHEN10230
155 GOTO115
160 V(B+2)=V(B+2)+1:V(B+3)=V(B+3)+V(C):V(B+4)=V(B+3)/V(B+2):RETURN
9999 X=V(C):PRINTX;V$(C);
10000 IFZANDINKEY$=""ANDC<>ZTHENPRINT:GOTO10090
10005 INPUTI$
10010 Z=0:IFI$=""THEN10090
10020 IFI$="B"THENZ=1:C=99:GOTO10090
10030 IFI$="E"THENZ=-1:GOTO10090
10040 IFI$="A"THENZ=C-A-MV-1:C=99:GOTO10090
10080 IFASC(I$)<58THENX=VAL(I$):V(C)=X
10090 RETURN
10100 CLS:FORC=0TO(5*MV)STEP5:V(C+2)=0:V(C+3)=0:V(C+4)=0:NEXTC
10110 C=100:IFZ<100THENZ=0
10120 RETURN
10200 PRINT:FORC=100TOMC-1:PRINTV$(C);V(C):IFP1=1THENLPRINTV$(C);V(C)
10210 NEXTC:PRINT:FORC=0TO(5*MV)+4:PRINTV$(C);V(C):IFP1=1THENLPRINTV$(C);V(C)
10220 NEXTC
10230 P1=0:Z=0:PRINT"F=FILE P=PRINT L=LIST C=CONTINUEQ=QUIT"
10240 I$=INKEY$:IFI$=""THEN10240
10250 IFI$="P"THENP1=1:GOTO10200
10260 IFI$="Q"THENEND
10270 IFI$="F"THENGOSUB13000:GOTO110
10280 IFI$="L"THEN10200
10290 P1=0:IFI$="C"THEN110
10300 GOTO10240
13000 INPUT"FILENAME";F$
13010 INPUT"ENTER S TO SAVE OR L TO LOAD";I$
13020 IFI$="S"THEN CSAVE*V,L$
13030 IFI$="L"THEN CLOAD*V,L$
13040 RETURN
14200 DATA Alexander*A,Anderson*B,Astritis*C,Banks*D,Bartold*E,Bauer*F,Beckett*G,Bedard*H,Bennewies*I,Bly*J
14210 DATA Burgess*K,Burroughs*L,Clarke*M,Clayton*N,Collins*O,Courtney*P,Devine*Q,Dodd*R,Fernandes*S,Gerrie*J
14220 DATA Gravelines*T,Gunn*W,Haller*X,Hammond*Y,Hawkins*Z,Hill*A,Hill*B,Horseman*C,Hubbard*D,Jenner*L
14230 DATA Johnson*E,Katzsch*F,Kelly*G,Khan*H,Kirk*I,Leach*J,LeBlanc*K,Lennox*L,Loftman*M,MacLennan*N
14240 DATA Maguire*O,Mazzucco*P,McCraken*R,McKechnie*S,McLean*T,McLester*J,McQueen*G,Mezenauer*J,Mohsini*E,Morris*E
14250 DATA Mullin*J,Murray*D,Najera*D,Newman*J,Pelosi*H,Petrie*L,Quinn*B,Randall*A,Ritchie*G,Roos*C
14260 DATA Roos*H,Roos*K,Roos*P,Roos*R,Russell*B,Schmidt*T,Sinnott*E,Siversky*B,Sledziewski*J,Smith*A
14270 DATA Smith*B,Smith*C,Smith*D,Smith*E,Smith*F,Smith*G,Smith*H,Smith*I,Smith*J,Smith*K
14280 DATA Smith*L,Smith*M,Smith*N,Smith*O,Smith*P,Stone*C,Tanchak*B,Taormina*D,Thompson*L,Tomassi*J
14290 DATA Trafford*K,Tutkaluk*C,Violin*H,Vlcek*T,Walker*K,Ward*C,Westman*S,Young*D,Young*M,Zurawinski*M
14998 REM KEEP NEXT LINE
14999 DATA 999
