Lecture 4: In Class Activity
Solution Key
Problem 1
(defun convert2 (lst)
(and (listp lst)
(do* ((len (length lst))
(arr (make-array len))
(i 0 (+ i 1))
)
((>= i len) arr)
(setf (aref arr i) (nth i lst))
)
)
)
Problem 2
(defun our-length (x)
(and (listp x)
(let ((len (length x)))
(cond
((= len 0) 'Zero)
((= len 1) 'One)
((= len 2) 'Two)
((= len 3) 'Three)
((= len 4) 'Four)
((= len 5) 'Five)
(t 'Big)
)
)
)
)
Problem 3
(defun mather (x y &key (mathop #'+))
(funcall mathop x y)
)
>(mather 5 7)
12
>(mather 5 7 :mathop #'list)
(5 7)
Problem 4
(let ((big-num nil))
(defun biggest (x)
(cond
((not (numberp x)) big-num)
((null big-num) (setf big-num x))
((> x big-num) (setf big-num x))
(t big-num)
)
)
)
Back to main page...