Recursion

Tafelaufschrieb zu Rekursion (vgl. LISP code auf Ilias):

; Beispiel mit cond

(defun myfun ()
(cond ([termination-condition] [termination-action])
([recursion-condition] (myfun ()))
)
)

; Beispiel mit if

(defun myfun ()
(if  [termination-condition]
[termination-action]
(myfun ())
)
)

IMG_5400

 

Hier eine Visualisierung der Rekursiven Funktion zur Generierung von Fibonacci Zahlen. Code-Beispiel:

(defun fib1 (n)
(if   (or (= n 1) (= n 0))
1
(+ (fib1 (- n 1)) (fib1 (- n 2)))
)
)

IMG_5402