Bergervei/Pascal-Quadratpflanze

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="5128c38212d7d">
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>

<canvas w="600" h="400"></canvas>

<run id="5128c38212de5">
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>