Funktionen höherer Ordnung :-/
2002-02-16 11:39
Faleiro
So. Ich muß mal kurz etwas Frust ablassen. Warum haben wir so bescheuerte Übungsaufgaben? Ich habe gestern nochmal per Kuli + Papier den 6. Zettel durchgeackert (bis auf die letzte Aufgabe, das mache ich wirklich nur am PC), und ich kapiere die Musterlösungen einfach nicht.
Wo der Autor der Musterlösung erstmal ein eigenes "my-and" und "my-or" definiert, schreibe ich eine kurze Rekursion nach dem üblichen Muster hin:
(Mir fällt gerade ein, daß das Forum wahrscheinlich wieder die Einrückung annihiliert. Sonst ist das natürlich übersichtlicher :-)
Wie soll ich die Benutzung der Funktionen höherer Ordnung lernen, wenn eine Lösung ohne diese Dinger wesentlich simpler und verständlicher ist?
Wo der Autor der Musterlösung erstmal ein eigenes "my-and" und "my-or" definiert, schreibe ich eine kurze Rekursion nach dem üblichen Muster hin:
(define (there-is p? xs)
(cond
((null? xs) #f) ; Wenn die Liste leer ist, gab es wohl nix.
((p? (car xs)) #t) ; Trifft das Prädikat zu, dann haben wir wohl eines.
(else (there-is p? (cdr xs))) ; Trifft nicht zu, aber wir versuchen halt das nächste.
)
)
Für "for-all" halt analog. (Mir fällt gerade ein, daß das Forum wahrscheinlich wieder die Einrückung annihiliert. Sonst ist das natürlich übersichtlicher :-)
Wie soll ich die Benutzung der Funktionen höherer Ordnung lernen, wenn eine Lösung ohne diese Dinger wesentlich simpler und verständlicher ist?