i

Übungen

Aufgabe 1: Ein Unterprogramm analysieren

In dieser Aufgabe wird ein gegebenes Unterprogramm hinsichtlich Funktionalität und Namensgebung analysiert.

Betrachte die folgende Unterprogrammdefinition:

def p():
    if kara.treeFront():
        kara.turnLeft()
        kara.move()
        kara.turnRight()
        kara.move()
        kara.move()
        kara.turnRight()
        kara.move()
        kara.turnLeft()
    else:
        kara.move()
Python

Was leistet dieses Unterprogramm? Teste sein Verhalten. Ändere anschließende den Unterprogrammnamen so, dass er das Verhalten des Unterprogramms besser wiedergibt.

Aufgabe 2: Unterprogramme entwickeln und benutzen

In dieser Aufgabe werden einfache Unterprogramme erstellt und verwendet. Dabei wird auch auf Verschachtelung eingegangen.

(a) Erstelle und teste ein Unterprogramm umdrehen(), das Kara um 180° dreht.

(b) Innerhalb von Unterprogrammdefinitionen kann man bereits definierte Unterprogramme aufrufen.

# Unterprogramme

def umdrehen():
    ...

def drehen():
    umdrehen()
    umdrehen()

# Hauptprogramm

drehen()
Python

Probiere das selbst aus. Man nennt so ein Vorgehen auch „Verschachteltung“. Mache dir klar, wieso.

(c) Erstelle ein Unterprogramm, das Kara einen Schritt zurückgehen lässt.

Aufgabe 3: Ins Innere der Spirale

In dieser Aufgabe wird der Ablauf eines Programms mit Unterprogrammen genauer analysiert.

Kara möchte ins Innere der Baumspirale und dort ein Kleeblatt aufheben.

Kara läuft ins Innere ihrer Spirale-

(a) Optional: Schreibe selbst ein Programm für dieses Problem. Es soll für Spiralen unterschiedlicher Größe funktionieren. Der Weg darf immer – wie hier – im Uhrzeigersinn verlaufen.

(b) Blende dir die vorgegebene Lösung ein und vergleiche mit deiner Lösung.

Kleine Spirale (c) Zum Verständnis von Unterprogrammen hilft es, den Ablauf des Programms genau zu analyieren. Dafür nutzen wir eine kleinere Kara-Welt.

Im Laufe des Programms passieren die folgenden Dinge. Bringe sie in die richtige Reihenfolge. Du kannst die Zeilen hier verschieben.

  • Es wird überprüft, ob Kara nicht auf einem Blatt steht (Z. 5). Ergebnis: False. Deshalb wird die Schleife nicht mehr ausgeführt.
  • Wir sind in Zeile 7: Kara dreht sich nach rechts.
  • Es wird überprüft, ob Kara nicht auf einem Blatt steht (Z. 5). Ergebnis: True. Deshalb wird die Schleife ausgeführt.
  • Es wird überprüft, ob Kara nicht auf einem Blatt steht (Z. 5). Ergebnis: True. Deshalb wird die Schleife ausgeführt.
  • Wir sind in Zeile 2/3: Kara läuft nun bis zum Baum.
  • Es wird überprüft, ob Kara nicht auf einem Blatt steht (Z. 5). Ergebnis: True. Deshalb wird die Schleife ausgeführt.
  • Wir sind in Zeile 6: Das Unterprogramm wird aufgerufen.
  • Wir sind in Zeile 6: Das Unterprogramm wird aufgerufen.
  • Wir sind in Zeile 7: Kara dreht sich nach rechts.
  • Wir sind in Zeile 8: Das Blatt wird aufgehoben.
  • Wir sind in Zeile 2/3: Kara läuft nun bis zum Baum.
  • Wir sind in Zeile 6: Das Unterprogramm wird aufgerufen.
  • Wir sind in Zeile 7: Kara dreht sich nach rechts.
  • Wir sind in Zeile 2/3: Kara läuft nun bis zum Baum.

Aufgabe 4: Unterprogramme verwenden (offene Aufgabe)

In dieser Aufgabe werden die Erkenntnisse zu Unterprogrammen auf bereits gelöste Probleme übertragen.

Du hast im Laufe des Kapitels bereits viele Probleme mit Kara gelöst. Gehe sie noch einmal durch und schau, bei welchen Problemen bestimmte Dinge immer wieder ausgeführt werden müssen. Vereinfache die jeweiligen Programme dann durch Unterprogramme.

Quellen

Suche

16.5.1.6.4
schuljahr.inf-schule.de/aktuell/lehrkraefte/archiv/kara/unterprogramme/uebungen
schuljahr.inf-schule.de/aktuell/16.5.1.6.4
schuljahr.inf-schule.de/aktuell/@/page/Sivr9pKqHdIduPcV

Rückmeldung geben