Zum Inhalt
Vorlesung 2 Grüning
Aus ProgrammingWiki
<
BuK
<
IIm20
Archivierte Version vom 2021-03-27T13:54:40+00:00.
Aktuelle Version
Absolute Unlösbarkeit
Seite 7
(define f (lambda (n) (if (= n 1) 1 (if (even? n) (+ (f (/ n 2)) 1) (/ 1 (f (- n 1))) ) ) ) )
(f 1)
ausführen
(define f^- (lambda (n) (if (= n 1) 1 (if (> n 1) (* (f^- (- n 1)) 2) (+ (f^- (/ 1 n)) 1) ) ) ) )
(f^- 1)
ausführen
Überabzählbar unendlich
Seite 11
\table
Hilbert Hotel
(define stream-car car) (define stream-cdr (lambda (stm) (force (cdr stm)))) (define-macro (stream-cons head tail) `(cons ,head (delay ,tail))) (define stream? (lambda (stm) (and (pair? stm) (promise? (cdr stm))))) (define stream-map (lambda (proz stm) (stream-cons (proz (stream-car stm)) (stream-map proz (stream-cdr stm))))) (define show-stream (lambda (stm n) (letrec ([show (lambda (stm n ls) (if (= n 0) (apply display (append ls (list "..."))) (show (stream-cdr stm) (- n 1) (append ls (list (stream-car stm) ", ")))))]) (show stm n ())))) (define zeige-mir show-stream)
(define baue-hilberthotel (lambda () (stream-cons #f (baue-hilberthotel))) ) (define hilberthotel (baue-hilberthotel))
(zeige-mir hilberthotel 11)
ausführen
(define einzelbuchung (lambda (val stm pos) (let ([old-pos pos]) (letrec ([shorten (lambda (val stm pos) (if (= pos 0) (if (eq? #f (stream-car stm)) (stream-cons val (stream-cdr stm)) (raise (string-append (number->string old-pos) " schon belegt mit: " (stream-car stm)))) (stream-cons (stream-car stm) (shorten val (stream-cdr stm) (- pos 1))) )) ]) (shorten val stm pos) ) ) ) )
(set! hilberthotel (einzelbuchung "Otto Grundmann" hilberthotel 3)) (zeig-mir hilberthotel 12)
ausführen
(define baue-kleinbus (lambda (numb pers) (list numb pers))) (define kleinbus815 (baue-kleinbus 815 8))
(zeig-mir kleinbus815)
ausführen
(define kleingruppenbuchung (lambda (hotel finite-bus) (letrec ([helper (lambda (hotel finite-bus pos) (if (not (empty? finite-bus)) (helper (einzelbuchung (car finite-bus) hotel pos) (+ pos 1)) (hotel) ) ) ]) (hotel finite-bus 0) ) ) ) (set! hilberthotel (kleingruppenbuchung kleinbus815 hilberthotel))
(zeig-mir hilberthotel 12)
ausführen
Seite
Quelltext
Versionen/Autoren
Konto registrieren
Anmelden
Navigation
Startseite
Letzte Änderungen
Alle Seiten
Einführungskurs
Hilfe
Dateien
Suche
Suchen
Werkzeuge
Links auf diese Seite
Spezialseiten