Zum Inhalt
Echte und endständige Rekursionen JS
Aus ProgrammingWiki
<
Grundlagen der funktionsorientierten Programmierung mit SCHEME
Archivierte Version vom 2018-09-21T06:01:34+00:00.
Aktuelle Version
Beispiel:
(define fak-rek (lambda (n) (print "fak-rek " n) (if (= n 0) 1 (* n (fak-rek (- n 1))))))
Trace-Modus:
(fak-rek 5)
ausführen
Beispiel:
(define fak-help (lambda (n fak) (print "fak-help " n " " fak) (if (= n 0) fak (fak-help (- n 1) (* n fak))))) (define fak-it (lambda (n) (print "fak-it " n) (fak-help n 1)))
Trace-Modus:
(fak-it 5)
ausführen
Beispiel:
(define indent 0) (define fak-rek (lambda (n) (set! indent (+ indent 1)) (print (make-string indent #\space) "fak-rek " n) (let ([r (if (= n 0) 1 (* n (fak-rek (- n 1))) )]) (print (make-string indent #\space) r) (set! indent (- indent 1)) r ) ) )
Trace-Modus:
(fak-rek 5)
ausführen
Beispiel:
(define indent 0) (define fak-help (lambda (n fak) (set! indent (+ indent 1)) (print (make-string indent #\space) "fak-help " n " " fak) (let ([r (if (= n 0) fak (fak-help (- n 1) (* n fak))) ]) (print (make-string indent #\space) r) (set! indent (- indent 1)) r ) ) ) (define fak-it (lambda (n) (set! indent (+ indent 1)) (print (make-string indent #\space) "fak-it " n) (let ([r (fak-help n 1)]) (print (make-string indent #\space) r) (set! indent (- indent 1)) r ) ) )
Trace-Modus:
(fak-it 5)
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