Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:turtle:rekursion

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
python:turtle:rekursion [2026/04/27 09:33] – angelegt lutzpython:turtle:rekursion [2026/04/27 12:16] (aktuell) lutz
Zeile 1: Zeile 1:
 ======Rekursion====== ======Rekursion======
  
 +<WRAP center round box 60%>
 +Eine Funktion heißt **rekursiv** wenn sie sich in ihrem im Quelltext selbst aufruft.
 +</WRAP>
 +
 +**Ein Beispiel**
 +
 +Eine Pythonfunktion soll ein Quadrat, beginnend in der linken oberen Ecke in einer zufälligen Farbe zeichnen. Nun sollen in das Quadrat hinein jeweils Quadrate in einer zufälligen Farbe gezeichnet werden, bis kein Platz mehr ist.
 +
 +<code python>
 +from turtle import *
 +import random
 +
 +farben = ["red", "green", "blue", "yellow", "orange", "purple", "pink", "brown", "gray", "gold", "cyan", "magenta", "violet", "indigo", "lime", "navy", "skyblue", "turquoise", "olive", "maroon"]
 +
 +def quadrat(n):
 +    pencolor(random.choice(farben))
 +    pensize(5)
 +    for i in range(4):
 +        fd(n)
 +        right(90)
 +    if (n-10) > 0:
 +        penup()
 +        fd(5)
 +        right(90)
 +        fd(5)
 +        left(90)
 +        pendown()
 +        
 +        # Die Funktion quadrat(n) ruft sich selbst auf!
 +        
 +        quadrat(n-10)
 +
 +quadrat(100)
 +</code>
 +
 +**Aufgabe 1**
 +
 +Versuche den Quelltext zu verstehen bzw. lasse ihn dir erklären. Teste das Programm!
 +
 +**Aufgabe 2**
 +
 +Schreibe entsprechende Programme für ein Dreieck, ein Sechseck und ein Achteck!
 +
 +**Aufgabe 3**
 +
 +Schreibe ein entsprechendes Programm für beliebige n-Ecke!
 +
 +
 +Mit Rekursion kann man sehr effizient programmieren, allerdings ist der Quelltext auch manchmal schwer zu verstehen. Außerdem benötigen rekursiver Programme mehr Hauptspeicher. Rekursion wird vor allem bei der funktionalen Programmierung verwendet. 
 +
 +
 +**Aufgabe 4**
 +
 +Informiere dich unter https://de.wikipedia.org/wiki/Selbst%C3%A4hnlichkeit über Selbstähnlichkeit!
 +
 +**Aufgabe 5**
 +
 +Mit Hilfe von Rekursion lassen sich mit dem Python-Turtle-Modul sehr gut selbstähnliche Figuren zeichnen. Arbeite dazu in der Datei
 +
 +www.static.tu.berlin/fileadmin/www/40000182/Files/Python/Rekursion.pdf
 +
 +den Abschnitt "Es schneit" durch und setze die Programme um! 
 +
 +**Aufgabe 6 **
 +
 +Arbeite in Inf-Schule den Abschnitt https://inf-schule.de/algorithmen/rekursivealgorithmen/selbstaehnlichkeit durch und programmiere die Figuren!
  
python/turtle/rekursion.1777275198.txt.gz · Zuletzt geändert: von lutz