Funktionen ohne Parameter
Aufgabe 1: Ein Dorf entsteht
Das folgende Beispiel liefert das darunter abgebildete Bild.
a) Analysiere zunächst das Beispiel, um zu verstehen, wie es aufgebaut ist. Notiere Fragen, wenn etwas unklar bleibt.
b) Modifiziere das Beispiel so, dass noch ein zweites Haus gezeichnet wird.
c) Modifiziere es nun so, dass die Baumkronen dunkler gefärbt sind (darkgreen).
d) Erläutere Vorteile, die dir bei der Verwendung von Funktionen auffallen.
- Mit
def name():definierst du eine Funktion. Das ist wie ein Eintrag im Wörterbuch: Du legst fest, was der Name bedeutet. - Der Rumpf der Funktion ist wieder eingerückt – genau wie bei Schleifen und Verzweigungen.
- Beim Definieren passiert noch gar nichts. Erst der Aufruf
name()führt den Rumpf aus. - Funktionen müssen vor dem Hauptprogramm definiert werden.
- Der Klammern-Paar
()gehört immer dazu – sowohl bei der Definition als auch beim Aufruf.
Tipp zu b): Wo muss ich etwas ändern?
Du musst die Funktion haus nicht anfassen. Es genügt, im Hauptprogramm unten weitere Aufrufe zu ergänzen – zum Beispiel:
baum()
abstand()
haus()
abstand()
haus()
abstand()
baum()
Vergrößere gegebenenfalls die Zeichenfläche mit screensize.
Tipp zu c): Nur eine Zeile
Die Baumkrone wird in der Funktion baum gezeichnet. Ändere dort pencolor("green") zu pencolor("darkgreen").
Beachte: Du änderst eine Zeile – und beide Bäume werden dunkler. Genau darum geht es bei Funktionen.
Warum Funktionen?
Drei Gründe sprechen für Funktionen:
- Weniger Wiederholung. Der Code für den Baum steht nur einmal da, wird aber zweimal verwendet.
- Änderungen an einer Stelle. Wird die Krone dunkler, gilt das automatisch für alle Bäume.
- Lesbarkeit. Das Hauptprogramm liest sich fast wie ein Text: Baum, Abstand, Haus, Abstand, Baum. Man muss nicht wissen, wie ein Haus gezeichnet wird, um zu verstehen, was passiert.
Diesen dritten Punkt nennt man Abstraktion. Er ist einer der wichtigsten Gedanken der ganzen Informatik.
Aufgabe 2: Eine eigene Funktion
Entwickle eine weitere Funktion zum Zeichnen einer Wolke und verwende sie im Hauptprogramm.
Beachte dabei die Regel: Funktionen werden vor dem Hauptprogramm festgelegt.
Tipp 1: Woraus besteht eine Wolke?
Am einfachsten ist eine Wolke aus mehreren überlappenden weißen oder grauen Punkten unterschiedlicher Größe.
Tipp 2: Wichtige Regel für Funktionen
Achte darauf, dass die Turtle am Ende deiner Funktion wieder dort steht, wo sie am Anfang war – und in dieselbe Richtung schaut.
Sonst verschiebt jeder Aufruf alles Nachfolgende. Sieh dir an, wie die Funktion baum das mit backward(100) löst.
Tipp 3: Was bedeutet pass?
pass heißt „hier passiert nichts". Python verlangt nach einem Doppelpunkt immer mindestens eine eingerückte Zeile – pass ist ein Platzhalter dafür.
Sobald du eigenen Code einfügst, kannst du pass löschen.
Aufgabe 3: Ein ganzes Bild
Baue nun ein eigenes Bild aus mindestens vier verschiedenen Funktionen zusammen.
Ideen: Sonne, Blume, Zaun, Auto, Straße, Berg, Vogel, Teich …
Achte darauf, dass sich alle Funktionen an die Regel aus Tipp 2 halten.