-
Notifications
You must be signed in to change notification settings - Fork 5
/
GR3.BAS
775 lines (775 loc) · 29.6 KB
/
GR3.BAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
10 CLS: COLOR 15,1:CLS
15 DIM N$(33),N(33,20,1),G(33,6),R(7),R$(10),L$(6),BOOK(33),CON$(33),QU$(20),IP(20)
18 ON ERROR GOTO 8000
19 WIDTH LPRINT 136
20 Y=0: PRINT TAB(35)"GRADE KEEPER PROGRAM"
25 INPUT"WHAT PERIOD IS THIS FOR";P1: GOSUB 805
30 VIEW PRINT 1 TO 24:CLS: PRINT" ":PRINT" ":PRINT"THIS IS A :":PRINT" ":PRINT" ":PRINT"1-START";TAB(30)"11-FINAL REPORT CARD"
31 PRINT"2-UPDATE";TAB(34)"GRADE CHECK"
32 PRINT"3-GRADE INSERT";TAB(30)"12-NEW MARKING PERIOD"
33 PRINT"4-GRADE CALCULATION";TAB(30)"13-CHECK M.P. GRADES"
34 PRINT"5-CLASS LIST";TAB(30)"14-CHANGE M.P. GRADES"
35 PRINT"6-I.P.R. CHECK";TAB(30)"15-FINAL FAILURE NOTICE"
36 PRINT"7-I.P.R. WRITER";TAB(30)"16-BOOK LIST FOR THIS CLASS"
37 PRINT"8-CLASS QUIZ MEAN";TAB(30)"17-MISSING WORK FOR THIS CLASS"
38 PRINT"9-MAKE UP INSERT";TAB(30)"18-STOP WORK ON THIS CLASS"
39 PRINT"10-SAVE CLASS DATA";TAB(34)"WITH OUT SAVING DATA":PRINT" ":PRINT TAB(30)"WHAT #";
40 IF V<>1 THEN GOTO 50
45 INPUT A :ON A GOTO 55,135,255,330,670,1160,1350,5010,1268,980,745,1135,4010,4300,3005,9000,11000,1047
50 INPUT A:ON A GOTO 55,130,250,325,665,1155,1345,5000,1265,980,740,1130,4000,4290,3000,9000,10995,1047
55 S=0:INPUT"WHAT MARKING PER. IS IT";M:M=M-1
60 INPUT"WHAT GRADE(7 OR 8)";K
65 PRINT TAB(10)" TYPE IN STUDENT'S FIRST AND LAST NAME AFTER #"
70 PRINT TAB(10)"IF YOU ARE FINISHED ENTER-NO MORE"
75 PRINT TAB(10)"IF YOU GOOF NOTE # AND CORRECT LATER."
80 S=S+1
85 PRINT "NAME OF STUDENT # ";S;
90 INPUT "IS"; N$(S)
95 IF N$(S)="NO MORE"THEN GOTO 105
100 GOTO 65
105 INPUT"ANY CORRECTIONS(1-YES,2-NO)";C1:IF C1=2 THEN GOTO 120
110 INPUT"WHAT IS THE NUMBER OF THE STUDENT TO BE CORRECTED";S1
115 PRINT"I READ ";N$(S1);" FOR CORRECTION.":INPUT"IF IT'S THE ONE YOU WANT TO CORRECT ENTER THE CORRECT NAME. IF NOT JUST HIT ENTER.";N$(S1):GOTO 105
120 S=S-1
122 INPUT"IS THIS LIST 1-O.K. AS IT IS OR 2-DOES IT NEED TO BE SORTED";Y
124 IF Y=2 THEN GOSUB 2000
125 V=1:GOTO 30
130 GOSUB 805
135 VIEW PRINT 1 TO 24:GOSUB 6000: INPUT"THIS IS TO 1-DELETE, 2-ADD OR 3-MOVE A STUDENT";A:IF A=3 THEN GOSUB 2500
136 IF A=2 THEN GOTO 170
138 IF A=3 THEN GOTO 165
140 INPUT"WHAT IS THE # OF THE STUDENT TO BE DELETED";N
145 PRINT"IF ";N$(N);" IS THE PERSON TO BE DELETED ENTER 1.":INPUT"IF NOT ENTER 2";Y1:IF Y1=1 THEN GOSUB 150 :ELSE GOTO 140
149 GOTO 165
150 N$(N)=" ":FOR X=1 TO Q:N(N,X,0)=0:N(N,X,1)=0:NEXT X
155 FOR X=N TO S:N$(X)=N$(X+1):BOOK(X)=BOOK(X+1):CON$(X)=CON$(X+1):FOR J=0 TO M:G(X,J)=G(X+1,J):NEXT J:NEXT X:FOR X1=N TO S:FOR T=1 TO Q:FOR Z=0 TO 1:N(X1,T,Z)=N(X1+1,T,Z):NEXT Z:NEXT T:NEXT X1
160 S=S-1:RETURN
165 INPUT"ANY MORE CHANGES(1-YES,2-N0)";Y:IF Y=1 THEN 135 :ELSE GOTO 30
170 S=S+1:GOSUB 175:GOTO 184
175 INPUT"AT WHAT POSITION MUST THE STUDENT BE INSERTED";N
176 PRINT"THAT WILL PUT THEM BETWEEN ";N$(N-1);" AND ";N$(N);" O.K.";
177 INPUT"( Y OR N )";Y$
178 IF Y$="N" OR Y$="n" THEN GOTO 175 :ELSE GOTO 180
180 FOR X=S TO N STEP-1:N$(X)=N$(X-1):BOOK(X)=BOOK(X-1):CON$(X)=CON$(X-1):FOR J=0 TO M:G(X,J)=G(X-1,J):NEXT J:NEXT X:FOR X1=S TO N STEP-1:FOR T=1 TO Q:FOR Z=0 TO 1:N(X1,T,Z)=N(X1-1,T,Z):NEXT Z:NEXT T:NEXT X1:RETURN
184 FOR X= 1 TO Q: N(N,X,0)=0: N(N,X,1)=0: NEXT X
185 PRINT"THE NAME OF STUDENT #";N;
190 INPUT"IS";N$(N)
192 INPUT"Book # is";BOOK(N)
194 INPUT"Book condition is";CON$(N)
195 FOR J=0 TO M-1:PRINT"M.P.#";J+1;:INPUT"GRADE";G(N,J):NEXT J
200 INPUT"HOW MANY GRADES MUST BE ADDED";G1
205 IF G1=0 THEN GOTO 165 :ELSE 210
210 FOR X=1 TO G1
215 PRINT"GRADE #";X;:INPUT" IS";N(N,X,0):INPUT" OUT OF";N(N,X,1)
220 NEXT X
225 INPUT"HOW MANY MISTAKES";G3:IF G3=0 THEN GOTO 165 :ELSE 230
230 FOR X=1 TO G3
235 INPUT"WHAT GRADE #";T:PRINT"#";T;:INPUT" IS";N(N,T,0);:INPUT"OUT OF";N(N,T,1)
240 NEXT X
245 V=1:GOTO 30
250 GOSUB 805
255 Y=0:Q=Q+1:PRINT"THIS IS GRADE #";Q:INPUT"What type of grade is this";QU$(Q):INPUT"POSSIBLE SCORE FOR MOST STUDENTS";S1
260 INPUT"BY NAME(1) , NUMBER(2) or FROM SCANTRON DISK(3)";W:ON W GOTO 290, 262, 9500
262 FOR X= 1 TO S:N(X,Q,1)=S1: NEXT X:GOSUB 6000
264 VIEW PRINT 16 TO 21: CLS
265 INPUT"STUDENT #(0 IF FINISHED)";X:IF X=0 THEN GOTO 320
270 PRINT N$(X);" RECIEVED A ";
275 INPUT N(X,Q,0)
280 IF S1=0 OR Y=1 THEN GOTO 285
282 GOTO 264
285 INPUT"OUT OF ";N(X,Q,1):GOTO 264
290 FOR X=1 TO S:N(X,Q,1)=S1:NEXT X:FOR X=1 TO S
295 PRINT N$(X);" RECEIVED A ";
300 INPUT N(X,Q,0)
305 IF S1=0 THEN GOTO 310 :ELSE GOTO 315
306 IF S1<>0 THEN GOTO 320
310 INPUT "OUT OF ";N(X,Q,1)
315 NEXT X
320 INPUT"CORRECTIONS OR ABS.(1-YES,2-NO)";Y:ON Y GOTO 262,30
325 GOSUB 805
330 INPUT"DO YOU WANT HARDCOPY(1) OR SOFTCOPY(2)";P
335 INPUT"IS THIS FOR: 1-ONE STUDENT 2-ENTIRE CLASS";C
340 ON C GOTO 345 ,445
345 INPUT"WHAT IS THE NUMBER OF THE STUDENT YOU WANT INFORMATION ON(0 WHEN DONE)";X:IF X=0 THEN GOTO 30
350 IF P=1 THEN GOTO 395
355 PRINT N$(X);" ";
360 FOR O=1 TO Q
365 PRINT QU$(O); N(X,O,0);"/";N(X,O,1);",";
370 NEXT O
375 GOSUB 945
380 PRINT"TOTALING";N(X,0,0);"/";N(X,0,1);"=";F;"%"
385 N(X,0,0)=0:N(X,0,1)=0
390 IF P=2 THEN GOTO 345
395 PRINT"MAKE SURE PRINTER IS READY. HIT KEY TO START"
400 Q$=INKEY$:IF Q$="" THEN GOTO 400
405 LPRINT N$(X);" ";
410 FOR O=1 TO Q
415 LPRINT QU$(O); N(X,O,0);"/";N(X,O,1);",";
420 NEXT O
425 GOSUB 945
430 LPRINT"TOTALING";N(X,0,0);"/";N(X,0,1);"=";F;"%"
435 N(X,0,0)=0:N(X,0,1)=0
440 GOTO 345
445 INPUT"IS THIS A FINAL GRADE CALCULATION(1-YES,2-N0)";F1:IF F1=1 THEN M=M+1
446 IF F1=1 THEN GOSUB 9900
450 INPUT"DO YOU WANT: 1-JUST NAMES AND GRADES 2-EVERYTHING";E
455 ON E GOTO 460 ,540
460 IF P=1 THEN GOTO 500
465 FOR X=1 TO S
470 PRINT N$(X);
475 GOSUB 945
480 PRINT" RECIEVED GRADES TOTALING";N(X,0,0);"/";N(X,0,1);"=";F;"%"
485 IF X=10 OR X=20 THEN LINE INPUT"Hit ENTER key to continue";GOON$
490 IF F1=1 THEN G(X,M-1)=F
495 NEXT X:LINE INPUT"Hit ENTER to continue";GOON$:GOTO 30
500 PRINT"MAKE SURE PRINTER IS READY. HIT SPACE TO START."
505 Q$=INKEY$:IF Q$="" THEN GOTO 505
510 FOR X=1 TO S
515 GOSUB 945
520 LPRINT N$(X);" RECIEVED GRADES TOTALING";N(X,0,0);"/";N(X,0,1);"=";F;"%"
525 IF F1=1 THEN G(X,M-1)=F
530 N(X,0,0)=0:N(X,0,1)=0
535 NEXT X:GOTO 30
540 IF P=1 THEN GOTO 600
542 CLS: FOR X= 1 TO Q: PRINT X;QU$(X);:NEXT X:PRINT" "
544 VIEW PRINT 3 TO 24
545 FOR X = 1 TO S
550 PRINT N$(X);",";
555 FOR L=1 TO Q
560 PRINT N(X,L,0);"/";N(X,L,1);",";
565 NEXT L
570 GOSUB 945
575 PRINT"TOTALING ";N(X,0,0);"/";N(X,0,1);"=";F;"%"
580 IF F1=1 THEN G(X,M-1)=F
585 IF X=10 OR X=20 THEN LINE INPUT"Hit ENTER key to continue";GOON$
590 N(X,0,0)=0:N(X,0,1)=0
595 NEXT X:LINE INPUT"Hit ENTER to continue";GOON$:GOTO 30
600 PRINT"MAKE SURE PRINTER IS READY. HIT SPACE TO START."
605 Q$=INKEY$:IF Q$="" THEN GOTO 605
606 LPRINT CHR$(15);:LPRINT "Period";P1;" Marking Period";
607 IF F1=1 THEN MRP=M :ELSE MRP=M+1
608 LPRINT MRP:FOR X=1 TO Q: LPRINT" #";X;"- ";QU$(X);:NEXT X:LPRINT" ":LPRINT" "
610 FOR X=1 TO S
615 LPRINT N$(X);" ";
620 FOR L=1 TO Q
625 LPRINT N(X,L,0);"/";N(X,L,1);",";
630 NEXT L
635 GOSUB 945
640 LPRINT"TOTALING";N(X,0,0);"/";N(X,0,1);"=";
645 LPRINT F;"%"
650 IF F1=1 THEN G(X,M-1)=F
655 N(X,0,0)=0:N(X,0,1)=0
660 NEXT X:LPRINT CHR$(18);:GOTO 30
665 GOSUB 805
670 INPUT"1-HARDCOPY,2-SOFTCOPY";H
675 IF H<>1 THEN GOTO 710
680 PRINT"MAKE SURE PRINTER IS READY. HIT SPACE TO START."
685 Q$=INKEY$:IF Q$="" THEN GOTO 685
690 LPRINT"PERIOD ";P1
695 FOR X=1 TO S
700 LPRINT X;N$(X)
705 NEXT X:GOTO 30
710 CLS:PRINT"THERE ARE ";S;" STUDENTS IN THIS CLASS "
715 U=INT(S/2)
720 FOR X=1 TO U
725 PRINT X;N$(X);TAB(28)X+U;N$(X+U)
730 NEXT X
732 IF U*2 < S THEN PRINT TAB(28)U*2+1;N$(U*2+1)
735 PRINT " ":LINE INPUT"HIT ENTER TO CONT.";A$:GOTO 30
740 GOSUB 805
745 PRINT"IF GRADE IS CORRECT THEN SIMPLY HIT ENTER - IF NOT ENTER NEW GRADE."
750 FOR X=1 TO S
755 PRINT N$(X);" RECIEVED";G(X,M-1);:HOLDIT=G(X,M-1)
756 INPUT TAKEIT$
758 IF TAKEIT$ = "" THEN TAKEIT$=STR$(HOLDIT)
760 G(X,M-1)= VAL(TAKEIT$)
765 NEXT X
770 INPUT"DO YOU WANT HARD COPY OF THE GRADE CHANGES(1-YES,2-NO)";Y:IF Y=2 THEN GOTO 800
775 PRINT"MAKE SURE PRINTER IS ON. IT WILL START WHEN YOU HIT SPACE."
776 PRINT"ALSO DON'T FORGET TO SAVE DATA OR SET UP FOR A NEW M.P."
780 Q$=INKEY$:IF Q$="" THEN GOTO 780
785 LPRINT"PERIOD ";P1;TAB(24)"RECIEVED"
786 LPRINT CHR$(27);CHR$(45);CHR$(1);
790 FOR X=1 TO S
795 LPRINT N$(X);TAB(25)G(X,M-1);"%"
798 NEXT X
799 LPRINT CHR$(27);CHR$(45);CHR$(0);
800 GOTO 30
805 ' DATA INPUT SUBROUTINE
815 FI$="SCHDATA\PER"+RIGHT$(STR$(P1),1)
820 OPEN"I",2,FI$
825 IF EOF(2) THEN 935
830 INPUT#2,P1,S,Q,M,K
831 IF Q=0 THEN INPUT#2,QU$(0):GOTO 835
832 FOR X = 1 TO Q: INPUT#2,QU$(X): NEXT X
835 LET A$="/"
840 FOR X=1 TO S
845 IF EOF(2) THEN 935
850 INPUT#2,N$(X),G$,B$,BOOK(X),CON$(X)
855 LF=1:I=1
860 FOR J=0 TO M
865 IF MID$(G$,I,1)=A$ THEN GOTO 875
870 I=I+1:GOTO 865
875 G(X,J)=VAL(MID$(G$,LF,I-LF))
880 LF=I+1:I=I+1
885 NEXT J
890 LF=1:I=1
895 FOR Y=1 TO Q
900 FOR Z=0 TO 1
905 IF MID$(B$,I,1)=A$ THEN GOTO 915
910 I=I+1:GOTO 905
915 N(X,Y,Z)=VAL(MID$(B$,LF,I-LF))
920 LF=I+1: I=I+1
925 IF I<LEN(B$) THEN NEXT Z:NEXT Y
930 NEXT X
935 V=1:CLOSE
940 RETURN
945 FOR Z1=0 TO 1
946 N(X,0,Z1)=0
950 FOR G=1 TO Q
955 N(X,0,Z1)=N(X,0,Z1)+N(X,G,Z1)
960 NEXT G
965 NEXT Z1
970 F=(N(X,0,0)/N(X,0,1))*100
975 RETURN
980 ' DATA OUTPUT SUBROUTINE
990 FI$="SCHDATA\PER"+RIGHT$(STR$(P1),1)
992 IF LEFT$(FI$,8) <> "SCHDATA\" THEN FI$ = "SCHDATA\"+FI$
995 OPEN"O",1,FI$
1000 PRINT#1,P1;",";S;",";Q;",";M;",";K
1002 FOR X= 1 TO Q-1:PRINT#1,QU$(X);",";:NEXT X:PRINT#1,QU$(Q)
1005 B$=" ":A$="/":G$=" "
1010 FOR X=1 TO S
1015 FOR Y=1 TO Q
1020 FOR Z=0 TO 1
1025 B$=B$+STR$(N(X,Y,Z))+A$
1030 NEXT Z :NEXT Y
1035 FOR Y1=0 TO M:G$=G$+STR$(G(X,Y1))+A$:NEXT Y1
1040 PRINT#1,N$(X);",";G$;",";B$;",";BOOK(X);",";CON$(X)
1043 G$=" ":B$=" ":NEXT X:CLOSE:IF B=1 THEN GOTO 2555
1045 IF B=2 THEN GOTO 30
1046 IF B=3 THEN RETURN
1047 CLS:LINE INPUT"ENTER 0 IF YOU HAVE MORE CLASSES TO DO OR ANY NUMBER TO EXIT:";V$:V=VAL(V$):IF V=0 THEN RUN :ELSE GOTO 1050
1050 IF V>0 OR V$=CHR$(13) THEN END
1130 GOSUB 805
1135 INPUT"DO YOU HAVE HARDCOPY FOR LAST MARKING PERIOD(1-YES,2-NO)";Y1:ON Y1 GOTO 1137 ,30
1137 CLS:LOCATE 19,2 :PRINT"THE NAMES, ETC. WITH OUT THE LAST SET OF GRADES ARE BEING PUT ON DISK. THERE IS NO NEED TO SAVE THEM AGAIN IF YOU'RE DONE."
1140 FOR X=1 TO S:FOR T=1 TO Q:FOR Z=0 TO 1:N(X,T,Z)=0:NEXT Z:NEXT T:NEXT X
1145 Q=0:B=2
1150 GOTO 980
1155 GOSUB 805
1160 CLS:PRINT"YOU WILL NEED THE PRINTER ON TO DO THIS.":PRINT"AFTER YOU'VE TURNED EVERYTHING ON HIT THE SPACE TO START."
1165 Q$=INKEY$:IF Q$="" THEN GOTO 1165
1170 LPRINT"PERIOD";P1:LPRINT CHR$(10)
1172 LPRINT"Marking Perioid";M+1
1175 LPRINT"NAME";TAB(30)"LAST M.P. GRADE";TAB(50)"PRESENT GRADE"
1176 PRINT"NAME";TAB(30)"LAST M.P. GRADE";TAB(50)"PRESENT GRADE"
1180 FOR X=1 TO S
1182 LPRINT CHR$(27);CHR$(45);CHR$(1);
1185 GOSUB 945 : F = CINT(F)
1190 IF M=0 AND F<65 THEN GOTO 1200
1192 IF M=0 THEN GOTO 1250
1195 IF F>(G(X,M-1)+10) OR F<(G(X,M-1)-10) OR F<65 THEN GOTO 1200 :ELSE GOTO 1250
1200 LPRINT X;N$(X);:TA=32-LEN(N$(X)):FOR SPC=1 TO TA:LPRINT" ";:NEXT SPC
1202 PRINT X;N$(X);
1205 IF M=0 THEN LPRINT "N.A."; :ELSE LPRINT G(X,M-1);
1206 IF M=0 THEN PRINT TAB(36)"N.A."; :ELSE PRINT TAB(36)G(X,M-1);
1208 FOR SPC = 1 TO 19:LPRINT" ";:NEXT SPC
1210 LPRINT F;:FOR SPC = 1 TO 5:LPRINT" ";:NEXT SPC:IF M=0 THEN GOTO 1245
1212 PRINT TAB(55) F
1215 IF F>(G(X,M-1)+10) THEN LPRINT "+" :ELSE GOTO 1225
1220 GOTO 1250
1225 IF F<65 AND F<(G(X,M-1)-10) THEN LPRINT "-*-" :ELSE GOTO 1235
1230 GOTO 1250
1235 IF F<(G(X,M-1)-10) THEN LPRINT "-" :ELSE GOTO 1245
1240 GOTO 1250
1245 IF F<65 THEN LPRINT "*"
1250 N(X,0,0)=0:N(X,0,1)=0:LPRINT CHR$(27);CHR$(45);CHR$(0);
1255 NEXT X:INPUT"Are you going to use the I.P.R. writer program (Y or N)";Y$
1256 IF Y$="Y" OR Y$="y" THEN GOSUB 10000
1257 GOTO 30
1260 END
1265 GOSUB 805
1268 GOSUB 1270: GOTO 1302
1270 N=1:P3=1:NROW=2:CLS
1275 FOR X=1 TO Q
1277 IF X=4 THEN NROW=4:P3=1
1278 IF X=7 THEN NROW=6:P3=1
1279 IF X=10 THEN NROW=8:P3=1
1280 LOCATE NROW, P3:PRINT" GR.#";X;QU$(X);
1285 IF N(N,X,1)<1 THEN N=N+1
1287 IF N<>S AND N(N,X,1)<1 THEN GOTO 1285
1290 PRINT N(N,X,1)
1291 N=1
1295 P3=P3+25
1300 NEXT X
1301 RETURN
1302 VIEW PRINT 10 TO 18
1305 CLS: PRINT "# OF STUDENT THAT MADE UP WORK";:INPUT N
1310 PRINT "IF ";N$(N);" ISN'T THE CORRECT STUDENT ENTER 0 FOR GRADE #."
1315 PRINT "GRADE TO BE INSERTED";:INPUT G3:IF G3=0 THEN GOTO 1305
1320 PRINT N$(N);:INPUT" RECIEVED";N(N,G3,0)
1325 PRINT"OUT OF";N(N,G3,1);" (JUST HIT ENTER IF CORRECT)";:HOLDIT=N(N,G3,1)
1326 INPUT TAKEIT$
1327 IF TAKEIT$ = "" THEN TAKEIT$ = STR$(HOLDIT)
1328 N(N,G3,1)= VAL(TAKEIT$)
1330 PRINT"DO YOU WANT TO: 1-ADD ANOTHER GRADE FOR THIS STUDENT, 2-ADD GRADES FOR ANOTHER STUDENT, 3-FINISHED WITH THIS";:INPUT Y
1335 ON Y GOTO 1310 ,1305 ,30
1340 END
1345 GOSUB 805
1350 LPRINT CHR$(27); CHR$(56);:CLS:PRINT"THIS USES THE OPEN BLOCK I.P.R. FORM.":PRINT"Use the auto load, single sheet feeder on the Epson LX-800"
1355 INPUT"Is there an often used comment you'd like to use by entering `SRP`";Y$
1356 IF LEFT$(Y$,1)="y" OR LEFT$(Y$,1)="Y" THEN GOSUB 6500
1360 PRINT"DON'T FORGET YOU'LL NEED TO INSERT A NEW FORM FOR EACH STUDENT.":INPUT"STUDENT #(0 IF FINISHED)";N:IF N=0 THEN LPRINT CHR$(27); CHR$(57);:GOTO 30
1365 PRINT N$(N);"(0-IS,1-IS NOT) THE STUDENT YOU WANTED";:INPUT I
1370 IF I=1 THEN GOTO 1360
1372 LPRINT CHR$(27); CHR$(56);
1375 LPRINT" ":LPRINT TAB(18)N$(N):LPRINT" "
1380 X=N:GOSUB 945
1385 FI=INT(F)
1390 LPRINT TAB(10) DATE$;TAB(36)"SCIENCE";K;TAB(60)FI:FOR X=1 TO 5:LPRINT" ":NEXT X
1395 LPRINT CHR$(15);
1400 CLS:PRINT"I.P.R. FOR ";N$(N):PRINT"USE THE CODES BELOW TO INDICATE WHAT BLOCKS YOU WISH TO PUTCOMMENTS IN."
1405 PRINT"0-N.A.,1-OUTSTANDING,2-GOOD,3-SHOWN IMPROVE.,4-NEEDS IMPROVE."
1410 R$(0)="ATTENDANCE":R$(1)="HOMEWORK":R$(2)="TESTS/QUIZZES":R$(3)="BEHAVIOR":R$(4)="PARTICIPATION":R$(5)="PREPARATION":R$(6)="PROJECTS/REPORTS"
1415 FOR X=1 TO 7
1420 PRINT X;R$(X-1);:INPUT R(X)
1425 NEXT X
1430 INPUT"IF YOU WANT TO CHANGE A COMMENT ENTER THE # ELSE ENTER 0";Y
1435 IF Y=0 THEN GOTO 1450
1440 PRINT R$(Y-1);:INPUT R(Y)
1445 GOTO 1430
1450 FOR X=1 TO 7
1455 CLS:PRINT"THE BOX BELOW REPRESENTS THE BOX ON THE I.P.R."
1460 PRINT"YOU CAN PRINT UP TO 4 LINES OF 21 CHARACTERS EACH."
1465 PRINT"HIT ENTER AS YOU COMPLETE EACH LINE."
1470 IF R(X)=0 THEN GOTO 1650
1475 LOCATE 5,1 :PRINT R$(X-1);" FOR ";N$(N)
1480 IF R(X)=1 THEN LOCATE 6,1: PRINT "OUTSTANDING"
1485 IF R(X)=2 THEN LOCATE 6,1: PRINT "CONSISTENTLY GOOD"
1490 IF R(X)=3 THEN LOCATE 6,1: PRINT "SHOWN IMPROVEMENT"
1495 IF R(X)=4 THEN LOCATE 6,1: PRINT "NEEDS IMPROVEMENT"
1500 FOR X1=2 TO 23:LOCATE 8,X1: PRINT CHR$(220):NEXT X1
1505 FOR Z1=1 TO 6
1510 LOCATE 7+Z1,23:PRINT CHR$(220);
1515 NEXT Z1
1520 FOR X1=2 TO 23:LOCATE 13,X1:PRINT CHR$(220);:NEXT X1
1525 FOR X2=7 TO 10
1530 LOCATE X2+2,1
1535 INPUT R$(X2)
1536 IF R$(X2)="SRP" THEN GOSUB 7000:GOTO 1595
1545 NEXT X2
1550 LOCATE 15,1:PRINT"Enter 0 to print or line # to change a ";
1555 INPUT"LINE";L
1560 IF L=0 THEN GOTO 1595
1565 IF L=1 THEN LOCATE 9,1:PRINT"*-";:GOTO 1585
1570 IF L=2 THEN LOCATE 10,1:PRINT"*-";:GOTO 1585
1575 IF L=3 THEN LOCATE 11,1:PRINT"*-";:GOTO 1585
1580 IF L=4 THEN LOCATE 12,1:PRINT"*-";:GOTO 1585
1585 R$(L+6)="":INPUT R$(L+6)
1590 GOTO 1550
1595 LPRINT" ":LPRINT CHR$(27);CHR$(56);
1600 IF R(X)=1 THEN T=34
1605 IF R(X)=2 THEN T=57
1610 IF R(X)=3 THEN T=80
1615 IF R(X)=4 THEN T=105
1620 FOR X2=7 TO 10
1622 IF X2=7 THEN TB=T+2 :ELSE TB=T
1625 IF LEN(R$(X2))=0 THEN R$(X2)=" "
1630 LPRINT TAB(TB)R$(X2)
1635 NEXT X2
1640 FOR X2=7 TO 10:R$(X2)=" ":NEXT X2
1645 IF R(X)<>0 THEN GOTO 1655
1650 FOR X2=1 TO 5:LPRINT" ":NEXT X2
1655 NEXT X
1658 LPRINT CHR$(27); CHR$(56);
1660 CLS:PRINT TAB(25)"EXTRA HELP":PRINT"0-NO COMMENT,1-ATTENDS REGULARLY,2-SOMETIMES,3-NEEDS TO ATTEND"
1665 INPUT"COMMENT TO BE CHECKED";Y
1669 LPRINT" "
1670 IF Y=0 THEN LPRINT" ":LPRINT" ":GOTO 1690
1680 IF Y=1 THEN T=50
1681 IF Y=2 THEN T=77
1682 IF Y=3 THEN T=110
1684 LPRINT TAB(T)"XXX"
1685 LPRINT TAB(T)"XXX"
1690 LPRINT CHR$(27);CHR$(20);:INPUT"DO YOU WISH TO MAKE AN ADDITIONAL COMMENT(1-YES,2-NO)";Y:CLS
1695 IF Y=2 THEN LPRINT CHR$(20);:GOTO 1360
1700 PRINT"YOUR COMMENT CAN BE AS LONG AS INDICATED BY THE BRACKET."
1705 PRINT"PAY NO ATTENTION TO HOW THE COMMENT APPEARS ON THE SCREEN,"
1710 PRINT"IT WILL BE PROPERLY SPACED WHEN PRINTED."
1715 PRINT"MAKE ALL CORRECTIONS BEFORE HITTING THE ENTER KEY."
1720 LOCATE 8,19:PRINT CHR$(93)
1725 LOCATE 5,1:PRINT"COMMENT";
1730 INPUT P$
1735 IF LEN(P$)>30 THEN GOSUB 1775 :ELSE R$(7)=P$
1740 FOR X=7 TO 10
1745 IF X=7 THEN T=102 :ELSE T=7
1750 IF LEN(R$(X))=0 THEN R$(X)=" "
1754 LPRINT CHR$(27);CHR$(56);
1755 IF X<>7 THEN LPRINT" "
1760 LPRINT TAB(T)R$(X)
1765 NEXT X
1770 LPRINT CHR$(18);:GOTO 1360
1775 L$=LEFT$(P$,30)
1780 RS=0
1785 FOR L=30 TO 1 STEP-1
1790 IF MID$(L$,L,1)=" " THEN GOTO 1800
1795 NEXT L
1800 R$(7)=LEFT$(P$,L)
1805 RS=LEN(P$)-L
1820 IF RS<112 THEN R$(8)=RIGHT$(P$,RS) :ELSE P$=RIGHT$(P$,RS)
1825 IF RS>112 THEN GOSUB 1835
1830 RETURN
1835 W=8
1840 IF LEN(P$)<112 THEN C=LEN(P$) :ELSE C=112
1845 L$=LEFT$(P$,C)
1850 RS=0
1855 FOR L=C TO 1 STEP-1
1860 IF MID$(L$,L,1)=" " THEN GOTO 1870
1865 NEXT L
1870 R$(W)=LEFT$(P$,L)
1875 RS=LEN(P$)-L
1890 IF RS<112 THEN R$(W+1)=RIGHT$(P$,RS) :ELSE P$=RIGHT$(P$,RS)
1895 IF RS<112 THEN RETURN
1900 W=W+1:GOTO 1840
2000 FOR I=1 TO S
2005 FOR J=S TO I STEP-1
2010 FOR L=1 TO LEN(N$(J)):IF MID$(N$(J),L,1)<>" " THEN NEXT L
2015 FOR LL=1 TO LEN(N$(I)):IF MID$(N$(I),LL,1)<>" " THEN NEXT LL
2020 LL=LEN(N$(I))-LL:L=LEN(N$(J))-L
2025 IF RIGHT$(N$(I),LL)<=RIGHT$(N$(J),L) THEN 2040
2030 N$=N$(I):N$(I)=N$(J):N$(J)=N$
2040 NEXT J:NEXT I:RETURN
2500 INPUT"WHAT IS THE NUMBER OF THE STUDENT TO BE MOVED";N
2505 PRINT"IF ";N$(N);" IS CORRECT ENTER ANY NUMERAL"
2510 INPUT"IF NOT ENTER 0";Y
2515 IF Y=0 THEN GOTO 2500 :ELSE GOTO 2520
2520 N$(33)=N$(N):BOOK(33)=BOOK(N):CON$(33)=CON$(N)
2525 FOR X=1 TO Q:FOR T=0 TO 1:N(33,X,T)=N(N,X,T):NEXT T:NEXT X
2530 FOR J=0 TO M:G(33,J)=G(N,J):NEXT J
2535 GOSUB 150
2540 Q5=Q
2545 CLS:B=1:GOTO 980:FOR X = 1 TO 31:FOR Y =1 TO Q:FOR Z = 0 TO 1:N(X,Y,Z)=0:NEXT Z:NEXT Y: NEXT X
2555 PRINT"TO WHAT PER. MUST ";N$(33);:INPUT" BE ADDED";P1
2560 FOR CLE = 1 TO S:N$(CLE)="":BOOK(CLE)=0:CON$(CLE)="":FOR WIPE = 1 TO Q: FOR PQ = 0 TO 1:N(CLE,WIPE,PG)=0:NEXT PQ:NEXT WIPE:FOR GR = 1 TO 6: G(CLE,GR)=0:NEXT GR: NEXT CLE
2565 CLS:GOSUB 805
2575 IF Q5>Q THEN Q=Q5
2585 S=S+1:VIEW PRINT 1 TO 24:GOSUB 6000:GOSUB 175
2595 N$(N)=N$(33):BOOK(N)=BOOK(33):CON$(N)=CON$(33)
2605 FOR X=1 TO Q:FOR T=0 TO 1:N(N,X,T)=N(33,X,T):NEXT T:NEXT X
2615 FOR J=0 TO M:G(N,J)=G(33,J):NEXT J
2625 B=0:RETURN
3000 GOSUB 805
3005 FOR X=1 TO S
3010 O=(G(X,0)+G(X,1)+G(X,2)+G(X,3)+G(X,4)+G(X,5))/6
3013 IF O<65 THEN GOSUB 3020
3015 IF O>65 THEN O=0
3016 NEXT X
3017 GOTO 3080
3020 LPRINT"FAILURE NOTICE FOR GUIDANCE COUNSELORS"
3025 LPRINT" "
3030 LPRINT N$(X);TAB(35)"GRADE ";K
3035 LPRINT" "
3040 LPRINT"SUBJECT SCIENCE";TAB(40)"TEACHER MICHAEL KNOX"
3045 LPRINT" "
3050 LPRINT"6TH MARKING PER GRADE ";G(X,5)
3055 LPRINT" "
3060 LPRINT"CLASS AVG. ";O;TAB(30)"EXAM AVG. N.A. FINAL AVG.";O
3065 LPRINT" ":LPRINT" "
3070 O=0
3075 RETURN
3080 PRINT"ANY OTHERS YOU WANT CHECKED( Y OR N )";
3082 INPUT Y$:IF Y$="N" OR Y$="n" THEN GOTO 30
3084 INPUT"STUDENT #";X
3086 FOR TAL =0 TO 5: ADDUM=ADDUM+G(X,TAL): NEXT TAL
3088 O= ADDUM/6: ADDUM=0 :GOSUB 3020 : GOTO 3080
4000 GOSUB 805
4010 INPUT"Is this for (1) one student or (2) the entire class";CCHECK
4020 INPUT"Do you want (1) hard or (2) soft copy";COP
4030 IF CCHECK=1 THEN GOTO 4130
4040 FOR X=1 TO S
4045 IF COP=1 THEN LPRINT N$(X); :ELSE PRINT N$(X);
4050 FOR AVG=0 TO M-1
4060 MPG = MPG+ G(X,AVG)
4070 IF COP=1 THEN LPRINT G(X,AVG); :ELSE PRINT G(X,AVG);
4080 NEXT AVG
4085 MPT = MPG
4090 MPG = MPG/M
4095 RETURN
4100 IF COP=1 THEN LPRINT " =";MPG;"%" :ELSE PRINT " =";MPG;"%"
4110 MPG=0
4112 IF COP<>1 AND X=22 THEN LINE INPUT"Hit ENTER key to continue";GOON$
4120 NEXT X
4122 LINE INPUT"Hit ENTER to continue";GOON$
4125 GOTO 30
4130 GOSUB 6000
4140 INPUT"What is the number of the student you want to check";X
4150 IF COP=1 THEN LPRINT N$(X); :ELSE PRINT N$(X);
4160 FOR AVG=0 TO M-1
4170 MPG = MPG + G(X,AVG)
4180 IF COP=1 THEN LPRINT G(X,AVG); :ELSE PRINT G(X,AVG);
4190 NEXT AVG
4200 MPG = MPG/M
4210 IF COP=1 THEN LPRINT " =";MPG;"%" :ELSE PRINT " =";MPG;"%"
4220 MPG=0
4230 INPUT"Do you want info. on another student";YUP$
4240 YUP$=LEFT$(YUP$,1)
4250 IF YUP$="Y" OR YUP$="y" THEN GOTO 4140 :ELSE GOTO 30
4290 GOSUB 805
4300 GOSUB 6000
4310 INPUT"What is the student's number";X
4320 PRINT N$(X);
4330 FOR AVG=0 TO M
4340 PRINT" M.P. #";AVG+1;" =";G(X,AVG);
4350 NEXT AVG
4355 PRINT " "
4360 INPUT"What marking period grade must be changed";AVG
4370 AVG=AVG-1
4380 INPUT"What is the new grade";G(X,AVG)
4390 INPUT"Any more changes";YUP$
4400 YUP$=LEFT$(YUP$,1)
4410 IF YUP$="Y" OR YUP$="y" THEN GOTO 4310 :ELSE GOTO 30
4500 LPRINT CHR$(27);CHR$(20);:FOR Y1=0 TO 5
4520 LPRINT TAB(Y1*23)L$(Y1+1);
4540 NEXT Y1
4545 LPRINT" "
4550 FOR Y1=0 TO 5
4560 LPRINT TAB(Y1*23)R$(Y1+1);
4580 NEXT Y1
4585 LPRINT" "
4590 LPRINT" "
4600 IF X<=S THEN RETURN :ELSE GOTO 30
5000 GOSUB 805
5010 CLS:GOSUB 1270:INPUT"WHAT IS THE NUMBER OF THE QUIZ YOU WANT A MEAN ON";QN
5020 FOR X=1 TO S:IF N(X,QN,1)=0 THEN NEXT X :ELSE QB=N(X,QN,1)
5030 PRINT"THIS QUIZ IS OUT OF A POSSIBLE";QB;" POINTS"
5040 FOR X=1 TO S
5050 IF N(X,QN,1)<>QB THEN GOTO 5070
5060 QC=QC+1:QT=QT+N(X,QN,0)
5070 NEXT X
5080 QT=QT/QC
5090 PRINT"THE MEAN SCORE IS";QT;"/";QB
5100 QP=(QT/QB)*100:PRINT"MEAN PERCENT IS";QP;"%"
5110 QP=(1/QB)*100:PRINT"WITH EACH POINT COUNTING";QP;"%"
5115 SDDM=0:FOR X = 1 TO S
5117 IF N(X,QN,1)<>QB THEN GOTO 5135
5120 DIFS=N(X,QN,0)-QT: DFSQ= DIFS*DIFS: SDDM= SDDM+DFSQ
5130 DIFS= 0: DFSQ= 0
5135 NEXT X
5140 SDF= SDDM/QC
5150 DF = SQR(SDF)
5160 PRINT"STANDARD DEVIATION IS: ";DF
5170 INPUT"Do you want a list of students @ +2, -2, & -1 Standard Deviations";Y$
5180 IF LEFT$(Y$,1)="y" OR LEFT$(Y$,1)="Y" THEN GOSUB 5300
5190 QC=0:QT=0:QP=0:QD=0:DF=0
5200 INPUT"DO YOU WANT TO ADD POINTS TO THIS QUIZ( Y OR N)";Y$
5210 IF Y$="N" OR Y$="n" THEN GOTO 30
5220 INPUT"HOW MANY";AP
5230 FOR X=1 TO S
5240 IF N(X,QN,1)<>QB THEN GOTO 5260
5250 N(X,QN,0)=N(X,QN,0)+AP
5260 NEXT X
5270 QB=0:GOTO 30
5300 LPRINT"Students @ +2, or greater, Standard Deviations."
5310 FOR X= 1 TO S
5320 IF N(X,QN,0) > (QT+(2*DF)) THEN LPRINT N$(X)
5330 NEXT X
5340 LPRINT"Students @ -2 S.D."
5350 FOR X = 1 TO S
5355 IF N(X,QN,1)<>QB THEN GOTO 5370
5360 IF N(X,QN,0) < (QT-(2*DF)) THEN LPRINT N$(X)
5370 NEXT X
5380 LPRINT" Students @ -1 S.D."
5385 FOR X= 1 TO S
5387 IF N(X,QN,1)<>QB THEN GOTO 5400
5390 IF N(X,QN,0) < (QT-DF) AND N(X,QN,0) > (QT-(2*DF)) THEN LPRINT N$(X)
5400 NEXT X : LPRINT CHR$(12): RETURN
6000 CLS: FOR CHART = 1 TO 10
6010 PRINT CHART;N$(CHART);TAB(25)CHART+10;N$(CHART+10);TAB(50)CHART+20;N$(CHART+20)
6020 NEXT CHART
6022 PRINT TAB(50)"31";N$(31)
6025 VIEW PRINT 16 TO 23
6030 RETURN
6500 PRINT"Keep it to the left of the astrick. *"
6510 INPUT"What is the first line";FLN$
6520 INPUT"What is the second line";SLN$
6530 INPUT"The third line ";TLN$
6540 INPUT"The last line ";LLN$
7000 R$(7)=FLN$
7010 R$(8)=SLN$
7020 R$(9)=TLN$
7030 R$(10)=LLN$
7040 RETURN
8000 IF ERR=53 AND W=3 THEN GOTO 8004
8002 IF ERR = 53 THEN GOTO 55
8003 GOTO 8010
8004 PRINT"I can not find ";DA$;". Use Deskteam DOS Dir to find file name and reenter it."
8006 INPUT"New File Name";DA$
8008 GOTO 9580
8010 PRINT"******* You have an error #";ERR;" in line";ERL;"*******"
8020 INPUT"Do you want to ignore and continue";YUP$
8030 YUP$=LEFT$(YUP$,1)
8040 IF YUP$="Y" OR YUP$="y" THEN GOTO 30 :ELSE END
9000 CLS: INPUT"Is to ( 1 ) enter numbers, ( 2 ) print list, or ( 3 ) change a number";BK
9010 ON BK GOTO 9020, 9110, 9210
9020 PRINT" For condition: N - New , G - Good , F - Fair , P - Poor"
9030 VIEW PRINT 4 TO 24
9040 FOR X = 1 TO S
9050 PRINT N$(X);"'s book # ";
9060 INPUT BOOK(X)
9070 PRINT"and its condition";
9080 INPUT CON$(X)
9090 NEXT X
9100 GOTO 30
9110 INPUT"What is this school year";SY$
9120 INPUT"Who's class is this";TEACH$
9130 LPRINT"Book List for ";TEACH$;" period ";P1;" ";SY$
9140 LPRINT" ":LPRINT"N - New, G - Good, F - Fair, P - Poor":LPRINT" "
9150 LPRINT"Student Name";TAB(30)"Book Number";TAB(45)"Condition";TAB(60)"Condition Returned"
9160 LPRINT" "
9170 FOR X = 1 TO S
9180 LPRINT N$(X);TAB(30)BOOK(X);TAB(49)CON$(X)
9190 NEXT X
9200 GOTO 30
9210 GOSUB 6000
9220 INPUT"What is the the student's number";STUN
9230 PRINT"If ";N$(STUN);" is not correct enter 0 for book #"
9240 INPUT"Book #";BKK
9250 IF BKK=0 THEN GOTO 9220 :ELSE BOOK(STUN)=BKK
9260 INPUT"Condition";CON$(STUN)
9270 INPUT"More changes ( 1 ) yes, ( 2 ) no";Y
9280 IF Y=1 THEN GOTO 9220 :ELSE GOTO 30
9500 CLS: GOSUB 6000
9510 INPUT"How many forms of the same test are there";FM
9520 INPUT"What is the point value for each question";PV
9530 INPUT "Are papers named by 1-NAME or 2-Number";PN
9540 FOR FORM = 1 TO FM
9550 IF FM > 1 THEN GOTO 9570
9560 DA$="B:"+QU$(Q)+RIGHT$(STR$(P1),1)+".TDA":GOTO 9580
9570 PRINT"What is form ";FORM;" filed as";:INPUT DA$
9575 IF LEFT$(DA$,2)<>"B:" THEN DA$ = "B:"+DA$
9576 IF RIGHT$(DA$,4)<>".TDA" THEN DA$= DA$+".TDA"
9580 OPEN "I",1, DA$
9585 FOR X= 1 TO S
9590 INPUT #1, NAM$
9600 IF NAM$ ="END" THEN CLOSE: GOTO 9800
9610 INPUT #1, TRIED
9620 INPUT #1, RIGHT
9630 INPUT #1, PERCENT
9640 IF PN =1 THEN GOTO 9660
9650 STUNUMB = VAL(RIGHT$(NAM$,2)):PRINT "Student Number ";STUNUMB:GOTO 9680
9660 PRINT"Number for ";NAM$;
9670 INPUT STUNUMB
9680 RIGHT = RIGHT*PV: THEYGOT = S1
9685 IF TRIED*PV < S1 THEN GOSUB 9850
9690 PRINT"Received ";RIGHT ;" Out of";THEYGOT
9700 PRINT"If this is correct Hit ENTER if not hit any #."
9710 LINE INPUT GOON$
9720 IF GOON$ = "" THEN GOTO 9780
9730 INPUT"1-Change student # , 2-Change points recieved, 3-Change points possible, 4- Next Student";HUH
9740 ON HUH GOTO 9750, 9760, 9770, 9780
9750 INPUT"New Student #";STUNUMB: GOTO 9730
9760 INPUT"Points received";RIGHT:GOTO 9730
9770 INPUT"Points possible";THEYGOT:GOTO 9730
9780 N(STUNUMB,Q,0)=RIGHT:N(STUNUMB,Q,1)=THEYGOT
9790 NEXT X
9800 NEXT FORM
9810 CLOSE :GOTO 30
9850 COLOR 16,4:PRINT N$(STUNUMB):PRINT"Either did not complete all the questions or their form did not read properly."
9860 PRINT"You can check the form now or make a note and correct the grade later."
9870 LINE INPUT "Hit ENTER to continue";GOON$
9880 COLOR 15,1:RETURN
9900 B=3:LT$=RIGHT$(STR$(P1),1):MPL$=RIGHT$(STR$(M),1)
9910 FI$="B:PER"+LT$+".mp"+MPL$
9920 LINE INPUT "Place Marking Period Storage Disk in drive B:. <ENTER> to Cont.";GOON$
9930 GOSUB 995: B=3:FI$=" "
9950 RETURN
10000 PRINT"Refer to your print out to answer the following Questions."
10010 INPUT"What is the total number of students you intend to do I.P.R.'s on";NMB
10020 FOR X = 1 TO NMB
10030 PRINT"Student # of form #";X;
10040 INPUT IP(X)
10050 NEXT X
10060 INPUT"Any changes ( Y or N )";Y$
10070 IF Y$="n" OR Y$="N" THEN GOTO 10100
10080 INPUT"Form #";X:INPUT"Student #";IP(X)
10090 GOTO 10060
10100 PER$=RIGHT$(STR$(P1),1):MKP$=RIGHT$(STR$(M+1),1)
10110 DOP$="SCHDATA\IPD"+PER$+".MP"+MKP$
10120 OPEN"O",1,DOP$
10130 PRINT#1, NMB
10140 FOR Y = 1 TO NMB
10150 X = IP(Y)
10160 GOSUB 945: F=CINT(F)
10170 PRINT#1, N$(X);",";F;",";Q
10180 FOR QP = 1 TO Q
10190 PRINT#1, QU$(QP)
10200 FOR GR = 0 TO 1
10210 PRINT#1, N(X,QP,GR)
10220 NEXT GR:NEXT QP:NEXT Y
10230 CLOSE
10240 RETURN
10995 GOSUB 805
11000 CLS:INPUT"Is this for: 1 - one grade or 2 - all grades";GY
11010 IF GY = 2 THEN GOTO 11200
11020 GOSUB 1270
11025 LPRINT" "
11030 INPUT"What is the number of the grade you are checking";GN
11040 LPRINT" Students missing ";QU$(GN);" Which is grade number";GN
11050 LPRINT"Students absent or missing grade ( 0/0 )."
11060 FOR X = 1 TO S
11070 IF N(X,GN,0)=0 AND N(X,GN,1)=0 THEN LPRINT N$(X)
11080 NEXT X
11090 LPRINT" "
11100 FOR X=1 TO S
11110 IF N(X,GN,1)=0 THEN GOTO 11130
11120 G2 = N(X,GN,1): GOTO 11140
11130 NEXT X
11140 LPRINT"Students that have 0/";G2;"on ";QU$(GN)
11150 FOR X = 1 TO S
11160 IF N(X,GN,0)=0 AND N(X,GN,1)>0 THEN LPRINT N$(X)
11170 NEXT X
11180 INPUT"Do you want to do another ( 1 - yes, 2 - NO )";Y
11190 ON Y GOTO 11025, 30
11200 FOR X = 1 TO Q
11210 LPRINT "Grade #";X;"- ";QU$(X);" ";
11220 NEXT X
11230 FOR GN = 1 TO Q
11235 LPRINT"=============================================================================="
11240 LPRINT" Students missing ";QU$(GN);" Which is grade number";GN
11250 LPRINT"Students absent or missing grade ( 0/0 )."
11260 FOR X = 1 TO S
11270 IF N(X,GN,0)=0 AND N(X,GN,1)=0 THEN LPRINT N$(X)
11280 NEXT X
11290 LPRINT" "
11300 FOR X=1 TO S
11310 IF N(X,GN,1)=0 THEN GOTO 11330
11320 G2 = N(X,GN,1): GOTO 11340
11330 NEXT X
11335 LPRINT" "
11340 LPRINT"Students that have 0/";G2;"on ";QU$(GN)
11350 FOR X = 1 TO S
11360 IF N(X,GN,0)=0 AND N(X,GN,1)>0 THEN LPRINT N$(X)
11370 NEXT X
11375 LPRINT" "
11380 NEXT GN
11390 GOTO 30
12000 LPRINT CHR$(15):FOR X = 1 TO S
12010 COP = 0: MPG = 0: MPT = 0
12020 GOSUB 4050
12030 MPGN = 0 : MPGN = 390 - MPT
12040 FOR Y = 1 TO Q
12050 PRG = PRG + N(X,Y,0)
12060 NEXT Y
12070 FOR Y = 1 TO Q
12080 TDG = TDG + N(X,Y,1)
12090 NEXT Y
12100 TDG = TDG + 100
12105 FGN1 = MPGN/100
12110 FGN = ( FGN1 * TDG ) - PRG
12120 GTD = ( PRG/(TDG-100) ) * 100
12125 NPMP = (.65*TDG) - PRG
12130 LPRINT N$(X);" Y.A.T.D. =";MPG;"M.P.T.D. =";GTD;"F.G.N. =";FGN;"N.P.M.P. =";NPMP
12140 PRG=0: TDG=0: FGN=0: GTD=0: NPMP=0
12150 NEXT X
12160 END