====== Pythagorasbaum ====== ===== Symmetrisch ===== Entwerfe eine rekursiven Algorithmus, der einen symmetrischen Pythagorasbaum zeichnet: {{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:pythagorasbaum:pythbaum.png?600 |}} Die folgende Skizze kann hilfreich sein: {{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:pythagorasbaum:grundkonstruktion.jpg?200 |}} * Konzipiere eine Methode ''zeichneQuadrat(int x, int y, turtleRichtung a, seitenlaenge l)'' die ein Quadrat mit der Seitenlänge ''l'' ausgehend vom Punkt ''(x|y)'' mit der Startrichtung der Turtle ''a''(Winkel) zeichnet. Teste die Methode. * Überlege dir dann, mit welchen parametern sich die Methode wie oft selbst aufrufen muss. * Entscheide, wie du den Basisfall definieren willst. ===== Asymmetrisch ===== Antelles des gelichschenkligen Dreiecks kann man auch beliebige rechtwinklige Dreiecke auf das Grundquadrat aufsetzen, um "schiefe" Pythagorasbäume zu erhalten: {{ :faecher:informatik:oberstufe:algorithmen:rekursion:uebungen02:pythagorasbaum:schief.png |}} Implementiere eine rekursive Methode, die einen solchen Baum zeichnet. Welchen weiteren Parameter führst du ein?