1
0
mirror of https://github.com/2martens/uni.git synced 2026-05-07 03:46:25 +02:00

SE3-8: Aufgabe 3.3 bearbeitet.

This commit is contained in:
Jim Martens
2014-01-06 11:08:58 +01:00
parent 1d4cd3392a
commit 57d70e469c

View File

@ -27,6 +27,12 @@ Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
; 3. ; 3.
; Nach der inneren Reduktion wird zunächst (pimento + 1) ausgeführt.
; Dabei wird f an + gebunden und arg1 wird an 1 gebunden.
; Der zurückgegebenen Closure wird nun 3 als Argument übergeben.
; Damit wird arg2 an 3 gebunden. Schließlich wird (+ 1 3) ausgeführt
; und als Ergebnis 4 zurückgegeben.
; 4. ; 4.
; (foldl (curry * 2) 1 '(1 2 3)) -> 48, weil zunächst (curry * 2) ; (foldl (curry * 2) 1 '(1 2 3)) -> 48, weil zunächst (curry * 2)
@ -174,6 +180,43 @@ Abgebende: Jim 2martens, Britta 2noack, Jan-Simon 0giesel
; 3. ; 3.
;(define (is-a-set? karten)) (define (is-a-set? karten)
(let* ([gleich (λ (wert1 wert2 wert3)
(and
(equal? wert1 wert2)
(equal? wert1 wert3)
))]
[verschieden (λ (wert1 wert2 wert3)
(and
(not (equal? wert1 wert2))
(not (equal? wert1 wert3))
(not (equal? wert2 wert3))
))]
[qualified (λ (wert1 wert2 wert3)
(or
(gleich wert1 wert2 wert3)
(verschieden wert1 wert2 wert3)
))])
(and
(qualified (first (first karten))
(first (second karten))
(first (third karten)))
(qualified (second (first karten))
(second (second karten))
(second (third karten)))
(qualified (third (first karten))
(third (second karten))
(third (third karten)))
(qualified (fourth (first karten))
(fourth (second karten))
(fourth (third karten))))))
(display "is-a-set?(#t): ")
(is-a-set? '((Oval rot ein Linie)
(Rechteck rot zwei Linie)
(Welle rot drei Linie)))
(display "is-a-set?(#f): ")
(is-a-set? '((Oval rot ein Linie)
(Oval blau zwei Fläche)
(Welle rot drei Linie)))