FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

Funktionen höherer Ordnung :-/

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:
(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?

Re: Funktionen höherer Ordnung :-/ 2002-02-16 12:48
Spacelord
Wie soll ich die Benutzung der Funktionen höherer Ordnung lernen, wenn eine Lösung ohne diese Dinger wesentlich simpler und verständlicher ist?

Ich denke mal, dass wir an einfachen Beispielen lernen sollen, mit den Funktionen höherer Ordnung umzugehen. Mit schwierigen Aufgaben, wo die notwendig sind, wären wir vermutlich überfordert …
Aber besonders gelungen finde ich die Beispielaufgaben zu diesem Zweck auch nicht.

PS: Für den Programmcode brauch ich ja fast ne Lupe. Wieso ist da die Schrift so klein?

Re: Funktionen höherer Ordnung :-/ 2002-02-16 12:56
Popcorn
Hmm. Ja, ich frage mich wie das wohl erst mit ner 1280er oder 1600er Auflösung aussehen mag. [img]http://images.rapidforum.com/images/i15.gif[/img] Aber ich gebe Faleiro vollkommen recht. Alles suspekt. Na ja. Danach kommt Java. Da sollte sich auf jeden Fall passende Literatur finden.

Re: Funktionen höherer Ordnung :-/ 2002-02-16 16:29
Faleiro
Da habe ich den CODE-Tag benutzt. Bjorn, du solltest das doch erkennen? ;-)

Kurios ist daran nur, daß vorhin beim Anschauen gleich nach dem Posten der CODE-Tag keine Wirkung zu haben schien, jetzt arbeitet er korrekt, ohne daß ich was verändert hätte??

Die Beispiele waren halt *zu* einfach, ich habe nie etwas mit Fkt. höh. Ord. gelöst.


Re: Funktionen höherer Ordnung :-/ 2002-02-16 19:52
Christoph
nur mal so eine kleine Anmerkung: Du HAST eine Funktion
höherer Ordung programmiert. Dein "there-is" bekommt
als Parameter die Funktion p? übergeben, also ist sie
nach Definition eine Funktion höherer Ordnung. Oder nicht?
Sagt mir nicht, ich vertue mich da jetzt!

Re: Funktionen höherer Ordnung :-/ 2002-02-16 20:27
Slater
das ist da die aufgabenstellung, so ne total starke funktion zu basteln, die auf grund ihrer besonderen eigenschaften dann wohl als 'höher' einzustufen ist,

die frage ist dagegen, ob man dafür andere wie map usw. braucht,
es spricht aber wirklich nichts dagegen diese zu verwenden,
wer aus 1000 zeilen mal 300 machen will, kann auch versuchen 3 auf 1 zu reduzieren, was ja selbst bei so kleinen funktionen manchmal möglich ist

Re: Funktionen höherer Ordnung :-/ 2002-02-16 20:36
Faleiro
Christoph, du hast recht, ich habe das inzwischen nachgelesen. Funktion "höherer" Ordnung ist tatsächlich alles, was Funktionen als Argument entgegennimmt *oder* als Wert ausspuckt. (Oder beides.)

Ich meinte – wie wohl auch Slater auszudrücken versucht, dessen Posting ich semantisch nicht ganz verarbeiten kann :-) – das Bauen von Funktionen *aus* Funktionen höherer Ordnung wie map, apply, reduce etc.

Die Mittel, die ich verwendet hatte, um die Übungsaufgaben zu lösen, waren nicht aufwendig genug, ich habe mich gewissermaßen am eigentlichen Ziel der Aufgaben vorbeigemogelt; nicht den Umgang mit map, apply, etc. gelernt.


Re: Funktionen höherer Ordnung :-/ 2002-02-16 21:55
Slater
ja sag ich doch, ich versteh mich immer [img]http://images.rapidforum.com/images/i23.gif[/img]