Konstruktion einer rekursiven Funktion

Neue Frage »

Auf diesen Beitrag antworten »
eggi Konstruktion einer rekursiven Funktion

Hallo!

Hoffe dass meine Fragestellung in das Forum passt.

Und zwar geht es um um die Kochkurve.

Ich soll eine rekursive Funktion schreiben, die für die n-te Kochkurve die Ecken bzw. Knicke berechnet.

Ich weiß bereits dass es durch 4^n -1 definiert ist.

Kann mir einer einen Tipp geben wie ich diese Funtkion rekursiv darstellen kann?
0 soll auch Element aus N sein.
 
Auf diesen Beitrag antworten »
JoTheGunny

Wenn es (4^n)-1 ist, ist es doch recht einfach, du hast eine Funktion mit einen Parameter ( n ) und lässt bei jedem rekursiven Durchgang n um eins dekrementieren ( beim neuen aufruf um eins vermindert übergeben ). Dann musst du noch die Abbruchbedingung setzen, damit es nicht unendlich tief geht.
Normaler durchgang: return 4 * rek( n-1 ); bei h der rekursion solltest du noch die -1 subtrahieren.
Auf diesen Beitrag antworten »
eggi

Soweit bin auch gekommen.

Nur wenn er für 0 als letztes n reingeht soll er ja auch 0 ausgeben.

Nur ist dann die Sache dass er die komplette Funktion dann mal 0 nimmt und es dann wieder nicht stimmt.
Auf diesen Beitrag antworten »
JoTheGunny

Zitat:
Original von eggi
Soweit bin auch gekommen.

Nur wenn er für 0 als letztes n reingeht soll er ja auch 0 ausgeben.

Nur ist dann die Sache dass er die komplette Funktion dann mal 0 nimmt und es dann wieder nicht stimmt.

Eine Zahl mit der Potenz 0 ergibt immer 1, daher musst du per if abfragen ob es eine 0 ist und dann eine 1 zurückgeben. Das wäre der einfachste weg.
 
Auf diesen Beitrag antworten »
AxelF Kochkurve

Das Thema Kochkurve wird sehr ausführlich im Buch "Bausteine des Chaos Fraktale" (ISBN 3-540-55781-4 des Springer Verlages Autoren: Peitgen, Jürgens, Saupe, Erscheinungsjahr 1992) besprochen. Anbei ist auch ein Basic-Programm auf Seite 220, welches die Kochkurve grafisch darstellt.

Mit ein wenig Grundkenntnissen von Basic lässt sich dieses Programm ohne Probleme in eine moderne Sprache z.B. Java übersetzen ;-). Dort wird mit einem Array zur Speicherung der Koordinaten der Punkte gearbeitet.

Innerhalb der Rekursion wird zunächst das linke Teilstück, anschließend der linke mittlere Teil, dann der rechte mittlere Teil und zuletzt das rechte Teilstück erzeugt. ;-)
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »