Logo Cusanus Gymnasium Erkelenz
Icon Leitprogramm Informatik

Cusanus-Gymnasium Erkelenz Europaschule

Einführung in die Programmierung mit

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

Kapitel VI - Verzweigungen

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 4 von 5 Aufgaben richtig sind, dann melde dich zum Kapiteltest beim Lehrer. Ansonsten solltest du vorher die Inhalte aus Kapitel VI nochmals durcharbeiten und gewissenhaft lesen.

Aufgabe 1

Erläutere kurz den Unterschied zwischen einer Verzweigung und einer bedingten Anweisung in eigenen Worten.

Aufgabe 1 (Lösung)

Bei einer Verzweigung stehen zwei unterschiedliche Anweisungsblöcke zur Auswahl. Abhängig von der Bedingung wird einer der beiden ausgeführt. Bei der bedingten Anweisung hingegen gibt es nur einen Anweisungsblock. Dieser wird entweder ausgeführt - oder auch nicht. Dies hängt ebenfalls von der Bedingung ab. Hier gibt es aber keinen "Alternativblock" von Anweisungen, die ausgeführt werden, falls die Bedingung nicht erfüllt ist.

Aufgabe 2

Im Rahmen des Kapitels haben wir vier neue reservierte Wörter kennengelernt. Gib diese an und erläutere kurz ihre Bedeutung.

Aufgabe 2 (Lösung)

  • if
    Dieses reservierte Wort leitet eine bedingte Anweisung oder eine Verzweigung ein.
  • True
    Hierbei handelt es sich um einen logischen Ausdruck, der immer wahr ist.
  • else
    Das genannte reservierte Wort leitet den zweiten Teil der Verzweigung ein. Es folgt immer ein Doppelpunkt im Anschluss.
  • False
    Hierbei handelt es sich um einen logischen Ausdruck, der immer falsch ist.

False und True sind ebenfalls wie Strings und Zahlen sog. Datentypen, die in Programmiersprachen verfügbar sind.

Aufgabe 3

Betrachtet wird das folgende Programm:

from turtle import Turtle
dif myFunction():
    for in in range(100):
        if (i $ 3 = 0):
print("Die Zahl in ist in der Dreierreihe.")
        myFunktion
  1. Versuche, trotz unzähliger Syntaxfehler, den Zweck dieses Programm zu erschließen.
  2. Überarbeite das Programm, so dass alle Syntaxfehler korrigiert, Unnötiges entfernt wurde ...

Aufgabe 3 (Lösung)

  1. Hinweise für die Erschließung des Zweckes des Programmes bieten die Ausgabe, die Bedingung in der bedingten Anweisung sowie die Zahl in der Zählschleife. Kombiniert man diese Informationen, so liegt die Vermutung nahe, dass die Funktion bzw. das Programm alle Zahlen der Dreierreihe (also die durch drei teilbaren Zahlen) ausgibt.
  2. def myFunction():
    						""" Ausgabe der Dreierreihe """
        for zahl in range(100):
            if (i % 3 = 0):
                print("Die Zahl",zahl,"ist in der Dreierreihe.")
    myFunction()
    

    Vergleiche diese Version mit deiner. Achte bitte auch auf kleine Details!

    "Fehlerliste:" unnötiger Import der Turtle-Klasse, dif statt def , ungültiger Variablenname in der Schleife, Fehler in der Bedingung, fehlende doppelte Einrückung in Zeile 05 und falscher Funktionsaufruf (falsche Einrückung, Rechtschreibfehler und vergessene Klammern) sowie fehlender Docstring.

Aufgabe 4

In einem Programm gibt es die beiden Variablen zahl1 und zahl2. Schreibe eine Verzweigung, die ausgibt, welche der beiden Zahlen größer ist. Nutze in deiner Bedingung dazu das - in Python bekannte - < bzw. > Zeichen.

Aufgabe 4 (Lösung)

if zahl1 > zahl2:
    print("Die erste Zahl ist größer.")
else:
    print("Die zweite Zahl ist größer oder gleich der ersten.")

In einem ersten Schritt solltest du die Bedingung konstruieren und dir anschließend überlegen, welche beiden Anweisungen zu den beiden Blöcken gehören. Insbesondere ist hier die korrekte Formulierung der beiden Aussagen zu beachten. Bei einem Tausch der Bedingung muss darauf geachtet werden, dass die entsprechenden Ausgaben angepasst werden müssen. Teste deinen Quelltext mit allen drei möglichen Fällen (kleiner, größer oder gleich).

Aufgabe 5

zahl1 = 17
zahl2 = 19
if zahl2>=zahl1:
    print("zahl1 ist kleiner oder gleich zahl2")
else:
    print("zahl1 ist größer oder gleich zahl2")

In dem folgenden Programm hat sich ein Fehler eingeschlichen. Kannst du diesen erläutern?
Hinweis: Es handelt sich nicht um einen syntaktischen Fehler, sondern einen logischen Fehler.

Aufgabe 5 (Lösung)

Die Ausgabe in Zeile 04 wird ausgegeben, wenn die zahl2 größer oder gleich zahl1 ist. In der Ausgabe in Zeile 06 ist aber hingegen wieder die Rede von dem Fall, dass die beiden Zahlen gleich groß sind. Gesetz dem Fall, die beiden Zahlen sind gleich groß, wird der erste Körper der Verzweigung ausgeführt. Entsprechend ist die Aussage in dem zweiten Körper hinsichtlich der Gleichheit falsch.

Wenn du der Meinung bist, dass deine Ergebnisse bei mindestens 4 von 5 Aufgaben richtig sind, dann melde dich zum Kapiteltest beim Lehrer.