;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 도수분포 (히스토그램)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 점수를 받아서 점수대별 도수를 표시한다.
(SETF SCORES '(35 25 56 78 43 66 71 73 80 90
0 73 35 65 100 78 80 85 35 50))
(DEFUN SHOW-HISTO ()
(SETF HISTO (MAKE-ARRAY 11 :initial-element 0))
(DEFUN DISPLAY (LIST)
(DOTIMES (N (LENGTH LIST))
(FORMAT T "~&~3A ..... ~3A" (* N 10) (AREF LIST N))))
(DOLIST (A0 SCORES (DISPLAY HISTO))
(SETF (AREF HISTO (TRUNCATE A0 10)) (+ 1 (AREF HISTO (TRUNCATE A0 10))))))
(SHOW-HISTO)
0 ..... 1
10 ..... 0
20 ..... 1
30 ..... 3
40 ..... 1
50 ..... 2
60 ..... 2
70 ..... 5
80 ..... 3
90 ..... 1
100 ..... 1
NIL