All pastes #749826 Raw Edit

Stuff

public text v1 · immutable
#749826 ·published 2007-10-25 23:13 UTC
rendered paste body
; 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))