1370 PRINT "OPTIONS:": PRINT : PRINT "PRINT: (8) CURRENT DATE": PRINT "(1) TEST GRADES (9) MESSAGE": PRINT "(2) TEST CONTENTS ": PRINT "(3) ACCUMULATED OR DO:": PRINT " POINTS (A) DROP TEST"
1380 PRINT "(4) LETTER GRADES (B) ERASE AND": PRINT " AND % TOTALS GET TOTALS": PRINT "(5) STUDENTS' (C) ADJUST SCORES": PRINT " IDENTIFICATIONS (D) CHANGE PRINTER": PRINT "(6) MEAN OF A TEST STATUS"
1390 PRINT "(7) STANDARD (E) RETURN TO": PRINT " DEVIATION MAIN MENU"
1400 VTAB 23: HTAB 1: PRINT "PRINTER STATUS: ";: FLASH : PRINT S$;: NORMAL : IF P1 = 0 THEN HTAB 17: INVERSE : PRINT S$;: NORMAL
1820 PRINT D$"PR#0": IF P1 = 1 THEN PRINT D$"PR#"SL: GOTO 1840
1830 HOME : PRINT
1840 PRINT : PRINT "TEST CONTENTS:": PRINT
1850 FOR II = 1 TO 15: IF LEN(TT$(II)) = 0 THEN 1890
1860 IF II <10 THEN PRINT "TEST # ";II;": ";TT$(II)
1870 IF II >9 THEN PRINT "TEST #";II;": ";TT$(II)
1880 NEXT
1890 PRINT : PRINT : PRINT D$"PR#0"
1900 IF P1 = 0 THEN VTAB 23: PRINT "PRESS SPACE BAR TO CONTINUE --> ";: GET BW$
1910 RETURN
1920 REM PRINT ACCUM. PTS.
1930 VTAB 23: INPUT "POINTS ACCUMULATED UP TO TEST # -->";KK: PRINT D$"PR#0": IF P1 = 1 THEN PRINT D$"PR#"SL
1940 PRINT : PRINT "ACCUMULATED POINTS UP TO TEST # ";KK;":": PRINT : IF P1 = 0 THEN HOME : PRINT "ACCUMULATED POINTS UP TO TEST # ";KK;":": PRINT
1950 FOR J = 1 TO NO(F):MP% = 0
1960 IF J <10 THEN PRINT SPC( 5);"(";J;")",
1970 IF J >9 THEN PRINT SPC( 4);"(";J;")",
1980 FOR II = 1 TO KK
1990 MP% = MP% +M%(II,J): NEXT
2000 PRINT MP%
2010 IF P1 = 1 THEN 2030
2020 IF (J/20) = INT(J/20) THEN VTAB 24: PRINT "PRESS SPACE BAR TO CONTINUE --> ";: GET BW$: HOME : PRINT "ACCUMULATED POINTS UP TO TEST # ";KK: PRINT
2030 NEXT
2040 PRINT D$"PR#0"
2050 IF P1 = 0 THEN VTAB 23: PRINT "PRESS SPACE BAR TO CONTINUE --> ";: GET BW$
2060 RETURN
2070 REM LETTER & % GRADES
2080 HOME : PRINT : PRINT : INPUT "GRADES CALCULATED UP TO TEST # -> ";KK: IF KK >15 THEN 2080
2090 P5 = 1: PRINT : PRINT "DO YOU WANT TO ENTER A WEIGHT FOR": PRINT "EACH TEST SCORE (Y/N) ? ";: GET Y$: PRINT Y$
2100 IF Y$ = "N" THEN P5 = 0: GOTO 2140
2110 IF Y$ < >"Y" THEN GOTO 2080
2120 PRINT : PRINT "ENTER PERCENTAGE WEIGHT & TOTAL POINTS"
2130 FOR I = 1 TO KK: VTAB 9: HTAB 1: PRINT "FOR TEST # ";I;" (E.G. 25,100) ";: HTAB 9:: HTAB 29: INPUT ": ";P6(I),P8(I): NEXT : GOTO 2150
2140 PRINT : INPUT "ENTER TOTAL POSSIBLE POINTS -> ";PP
2150 PRINT : PRINT "PERCENTAGES FOR LETTER GRADES": INPUT "(A,B,C,D) -> ";A,B,C,D: IF P1 = 0 THEN 2400
2160 IF P5 = 0 THEN 2190
2170 IF P5 = 1 THEN PRINT D$"PR#"SL: PRINT : PRINT "GRADES CALCULATED UP TO TEST # ";KK: PRINT "PERCENTAGES FOR LETTER GRADES (A,B,C,D): ";A;",";B;",";C;",";D
2180 PRINT "PERCENTAGE WEIGHT FOR EACH TEST :": PRINT : PRINT " TEST # TOTAL POINTS % WEIGHT": FOR I = 1 TO KK: HTAB (4): PRINT I;: HTAB (16): PRINT P8(I);: HTAB (31): PRINT P6(I);"%": NEXT : GOTO 2200
2190 PRINT D$"PR#"SL: PRINT : PRINT : PRINT "GRADES CALCULATED UP TO TEST # ";KK: PRINT "TOTAL POSSIBLE POINTS: ";PP: PRINT "PERCENTAGE FOR LETTER GRADES (A,B,C,D): ";A;",";B;",";C;",";D
2200 PRINT : PRINT : PRINT "PERCENTAGES AND LETTER GRADES:": PRINT : PRINT " STUDENT # PERCENTAGE GRADE"
2210 FOR J = 1 TO NO(F):MP% = 0
2220 IF J <10 THEN PRINT SPC( 9);J;
2230 IF J >9 THEN PRINT SPC( 8);J;
2240 IF P5 = 1 THEN M2 = 0: FOR II = 1 TO KK:M2 = M2 +M%(II,J)/P8(II) *P6(II): NEXT :PZ = INT(M2 *100.0)/100.0: GOTO 2290
2250 FOR II = 1 TO KK
2260 MP% = MP% +M%(II,J): NEXT
2270 PZ = MP%/PP *10000.00
2280 PZ = INT(PZ)/100.00
2290 IF PZ > = 100.0 THEN PRINT SPC( 10);PZ;
2300 IF PZ > = 10.0 AND PZ <100.0 THEN PRINT SPC( 11);PZ;
2310 IF PZ <10.0 THEN PRINT SPC( 12);PZ;
2320 HTAB 36
2330 IF PZ > = (A) THEN PRINT "A": NEXT : GOTO 2380
2340 IF PZ > = (B) THEN PRINT "B": NEXT : GOTO 2380
2350 IF PZ > = (C) THEN PRINT "C": NEXT : GOTO 2380
2360 IF PZ > = (D) THEN PRINT "D": NEXT : GOTO 2380
2370 IF PZ <(D) THEN PRINT "F": NEXT
2380 PRINT : PRINT : PRINT D$"PR#0"
2390 RETURN
2400 HOME : PRINT " STUDENT # PERCENTAGE GRADE": PRINT
2410 FOR J = 1 TO NO(F):MP% = 0
2420 HTAB 8: PRINT J;
2430 IF P5 = 1 THEN M2 = 0: FOR II = 1 TO KK:M2 = M2 +M%(II,J)/P8(II) *P6(II): NEXT :PZ = INT(M2 *100.0)/100.0: GOTO 2480
2440 FOR II = 1 TO KK
2450 MP% = MP% +M%(II,J): NEXT
2460 PZ = MP%/PP *10000.00
2470 PZ = INT(PZ)/100.00
2480 HTAB 21: PRINT PZ;: HTAB 36
2490 IF PZ > = (A) THEN PRINT "A": GOSUB 550: NEXT : GOTO 2540
2500 IF PZ > = (B) THEN PRINT "B": GOSUB 550: NEXT : GOTO 2540
2510 IF PZ > = (C) THEN PRINT "C": GOSUB 550: NEXT : GOTO 2540
2520 IF PZ > = (D) THEN PRINT "D": GOSUB 550: NEXT : GOTO 2540
2530 IF PZ <(D) THEN PRINT "F": GOSUB 550: NEXT
2540 VTAB 24: HTAB 1: PRINT "PRESS SPACEBAR TO CONTINUE --> ";: GET BW$: RETURN
2600 PRINT D$"PR#0": IF P1 = 1 THEN PRINT D$"PR#"SL
2610 PRINT : PRINT : PRINT " STUDENT NUMBER IDENTIFICATION": PRINT : IF P1 = 0 THEN HOME : PRINT " STUDENT NUMBER IDENTIFICATION": PRINT
2620 FOR II = 1 TO NO(F)
2630 IF II <10 THEN PRINT SPC( 12);II; SPC( 11);X$(II)
2640 IF II >9 THEN PRINT SPC( 11);II; SPC( 11);X$(II)
2650 IF P1 = 0 THEN GOSUB 640
2660 NEXT : PRINT : PRINT : PRINT D$"PR#0"
2670 IF P1 = 0 THEN VTAB 24: PRINT "PRESS SPACE BAR ---> ";: GET BW$
2680 RETURN
2690 REM MEAN OF A TEST
2700 HOME : PRINT : PRINT : INPUT "WHICH TEST (1-15) ? ";KK: IF KK >15 OR KK <1 THEN 2700
2710 ME% = 0
2720 FOR II = 1 TO NO(F)
2730 ME% = ME% +M%(KK,II)
2740 NEXT : PRINT D$"PR#0": IF P1 = 1 THEN PRINT D$"PR#"SL
2750 PRINT : PRINT : PRINT "MEAN OF TEST # ";KK;" IS: "; INT(ME%/NO(F) *100)/100: PRINT : PRINT : PRINT D$"PR#0"
2760 IF P1 = 0 THEN PRINT : PRINT "PRESS SPACE BAR ---> ";: GET BW$
2770 RETURN
2780 REM STANDARD DEVIATION
2790 HOME : PRINT : PRINT : INPUT "OF WHICH TEST? ";KK: IF KK >15 OR KK <1 THEN 2790
2800 ME% = 0
2810 FOR II = 1 TO NO(F)
2820 ME% = ME% +M%(KK,II): NEXT
2830 MM = ME%/NO(F):AA = 0
2840 FOR II = 1 TO NO(F)
2850 AA = (M%(KK,II) -MM) *(M%(KK,II) -MM) +AA
2860 NEXT
2870 PRINT D$"PR#0": IF P1 = 1 THEN PRINT D$"PR#"SL
2880 PRINT : PRINT "THE STANDARD DEVIATION OF TEST # ";KK;" IS: "; INT( SQR(AA/NO(F)) *100)/100: PRINT : PRINT : PRINT D$"PR#0"
2890 IF P1 = 0 THEN PRINT : PRINT "PRESS SPACE BAR ---> ";: GET BW$
2900 RETURN
2910 REM DROPPING TEST
2920 HOME : PRINT : PRINT : INPUT " DROP ONE TEST FROM HOW MANY TESTS ? ";TD
2930 PRINT : INPUT "TEST # --> ";TM(1)
2940 FOR II = 2 TO TD
2950 PRINT : INPUT " & TEST # --> ";TM(II)
2960 NEXT
2970 HOME : PRINT : PRINT " CHOOSE ONE:": PRINT : PRINT " (A) ASSIGN LOWEST TEST GRADE TO 0": PRINT " (B) ASSIGN A MINUS GRADE FOR THE ": PRINT " LOWEST TEST": PRINT : PRINT " WHICH ? ";: GET WW$: PRINT CHR$(7);WW$
2980 IF WW$ = "B" THEN 3110
2990 IF WW$ = "A" THEN 3010
3000 RETURN
3010 FOR J = 1 TO NO(F)
3020 MI = TM(1)
3030 CP% = M%(TM(1),J)
3040 FOR II = 2 TO TD
3050 I = TM(II)
3060 IF M%(I,J) <CP% THEN CP% = M%(I,J):MI = I
3070 NEXT
3080 M%(MI,J) = 0
3090 NEXT
3100 RETURN
3110 PRINT : INPUT " ENTER THE MINUS GRADE TO TEST # ? ";TX
3120 PRINT : PRINT " ENTER TEST # ";TX;" DESCRIPTION : ": PRINT " (E.G. LOWEST TEST GRADE DROPPED FROM": PRINT " TEST #2 AND #8)": PRINT : INPUT "-> ";TT$(TX)
3130 FOR J = 1 TO NO(F)
3140 MI = TM(1)
3150 CP% = M%(TM(1),J)
3160 FOR II = 2 TO TD
3170 I = TM(II)
3180 IF M%(I,J) <CP% THEN CP% = M%(I,J):MI = I
3190 NEXT
3200 M%(TX,J) = -M%(MI,J)
3210 NEXT
3220 RETURN
3230 REM ERASE AND RECORD
3240 VTAB 23: INPUT "ERASE AND GET TOTALS? (Y/N) ";ER$: IF (ER$ < >"Y") AND (ER$ < >"YES") THEN RETURN
3250 FOR J = 1 TO NO(F):MP% = 0
3260 FOR II = 1 TO 15
3270 MP% = MP% +M%(II,J)
3280 M%(II,J) = 0
3290 NEXT
3300 M%(1,J) = MP%
3310 NEXT
3320 TT$(1) = "TOTAL POINTS FOR THE LAST 15 TESTS": FOR X = 2 TO 15:TT$(X) = "": NEXT
3330 RETURN
3340 REM ADJUST SCORES
3350 HOME : PRINT " ---------------": PRINT " ";: INVERSE : PRINT " ADJUST SCORES ": NORMAL : PRINT " ---------------": REM 11 SPACES & 15 -'S
5060 VTAB 22: PRINT "PRESS SPACE BAR TO CONTINUE --> ";: GET BW$: PRINT BW$
5070 RETURN
5080 HOME : VTAB 12: HTAB 1: PRINT " ";: INVERSE : PRINT " PROGRAM TERMINATED ": NORMAL : PRINT : PRINT : PRINT " TO RESTART :": PRINT : PRINT " TYPE IN 'RUN' &"
5090 PRINT " PRESS <RETURN>": VTAB 24: END
5100 VTAB 20: HTAB 1: PRINT " NEW/RENEW WILL ";: INVERSE : PRINT "DESTROY";: NORMAL : PRINT " ALL DATA FILES!": INPUT " DO YOU REALLY WANT TO DO SO? ";AD$
5110 IF LEFT$(AD$,1) = "N" THEN RETURN
5120 REM NEW/RENEW
5130 HOME : PRINT : PRINT " -------------": PRINT " ";: INVERSE : PRINT " NEW / RENEW ": NORMAL : PRINT " -------------": PRINT : PRINT : PRINT : REM 12 SPACES & 13 -'S
5140 IF N = 0 THEN 5170
5150 PRINT "PLEASE WAIT ...": PRINT
5160 FOR I = 1 TO N: PRINT D$;"DELETE ";MA$(I): PRINT D$;"DELETE ";NM$(I): PRINT D$;"DELETE ";TX$(I): NEXT
5170 PRINT D$;"DELETE CLASS"
5180 VTAB 7: CALL -958: PRINT "HOW MANY CLASSES DO YOU WANT TO HAVE": INPUT "IN YOUR GRADE BOOK? ";K$:N = VAL(K$): IF N <1 OR N >10 THEN 5180
5190 FOR I = 1 TO N
5200 VTAB 11: CALL -958: PRINT "ENTER IDENTIFIER (CLASS TITLE ETC.)": PRINT "FOR CLASS # ";I;" :": INPUT "->";T$(I)
5210 VTAB 14: CALL -958: PRINT "NO. OF STUDENTS IN THE CLASS: ";: INPUT "";K$:NO(I) = VAL(K$): IF NO(I) <1 OR NO(I) >80 THEN 5210