Ug007

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Pascal</language>
== <font color=darkgreen size=4>''Quadratpflanze''</font> ==
Die Bilder zeigen die Entstehung einer Quadratpflanze.<br>
Bei jedem neuen Aufruf beträgt die Seitenlänge jeweils nur noch ein Drittel der vorherigen.<br>
Weitere Informationen unter [http://www.inf-schule.de/
index.php?version=0&seite=informatik/rekursion/rekursionzahlen/uebungen].
[[Bild: Quadratpflanze1.GIF]]
'''Aufgaben:'''
# Beschreibe in der "Quadratpflanze" die Selbstähnlichkeiten.
#* Formuliere also die "grundlegenden Gedanken" für das Zeichnen der Pflanze.
#* Nach welcher Rekursionsvorschrift werden "Quadratpflanzen" erzeugt?
# Zeichne den nächsten (vierten) Schritt in der Entwicklung.
# Implementiere eine "Quadratpflanze" mit beliebiger Rekursionstiefe in der Turtlegrafik.<br><br>

<code id="5140895c4eb17">
var laenge: real;
procedure pflanze(l: real; n: integer);
begin
if n=1 then
turtle_forward(l)
else
begin
turtle_forward(l/3);
turtle_left(90);
pflanze(l/3,n-1);
turtle_right(90);
pflanze(l/3,n-1);
turtle_right(90);
pflanze(l/3,n-1);
turtle_left(90);
turtle_forward(l/3);
end;
end;
</code>
<check></check>
<canvas w="600" h="400"></canvas>
<run id="514089c53d3a3">
selectcanvas(1);
canvas_clear(); //Zeichenfläche löschen
laenge:=400;
turtle_move((600-laenge)/2, 300); //Turtle ausrichten
turtle_right(90);
pflanze(laenge,5);
</run>