; Aufgabe 2, Unterpunkt 1 ;(/ (+ 9 (* 18 8) 17) (+ 6 (* 5 (- 4 (+ 3 (* 2 1)))))) ; Aufgabe 2, Unterpunkt 2 ;(define (f x y z) ; (* y (+ y z 13) (- z 5 x))) ; Aufgabe 2, Unterpunkt 3 ;(define (min x y) ; (cond ((> x y) y) ; ((<= x y) x))) ;(min 10 23) ;(min 5 2) ; Aufgabe 3 ; Erster Teil: ; "if" ist eine special-form weil es vom Interpreter in einer bestimmten Reihenfolge ; abgearbeit wird (applicative order). Zuerst wird die Bedingung überprüft und danach ; entweder der erste oder zweite Ausdruck (je nach Rückgabewert der Bedingung) ausgeführt. ; ; Wieso kann das normale "if" nicht durch ein selbstdefiniertes "if" auf der Basis von ; "cond" ersetzt werden? ; Sobald "if" ausgeführt wird, wird die Bedingung ("kondition") ausgeführt, danach ; "then-clause" und "else-clause". Genau hier fängt der unterschied schon an, denn die ; Rückgabewerte der Parameter von "unserem if" werden an "if" übergeben. (define (if kond then-c else-c) (cond (kond then-c) (else else-c))) (if (= 1 0) (* 10 2) (+ 9 1))