Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
--- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
---- Algorithmen (http://www.informatikerboard.de/board/board.php?boardid=17)
----- Rekursiv programmieren (http://www.informatikerboard.de/board/thread.php?threadid=1344)


Geschrieben von oliiiiiii am 12.12.2012 um 19:05:

  Rekursiv programmieren

Meine Frage:
Hallo smile also ich habe eine funktion
(define *note_punkte*
'((1+ 15)
(1 14)
(1- 13)
(2+ 12)
(2 11)
(2- 10)
(3+ 9)
(3 8)
(3- 7)
(4+ 6)
(4 5)
(4- 4)
(5+ 3)
(5 2)
(5- 1)
(6 0)))

Eine Funktion "punktzahl_zu_note" soll zu einer Note die zugehörige Punktzahl liefern. Das folgende Beispiel (punktzahl_zu_note '2-) liefert 10 Implementieren SIe die Funktion "punktzahl_zu_note" rekursiv.

Wie funktioniert das? bzw was ist die lösung ?

Meine Ideen:
ich hab keine



Geschrieben von Karlito am 12.12.2012 um 23:59:

 

Hallo,

ich kann es mir nur so vorstellen, dass Du der Funktion die Punktzahl und die Liste übergibst.

Die Funkton nimmt sich dann den Kopf der Liste und vergleicht die Punktzahl. Ist diese ungleich ruft die Funktion sich selbst wieder mit der Punktzahl und der Restliste auf.

Rekursionsabbruch ist dann Entweder, dass die Liste leer ist oder die Punktzahl gefunden wurde...

VG,

Karlito


Forensoftware: Burning Board, entwickelt von WoltLab GmbH