5  REM  ** HP CONTRIBUTED LIBRARY 2/75 **
10  REM******AUTOMATIC ITEM ANALYSIS PROGRAM*********************
20  REM*****WORKS FROM RAW RESPONSE LETTERS.  RESPONSE ALTERNATIVES
30  REM ARE A,B,C,D,E. OMITTED RESPONSES SHOULD BE CODED'O'.
40  REM  DATA IS ENTERED VIA 'DATA' STATEMENTS AT END OF PROGRAM.
50  REMPROGRAM WILL COPE WITH MAX. OF 50 ITEMS
60  REMPRE-REQUIRED DATA ARE         1)STRING OF CORRECT RESPONSES
70  REM                              2)NUMBER OF STUDENTS(48MAX)
80  REM*********************:J.R.T. OCT.1973***************************:
90  DIM A$[50],B$[50],X[50],W[50],C$[3]
100  FILES STDT
110  PRINT "ENTER NUMBER OF STUDENTS INVOLVED IN TEST";
120  INPUT N
130  PRINT " HOW MANY ITEMS IN THE TEST";
140  INPUT N1
145  PRINT "STDT.NO.      RIGHT/WRONG/OMIT             SCORE"
150  READ A$
160  FOR C=1 TO N
170  READ B$
180  LET W=R=Q=0
190  FOR I=1 TO N1
200  IF B$[I,I]="O" THEN 240
210  IF B$[I,I]=A$[I,I] THEN 260
220  W=W+1
230  GOTO 270
240  Q=Q+1
250  GOTO 270
260  R=R+1
270  NEXT I
280  S=R
290  PRINT C,R;W;Q,R/N1
300  PRINT #1,C;B$,S
310  X[C]=S
320  W[C]=C
330  NEXT C
340  LET E=0
350  FOR C=1 TO N-1
360  IF X[C] <= X[C+1] THEN 440
370  E=E+1
380  T=X[C]
390  X[C]=X[C+1]
400  X[C+1]=T
410  T=W[C]
420  W[C]=W[C+1]
430  W[C+1]=T
440  NEXT C
450  IF E=0 THEN 470
460  GOTO 340
470  C=INT(N*.27)
480  IF (N*.27)-C <= .5 THEN 520
490  C=C+1
500  C1=C
510  PRINT '10'10'10'10
520  PRINT "LOWER GROUP OF";C;"WITH NUMBER OF ITEMS CORRECT"
530  F=0
540  FOR I=1 TO C
550  D=W[I]
560  PRINT W[I];X[I]
570  GOSUB 1550
580  NEXT I
590  F=1
600  IF 2*INT(N/2)=N THEN 630
610  C2=INT((N+1)/2)
620  GOTO 640
630  C2=INT(N/2)
640  FOR I=C+1 TO C2
650  D=W[I]
660  GOSUB 1550
670  NEXT I
680  F=2
690  FOR I=C2+1 TO N-C
700  D=W[I]
710  GOSUB 1550
720  NEXT I
730  PRINT '10'10'10'10
740  PRINT "TOP GROUP WITH NUMBER OF ITEMS CORRECT"
750  F=3
760  FOR I=N-C+1 TO N
770  D=W[I]
780  PRINT W[I];X[I]
790  GOSUB 1550
800  NEXT I
810  S1=S2=0
820  FOR I=1 TO N
830  S1=S1+X[I]
840  S2=S2+X[I]^2
850  NEXT I
860  M=S1/N
870  V=S2/N-(S1/N)^2
880  S=SQR(V)
890  PRINT "MEAN=";M;"VARIANCE=";V;"STD. DEV.=";S
895  PRINT '10'10'10'10'10
900  PRINT "DO YOU WANT STANDARDISED SCORES";
910  INPUT C$
920  IF C$="NO" THEN 1000
930  PRINT "ENTER MEAN AND STANDARD DEVIATION ONTO WHICH YOU"
940  PRINT "WISH THE RESULTS TO BE STANDARDISED";
950  INPUT F1,F2
955  PRINT '10'10'10'10'10
956  PRINT "NO. SCORE"
960  FOR I=1 TO N
970  M1=INT(((X[I]-M)/S)*F2+F1)
980  PRINT W[I];M1
990  NEXT I
1000  U2=U3=U4=0
1005  PRINT '10'10'10'10'10
1006  PRINT "ITEM ANALYSIS"
1010  FOR Q=1 TO N1
1020  U=U1=L=L1=A=B=C=D=O=G=E=0
1030  FOR I=1 TO N
1040  READ #1,I;B$,S,F
1050  IF B$[Q,Q]#A$[Q,Q] THEN 1190
1060  IF F=0 THEN 1110
1070  IF F=3 THEN 1130
1080  IF F=1 THEN 1150
1090  IF F=2 THEN 1170
1100  GOTO 1180
1110  L=L+1
1120  GOTO 1180
1130  U=U+1
1140  GOTO 1180
1150  L1=L1+1
1160  GOTO 1180
1170  U1=U1+1
1180  G=G+1
1190  IF B$[Q,Q]="O" THEN 1250
1200  IF B$[Q,Q]="A" THEN 1270
1210  IF B$[Q,Q]="B" THEN 1290
1220  IF B$[Q,Q]="C" THEN 1310
1230  IF B$[Q,Q]="D" THEN 1330
1240  IF B$[Q,Q]="E" THEN 1350
1250  O=O+1
1260  GOTO 1360
1270  A=A+1
1280  GOTO 1360
1290  B=B+1
1300  GOTO 1360
1310  C=C+1
1320  GOTO 1360
1330  D=D+1
1340  GOTO 1360
1350  E=E+1
1360  NEXT I
1370  F=G/N
1380  R=(U-L)/C1
1390  PRINT "QUESTION NO.";Q;"ANSWER ";A$[Q,Q]
1400  PRINT "RESPONSE FREQUENCIES";A;B;C;D;E;O
1410  PRINT "UPPER=";U;"MIDDLE UPPER=";U1;"MIDDLE LOWER=";L1;"LOWER=";L
1420  PRINT "FACILITY=";F;"DISCRIMINATION=";R
1430  PRINT 
1440  PRINT 
1450  PRINT 
1460  PRINT 
1470  PRINT 
1480  U4=U4+U+L
1490  U2=U2+(U+L)^2
1500  U3=U3+U-L
1510  NEXT Q
1520  R=(N1/(N1+1))*(1-(2*C1*U4-U2)/(.667*U3^2))
1530  PRINT "RELIABILITY  KR(20)  =";R
1540  STOP 
1550  READ #1,D;B$,S
1560  PRINT #1,D;B$,S,F
1570  RETURN 
1580  END 
