158
Von oben nach unten und zurück
Kapitel
6
Aufgabenstellung: Yinyang
Nach den Kapiteln 2 bis 5 hast du wahrscheinlich zunächst einmal genug
von Dreiecken und Vierecken. Machen wir mal was anderes, was Rundes.
Wir stellen die Aufgabe, ein Yinyang-Symbol zu erzeugen, und zwar so,
dass die Größe des Symbols leicht – etwa durch Angabe seines Durchmes-
sers – verändert werden kann. Da bietet es sich an, eine Funktion
yiny-
ang()
zu entwerfen mit
durchmesser
als Parameter.
Wenn du das programmieren willst, musst du das Bild zuerst analysie-
ren. Da fällt zunächst auf, dass der untere, weiße Teil, sagen wir »yin«,
eigentlich dieselbe geometrische Figur ist wie der obere, schwarze,
»yang«. Nur ist der schwarze um 180° gedreht, also »auf den Kopf
gestellt«. Das ist günstig für Turtle-Grafik. Denn um mit Turtle-Grafik zu
einer gegebenen Figur eine entsprechende gedrehte zu zeichnen, braucht
man nur vor dem Zeichnen die Turtle zu drehen. (Diese Überlegungen ha-
ben herzlich wenig mit der Bedeutung von Yin und Yang in der chinesi-
schen Philosophie zu tun. Wenn dich die interessiert, sieh zum Beispiel hier
nach:
http://de.wikipedia.org/wiki/Yin_und_Yang
. Auch ziemlich spannend!)
Ich möchte dir zu dieser Aufgabe zwei unter-
schiedliche Wege zur Lösung vorstellen. Wel-
chen davon du gehen willst, ist auf der einen
Seite eine Frage der Arbeitsweise, die du per-
sönlich bevorzugst. Auf der anderen Seite ist
es bei vielen Problemstellungen günstig, bei-
de Wege zu kombinieren. Ich rate dir: Sieh dir
beide an. Sollte »Weg 1« zu schwer werden,
brich ab. Denke daran, dass »Weg 2« dasselbe
Problem von Neuem behandelt, und versuche
diesen. Vielleicht hast du danach Lust, noch mal »Weg 1« zu begehen. Jeder
der beiden Wege stellt eine vollständige für sich verständliche Lösung dar.
Weg 1: Top-down. Programmieren
ohne Computer
Das Programmier-Verfahren, das ich hier verwende, wird oft als Top-down-
Entwurf bezeichnet. Warum und was das Besondere daran ist, erkläre ich
dir dann am Ende dieses Abschnitts. Zuerst aber tun wir’s.

Get Python für Kids now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.