10  REM::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
30  REM
50  REM    STUDENT RESPONSE PRINT         MARCH 29, 1974
70  REM    THE OHIO STATE UNIVERSITY COLLEGE OF PHARMACY
90  REM    
110  REM   VERL E. DENNIS     OFFICE OF EDUCATIONAL DEVELOPMENT
130  REM
150  REM::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
170  DIM F[150]
190  DIM R$[72],S$[72],T$[72],Z$[72]
210  DIM F$[6],C$[5],D$[48],M$[4],D[12]
230  REM- - - - - - - - - - -- - -
250  FILES *,SKR2
270  PRINT "IDF STUDENT RESPONSE PRINT   ***  OED Version B"
290  PRINT "CODE";
310  INPUT C$
330  IF C$='18'21'10 THEN 370
350  STOP 
370  PRINT "ENTER RESPONSE FILE LIST, ONE PER LINE,  TERMINATE WITH 'END'"
390  N9=0
410  FOR N8=1 TO 72 STEP 6
430  N9=N9+1
450  PRINT "FILE #";N9;
470  INPUT F$
490  IF F$="END" THEN 590
510  Z$[N8,N8+5]=F$
530  NEXT N8
550  N8=N8+6
570  PRINT "BUFFER CAN HOLD 12 FILE NAMES MAX"
590  PRINT "CORRECTIONS";
610  INPUT C$
630  IF C$[1,1]="Y" THEN 690
650  IF C$[1,1]="N" THEN 870
670  GOTO 590
690  PRINT "FILE NUMBER";
710  INPUT F1
730  IF F1>0 AND F1<N9 THEN 770
750  GOTO 690
770  PRINT "FILENAME";
790  INPUT F$
810  Z$[(F1*6)-5,F1*6]=F$
830  PRINT "MORE ";
850  GOTO 590
870  GOSUB 5230
890  Z0=0
910  PRINT LIN(2)"REMOVE BLANKS";
930  INPUT R$
950  IF R$[1,1]="Y" THEN 1010
970  IF R$[1,1]="N" THEN 1030
990  GOTO 910
1010  Z0=1
1030  PRINT 
1050  PRINT "SELECT:  A. STD RESPONSE PRINT   B. RESPONSE FREQ COUNT";
1070  INPUT R$
1090  IF R$="A" THEN 1170
1110  IF R$="B" THEN 2810
1130  PRINT "SELECT:     A     OR     B"
1150  GOTO 1070
1170  FOR S6=1 TO N8-5 STEP 6
1190  F$=Z$[S6,S6+5]
1210  ASSIGN F$,1,F1
1230  IF  END #1 THEN 1270
1250  GOTO 1310
1270  PRINT LIN(5)"***** ";F$;" EMPTY  *****"LIN(5)
1290  GOTO 2490
1310  READ #1,1;R$,T$,C$,L0,L1,N1,N0
1330  S0=1
1350  S1=N1
1370  IF N8>7 THEN 1590
1390  PRINT "THERE ARE ";N1;"SECTIONS IN ";F$
1410  PRINT "START SRP AT SECTION #";
1430  INPUT S0
1450  PRINT "STOP SRP AT SECTION #";
1470  INPUT S1
1490  IF S0<0 OR S1<1 THEN 1550
1510  IF S0>N1 OR S1>N1 THEN 1550
1530  GOTO 1590
1550  PRINT "INVALID RANGE"
1570  GOTO 1410
1590  A0=51
1610  REM----------------------------------------------------
1630  FOR S9=S0 TO S1
1650  REM PRINT PAGE HEADING
1670  GOSUB 2550
1690  S8=H8=0
1710  C8=0
1730  FOR R1=2 TO N0-1
1750  IF  END #1 THEN 2390
1770  REM READ STUDENT #
1790  READ #1,R1;S2
1810  GOTO TYP(-1) OF 1870,1990,2390,2350
1830  PRINT "ERROR---- BRANCH NOT TAKEN"
1850  REM READ SECTION #
1870  READ #1;Y
1890  IF Y>S9 THEN 2350
1910  REM IF THE PROPER SECTION # IS FOUND, PRINT RESPONSE
1930  IF Y=S9 THEN 1990
1950  READ #1;R$
1970  GOTO 1810
1990  READ #1;R$
2010  IF Z0=0 THEN 2050
2030  GOSUB 4750
2050  IF R$ <> "//STOP" THEN 2110
2070  S8=S8+1
2090  GOTO 1810
2110  IF R$ <> "//HINT" THEN 2170
2130  H8=H8+1
2150  GOTO 1810
2170  IF R$ <> "//CALC" THEN 2230
2190  C8=C8+1
2210  GOTO 1810
2230  L9=L9+1
2250  PRINT S2;" ";R$
2270  IF L9<A0 THEN 1810
2290  PRINT LIN(3)
2310  GOSUB 2550
2330  GOTO 1810
2350  NEXT R1
2370  PRINT 
2390  PRINT "NUMBER OF STUDENTS STOPPING IN THIS SECTION -- ";S8
2410  PRINT "NUMBER OF //HINTS REQUESTED -- ";H8
2430  PRINT "NUMBER OF //CALCS USED      -- ";C8
2450  PRINT LIN(A0-3-L9)
2470  NEXT S9
2490  NEXT S6
2510  PRINT "------"
2530  STOP 
2550  REM
2570  PRINT "------"
2590  PRINT 
2610  PRINT  USING 2630;M$,D9,D0,T$[1,7]
2630  IMAGE 4A,X,2D,",",X,4D,5X,"RESP FILE ASSOCIATED WITH LESSONFILE: ",7A
2650  PRINT 
2670  PRINT "SECTION #";S9,"   ";F$;"      STUDENT RESPONSE PRINT"
2690  PRINT LIN(2)
2710  PRINT "   S#          RESPONSE"
2730  PRINT " ====      ========================================="
2750  PRINT 
2770  L9=0
2790  RETURN 
2810  FOR S6=1 TO N8-5 STEP 6
2830  F$=Z$[S6,S6+5]
2850  ASSIGN F$,1,F1
2870  IF  END #1 THEN 2910
2890  GOTO 2950
2910  PRINT LIN(5)"***** ";F$;" EMPTY!  *****"LIN(5)
2930  GOTO 4690
2950  READ #1,1;R$,T$,C$,L0,L1,N1,N0
2970  S0=1
2990  S1=N1
3010  A0=51
3030  IF N8>7 THEN 3250
3050  PRINT "THERE ARE ";N1;"SECTIONS IN ";F$
3070  PRINT "START SRP AT SECTION #";
3090  INPUT S0
3110  PRINT "STOP SRP AT SECTION #";
3130  INPUT S1
3150  IF S0<0 OR S1<1 THEN 3210
3170  IF S0>N1 OR S1>N1 THEN 3210
3190  GOTO 3250
3210  PRINT "INVALID RANGE"
3230  GOTO 3070
3250  FOR S9=S0 TO S1
3270  R9=C8=H8=S8=0
3290  MAT F=CON
3310  FOR R1=2 TO N0-1
3330  IF  END #1 THEN 4290
3350  REM READ STUDENT NUMBER  (NOT USED IN THIS PRINT)
3370  READ #1,R1;S2
3390  GOTO TYP(-1) OF 3430,3550,4290,4130
3410  REM READ THE SECTION NUMBER
3430  READ #1;Y
3450  IF Y>S9 THEN 4130
3470  IF Y=S9 THEN 3550
3490  READ #1;R$
3510  GOTO 3390
3530  REM READ STUDENT RESPONSE
3550  READ #1;R$
3570  IF Z0=0 THEN 3630
3590  GOSUB 4750
3610  REM COUNT UP NUM. OF //STOPS,//HINTS,//CALCS
3630  IF R$ <> "//STOP" THEN 3690
3650  S8=S8+1
3670  GOTO 3390
3690  IF R$ <> "//HINT" THEN 3750
3710  H8=H8+1
3730  GOTO 3390
3750  IF R$ <> "//CALC" THEN 3810
3770  C8=C8+1
3790  GOTO 3390
3810  REM
3830  READ #2,1
3850  FOR F9=1 TO R9
3870  READ #2;S$
3890  IF S$ <> R$ THEN 3970
3910  REM INCREMENT RESPONSE FREQUENCY COUNT
3930  F[F9]=F[F9]+1
3950  GOTO 3390
3970  NEXT F9
3990  IF  END #2 THEN 4230
4010  REM WRITE UNIQUE RESPONSE INTO SCRATCH FILE
4030  PRINT #2;R$
4050  REM R9=# OF UNIQUE RESPONSES WRITTEN INTO SCRATCH FILE
4070  R9=R9+1
4090  IF R9>149 THEN 4170
4110  GOTO 3390
4130  NEXT R1
4150  GOTO 4290
4170  PRINT "ONLY 150 DISTINCT RESPONSES ANALYZED DUE TO"
4190  PRINT "THE SIZE OF ARRAY F"
4210  GOTO 4290
4230  PRINT "SCRATCH FILE FULL .  TO OBTAIN A COMPLETE"
4250  PRINT "ANAYLSIS THE SCRATCH FILE MUST BE EXPANDED"
4270  REM PRINT REPORT
4290  READ #2,1
4310  L9=0
4330  GOSUB 4990
4350  FOR R2=1 TO R9
4370  IF  END #2 THEN 4650
4390  READ #2;R$
4410  PRINT F[R2];R$
4430  L9=L9+1
4450  IF L9<A0 THEN 4530
4470  PRINT LIN(3)
4490  REM PRINT PAGE HEADING
4510  GOSUB 4990
4530  NEXT R2
4550  PRINT 
4570  L9=L9+4
4590  PRINT "NUMBER OF //STOPS     -- ";S8
4610  PRINT "NUMBER OF //HINTS     -- ";H8
4630  PRINT "NUMBER OF //CALCS     -- ";C8
4650  PRINT LIN(A0-L9)
4670  NEXT S9
4690  NEXT S6
4710  PRINT "------"
4730  STOP 
4750  REM--------------------------REMOVE BLANKS SUBROUTINE
4770  L1=LEN(R$)
4790  I2=0
4810  FOR I1=1 TO L1
4830  IF R$[I1,I1]=" " THEN 4890
4850  I2=I2+1
4870  R$[I2,I2]=R$[I1,I1]
4890  NEXT I1
4910  FOR I3=I2+1 TO L1
4930  R$[I3,I3]=" "
4950  NEXT I3
4970  RETURN 
4990  PRINT "------"
5010  PRINT 
5030  PRINT  USING 2630;M$,D9,D0,T$[1,7]
5050  PRINT 
5070  PRINT "SECTION #";S9,"    ";F$;"    RESPONSE FREQUENCY COUNT"
5090  PRINT LIN(2)
5110  PRINT " FREQ            RESPONSE"
5130  PRINT " ====  ==============================================="
5150  PRINT 
5170  L9=0
5190  RETURN 
5210  END 
5230  D[1]=D[3]=D[5]=D[7]=D[8]=D[10]=D[12]=31
5250  D[4]=D[6]=D[9]=D[11]=30
5270  D[2]=28
5290  D$="JAN FEB MAR APR MAY JUNEJULYAUG SEPTOCT NOV DEC "
5310  D0=1900+TIM(3)
5330  D7=D0-INT(D0/4)*4
5350  IF D7#0 THEN 5390
5370  D[2]=D[2]+1
5390  D9=TIM(2)
5410  FOR D8=1 TO 12
5430  D9=D9-D[D8]
5450  IF D9<1 THEN 5530
5470  NEXT D8
5490  PRINT "CALENDER ERROR"
5510  STOP 
5530  D9=D9+D[D8]
5550  M$=D$[(D8-1)*4+1,D8*4]
5570  RETURN 
5590  END 
