Logo Cusanus Gymnasium Erkelenz
Icon Leitprogramm Informatik

Cusanus-Gymnasium Erkelenz Europaschule

Einführung in die Programmierung mit

Kapitel VII - Lösung der Lernfortschrittskontrolle
Differenzierungskurs
"Informatik" - Klasse 9 / 10
Gr - 2025 / 2026
Version vom 30.08.2025

Kapitel VII - Ereignisbehandlung

Lösung der Lernfortschrittskontrolle

Bitte vergleiche deine Lösung mit der hier angegebenen Musterlösung. Wenn du der Meinung bist, dass deine Ergebnisse bei mindestens 3 von 4 Aufgaben richtig sind, dann melde dich zum Kapiteltest beim Lehrer. Ansonsten solltest du vorher die Inhalte aus Kapitel VII nochmals durcharbeiten und vor allem gewissenhaft lesen.
Nutze die Möglichkeit, eventuelle Verständnisfragen Mitschülern oder dem Lehrer zu stellen.

Aufgabe 1

"Wir haben im Rahmen des letzten Kapitels neue reservierte Wörter kennengelernt."
Nimm Stellung zu dieser Aussage.

Aufgabe 1 (Lösung)

Diese Aussage ist falsch.
Im Rahmen des letzten Kapitels haben wir nur eine neue Klasse, die Klasse "Screen" sowie zwei Methoden der Klasse kennengelernt. Bezogen auf die bereits bekannte Klasse "Turtle" haben wir ebenfalls nur neue Methoden bzw. Attribute kennengelernt. Ergänzend ist anzumerken, dass für die Reaktion auf Tastendrücke keine reservierten Wörter, wie für Kontrollstrukturen etc., nötig sind, da dies über Methoden der beteiligten Objekte bzw. eigene Funktionen realisiert wird.

Aufgabe 2

Gib die Schritte an, die nötig sind, damit ein Programm auf das Drücken einer Taste reagiert. Unterscheide dabei zwischen den Schritten, die einmalig notwendig sind und denen, die für jede Taste nötig sind.

Aufgabe 2 (Lösung)

  1. Das Screen-Objekt muss angewiesen werden, auf Tasten zu reagieren. Dieser Schritt ist nur einmalig nötig.
  2. Wenn mehr als eine einzige Methode oder eine Methode mit benötigtem Argument aufgerufen werden soll, so muss eine Funktion für die gewünschte Aktion geschrieben werden.
  3. Im letzten Schritt muss eine Zuordnung von der Methode oder der Funktion zu einer Taste erfolgen.

Aufgabe 3

# Christian Graf / 04.04.11 / Programm für die LFSK Kap VII
# Vorbereitungen
from turtle import Turtle
myTurtle = Turtle("turtle")
# Screen holen
theScreen = myTurtle.getscreen()
# Screen fuer Eingabe vorbereiten
theScreen.listen()
theScreen.onkey(myTurtle.forward(100),"Up")
  1. Versuche, den Fehler zu finden.
    Handelt es sich dabei um einen syntaktischen oder semantischen Fehler?
  2. Ändere das Programm so ab, dass es lauffähig wird.
    Es soll dabei die offensichtliche Funktionalität nicht verlieren.

Aufgabe 3 (Lösung)

  1. Der Fehler steht in Zeile 09. Die Funktion oder Methode, die aufgerufen werden soll, muss ohne Klammern angegeben werden. Im hier vorliegenden Fall, es steht innerhalb der Klammern noch ein Argument für die Methode, muss man zuerst eine entsprechende Funktion definieren, die die Methode mitsamt Argument aufruft.
    Es handelt sich dabei um einen syntaktischen Fehler.
  2. # Christian Graf / 04.04.11 / Programm für die LFSK Kap VII
    # Vorbereitungen
    from turtle import Turtle
    myTurtle = Turtle("turtle")
    # Screen holen
    theScreen = myTurtle.getscreen()
    # Screen fuer Eingabe vorbereiten
    theScreen.listen()
    # Funktionen definieren
    def vor():
        myTurtle.forward(100)
    # Zuordung: Taste - Methode / Funktion
    theScreen.onkey(vor,"Up")
    # Linux: Fenster offen lassen ... 
    myTurtle.screen._root.mainloop()
    

Aufgabe 4

Erläutere kurz die Methoden von dem Objekt der Klasse "Screen", die du im Rahmen des Kapitels kennengelernt hast.

Aufgabe 4 (Lösung)

  • listen()
    Durch den Aufruf dieser Methode weist man das entsprechende "Screen"-Objekt an, auf Tasteneingabe zu reagieren.
  • onkey(#Funktion oder Methode eines Objektes, #Taste)
    Mit dem Aufruf dieser Methode legt man die Zuordnung von einer Taste zu einer Methode oder einer Funktion fest. Dabei muss man beachten, dass die Methode oder die Funktion ohne die sonst üblichen Klammern angegeben werden muss. Ruft man eine Methode auf, die zwingend ein Argument benötigt, so muss man einen Umweg gehen und zuerst eine Funktion definieren.
    Das zweite Argument steht für die entsprechende Taste, der der Funktions- oder Methodenaufruf zugeordnet werden soll. Diese trägt eine bestimmte Bezeichnung. Die entsprechende Bezeichnung muss als Zeichenkette angegeben werden.

Wenn du der Meinung bist, dass deine Ergebnisse bei mindestens 4 von 5 Aufgaben richtig sind, dann melde dich zum Kapiteltest beim Lehrer. Andernfalls solltest du dich nochmals intensiv mit den Inhalten des letzten Kapitels beschäftigen.