29.01.2014 Aufrufe

Script Java

Script Java

Script Java

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

11.3 Rekursion<br />

public void tree(int size) {<br />

if (size>0) {<br />

forward(size);<br />

left(60);<br />

tree(size/2);<br />

right(120);<br />

tree(size/2);<br />

left(60);<br />

back(size);<br />

}<br />

}<br />

Falls die Laufbedingung noch erfüllt ist, wird der Stamm gezeichnet, darauf rekursiv der<br />

linke und dann rekursiv der rechte Teilbaum. Abbildung 11-6 veranschaulicht anhand<br />

eines Baumes mit weniger Ästen, wie die Rekursion abgearbeitet wird, das heisst, wie die<br />

Turtle den Baum zeichnet.<br />

Die Schildkröte<br />

zeichnet den Stamm<br />

rückwärts, befindet sich<br />

somit am Schluss wieder in<br />

ihrer Ausgangslage.<br />

Abbildung 11-6: Rekursive Struktur eines Baumes<br />

Tatsächlich zeichnet die Schildkröte den Stamm des Baumes bzw. jeden Stamm jedes<br />

Teilbaumes doppelt: einmal Vorwärts und einmal rückwärts. Am Schluss befindet sie sich<br />

wieder dort, wo sie mit dem Zeichnen angefangen hat, in derselben Ausrichtung.<br />

Dass der Anfangszustand mit dem Endzustand der Turtle übereinstimmt, kann man auch<br />

aus der Symmetrie des Programmes entnehmen: sukzessive werden die Anweisungen des<br />

ersten Programmteils im zweiten Programmteil invertiert. Der Anweisung<br />

forward(size) steht die Anweisung back(size) gegenüber, die Aufrufe<br />

237

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!