Praktikum

Lisp Praktikum 2

Praktikum 2 Aufgabe 1 (defun reduce-list (f init seq) (cond ((null seq) init) (t(funcall f (car seq) (reduce-list f init (cdr seq)))))) (reduce-list #'+ 0 '(1 2 3 4)) 10 ;; Filter a sequence by the function f ;;if f(list-entry) == true then add to list (defun filter (f seq) (cond ((null seq) nil) ((funcall f (car seq)) (cons (car seq) (filter f (cdr seq)))) (t (filter f (cdr seq))))) Aufgabe 2 Erstelle eine Funktion “Range”:

Lisp Praktikum 1

Lisp Praktikum 1 1. First Steps a. ;; 10 * (4 + 3 + 3 + 1) - 20 = 90 * (- (* 10 (+ 4 3 3 1)) 20) 90 * 42 42 ;;evalueates to itself * pi 3.141592653589793d0 * (/4 3) 4/3 * (/ 12 3) 4 * (/ 4 3.0) 1.3333334 * (+ 0.5 1/2) 1.0 * (+ 0.5 1/4) 0.75 * (+ 1/2 1/4) 3/4 * (* 35 1.