DU LERNST HIER... |
dass Rekursion ein Lösungsverfahren ist, bei dem ein Problem auf das gleichartige, aber etwas vereinfachte Problem zurückgeführt wird. Eine Funktion ist dann rekursiv, wenn sie sich selbst aufruft. Damit sich eine rekursive Funktion nicht endlos aufruft, braucht sie eine Abbruchbedingung. Betrachte dieses Kapitel als Zusatzstoff und freue dich an schönen Bildern, die mit Rekursionen entstehen. |
MUSTERBEISPIELE |
Programm: from gturtle import * def step(): forward(20) right(90) forward(20) left(90) def staircase(n): if n == 0: return step() staircase(n-1) makeTurtle() staircase(6) |
Programm: from gturtle import * def tree(s): if s < 8: return forward(s) left(45) tree(s/2) right(90) tree(s/2) left(45) back(s) makeTurtle() setY(-100) tree(128) Bemerkung: das back(s) ist wichtig, da nach dem Zeichnen des (Teil-)Baums die Turtle wieder im Anfangszustand sein muss. |
MERKE DIR... |
Die Rekursion ist ein wichtiges Lösungsverfahren, bei dem man ein Problem auf dasselbe, etwas vereinfachte Problem zurückführt und dieses in einem besonders einfachen Fall löst (bei Rekursionsabbruch). Rekursive Lösungsverfahren sind elegant, aber meist schwierig zu durchblicken. |
WEITERE BEKANNTE REKURSIONEN |
Sirpinsky Fractal Flower Fractal Peano Fractal Tree Fractal Koch Fractal |
ZUM SELBST LÖSEN |
1. |
|
||||
2. |
|
|