Jahrgangsstufe 8 - Informatik - Donnerstag, der 28. Januar 2021


Musterlösung zu den Aufgaben vom 28.01.2021

Aufgabe 1:
Lies zuerst sorgfältig den Text zur Aufgabe auf dem Arbeitsblatt. Schreibe dann den Programmtext der Lösung ab und teste das Programm mit PythonKara. Ergänze dann das Hauptprogramm so, dass ein Rechteck entsteht.

Lösung:

# Das Hauptprogramm ------------------------
legeKleeblattzeile(7)
kara.turnRight()
legeKleeblattzeile(5)
kara.turnRight()
legeKleeblattzeile(7)
kara.turnRight()
legeKleeblattzeile(5)
kara.turnRight()

Aufgabe 2:
Wie muss das Hauptprogramm aussehen, damit ein Rechteck entsteht, das fünf Blätter lang und drei Blätter breit ist?

Lösung:

# Das Hauptprogramm ------------------------
legeKleeblattzeile(4)
kara.turnRight()
legeKleeblattzeile(2)
kara.turnRight()
legeKleeblattzeile(4)
kara.turnRight()
legeKleeblattzeile(2)
kara.turnRight()

Aufgabe 3:
Mit def legeKleeblattzeile(anzahl) wurde Kara beigebracht, wie er eine Kleeblattzeile mit anzahl Blättern legen kann.
Mit def legeKleeblattzeileUndZurueck(anzahl) sollst du Kara dazu bringen, eine Kleeblattzeile mit anzahl Blättern zu legen, wieder an seinen Startpunkt zurückzukehren und auch wieder in die ursprüngliche Richtung zu schauen. Ergänze die dazu fehlenden Anweisungen.

Lösung:

def legeKleeblattzeileUndZurueck(anzahl):
    i = 1
    while i <= anzahl:
        kara.putLeaf()
        i = i + 1
        kara.move()
    kara.turnLeft()
    kara.turnLeft()
    i = 1
    while i <= anzahl:
        i = i + 1
        kara.move()
    kara.turnRight()
    kara.turnRight()

Aufgabe 4:
Lies auch sorgfältig die Erläuterungen und den Abschnitt Eine Ergänzung:

def move (anzahl = 1):
     i = 1
     while i <= anzahl:
          i = i + 1
          kara.move ( )
# Das Hauptprogramm ------------------------
move(7)
kara.turnRight()
move(5)
kara.turnRight()
move()

Teste das dargestellte Programm mit Pythonkara und beantworte hier im Formular die angegebene Frage.

Lösung:

Zuerst wird mit move(7) eine Bewegung mit 7 Schritten nach vorne gemacht. Nach einer Rechtsdreheung gibt es eine Bewegung mit 5 Schritten durch move(5). Nach einer weiteren Rechtsdrehung wird mit move() ein einzelner Schritt nach vorne getan, weil in der Methodendefinition in der Klammer anzahl = 1 steht, was für den Fall ausgeführt wird, dass in der Klammer keine Zahl steht.