PROGRAM 7
; FILENAME: PROGRAM7.LSP AUTHOR: ANTHONY F. ORTIZ
; ADD A LIST OF NUMBERS.
(DEFUN ADDNOS (LIS)
(COND
((NULL LIS) 0)
(T (+ (CAR LIS) (ADDNOS (CDR LIS))))))
; COUNT THE NUMBER OF NUMERIC ATOMS IN A LIST AND ALL SUBLISTS.
(DEFUN COUNTNOS (LIS)
(COND
((NULL LIS) 0)
((NUMBERP LIS) 1)
((ATOM LIS) 0)
(T (+ (COUNTNOS (CAR LIS)) (COUNTNOS (CDR LIS))))))
; COUNT THE NUMBER OF SUBLISTS IN A LIST AT ALL LEVELS.
; (NOTE: I COULD ONLY COUNT THE NUMBER OF SUBLISTS AT ONE LEVEL.)
(DEFUN COUNTSUB (LIS)
(COND
((NULL LIS) 0)
((ATOM LIS) 0)
((LISTP (CAR LIS)) (+ 1 (COUNTSUB (CDR LIS))))
(T (COUNTSUB (CDR LIS)))))
; OUTFILE: PROG7.OUT
XLISP version 2.0, Copyright (c) 1988, by David Betz
; loading "init.lsp"
> (load "program7.lsp")
; loading "program7.lsp"
T
> (addnos '(1 2 3 4 5))
15
> (countnos '(1 2 3 4 5))
5
> (countsub '(1 2 3 4 5))
0
>
BACK TO CS3120 PAGE.