10  REM ****  HP TIME-SHARED BASIC PROGRAM LIBRARY  ********************
20  REM
30  REM              FREQ:  BAR GRAPHS OF GRADES
40  REM
50  REM              36341  (A720)  REV A -- 10/71
60  REM
70  REM ****  CONTRIBUTED PROGRAM  *************************************
80  REM FREQ-COPYRIGHT 1970, POLYTECHNIC INSTITUTE OF BROOKLYN
100  REM PEREZ, WALT WHITMAN H.S., REVISED 7/69
105  REM  REVISED BY C.LOSIK  8-26-70 
110  REM 
120  REM THIS PROGRAM PRINTS A FREQUENCY DISTRIBUTION OF GRADES. 
130  REM ENTRIES ARE ROUNDED OFF TO THE NEAREST 5 AND INDICATED ON A 
140  REM BAR GRAPH. IT MAY BE USED FOR A SINGLE TEST FOR ONE OR MORE 
150  REM CLASSES OR FOR SEVERAL TESTS FOR ONE STUDENT. THE PROGRAM IS
160  REM SET TO ACCEPT UP TO 150 GRADES. LINES 600-700 ARE SET ASIDE 
170  REM FOR DATA ENTRIES. THEY MAY BE ENTERED IN ANY SEQUENCE.
180  REM 
185  LET N=0
190  PRINT "          GRADE FREQUENCY DISTRIBUTION (BAR GRAPH)"
200  PRINT "          ----------------------------------------"
210  PRINT 
220  PRINT "GRADE"," 1   5   10   15   20   25   30"
230  PRINT "-----","I+---+----+----+----+----+----+"
240  DIM F[150],P[100]
245  MAT P=ZER
250  READ F
260  IF F=9999 THEN 290
270  LET N=N+1
280  GOTO 250
290  RESTORE 
292  IF N <= 150 THEN 300
294  PRINT "RE-DIMENSION LINE 240.  DELETE LINES 292,294,296."
296  STOP 
300  FOR I=1 TO N
310  READ F[I]
320  LET F[I]=5*INT(F[I]/5+.5)
330  NEXT I
340  FOR I=1 TO N
350  FOR P=0 TO 100 STEP 5
360  IF P=F[I] THEN 380
370  NEXT P
380  LET P[P]=P[P]+1
390  NEXT I
400  PRINT " 0","I"
410  FOR P=5 TO 100 STEP 5
420  PRINT P,"I";
430  IF P[P] >= 1 THEN 460
440  PRINT " "
450  GOTO 500
460  FOR L=1 TO P[P]
470  PRINT "X";
480  NEXT L
490  PRINT " "
500  NEXT P
600  REM BEGIN DATA ENTRIES HERE. TYPE - 600 DATA 1,2,3, ETC.
701  DATA 9999
999  END 
