Benutzer-Werkzeuge

Webseiten-Werkzeuge


python:turtle:rekursion

Dies ist eine alte Version des Dokuments!


Rekursion

Eine Funktion heißt rekursiv wenn sie sich in ihrem im Quelltext selbst aufruft.

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.

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)

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. 5 Aufgabe 4**

Informiere dich unter https://de.wikipedia.org/wiki/Selbst%C3%A4hnlichkeit über Selbstähnlichkeit!

python/turtle/rekursion.1777284288.txt.gz · Zuletzt geändert: von lutz