Jahrgangsstufe 8 - Informatik - Dienstag, der 09. März 2021


Mein Name:
Jahrgang/Klasse:
Meine E-Mail-Adresse:


Zur Erinnerung: Was ist eine Schleife?

Das ist auf der Seite vom Dienstag, dem 02.03.2021 noch einmal beschrieben.

Lösung von Dienstag, dem 02.03.2021:

Die Aufgabe 1: Kara soll mit einer Schleife ein Kreuz mit einer Länge von 5 für die einzelnen Linien, die von der Mitte ausgehen, zeichnen. Die Mitte wird nicht mitgerechnet. So soll es für eine Länge von 5 aussehen:


Die Lösung 1:

kara.putLeaf();        # Blatt in die Mitte legen.
for i in range(4):     # Das Folgende (eingerueckt) vier Mal machen.
     kara.move()       # Zuerst vom Blatt in der Mitte runter.
     lege(5)           # Einen Arm des Kreuzes legen.
     turnAround()      # Umdrehen.
     gehe(6)           # Zurueck bis zur Mitte
     kara.turnRight()  # und nach rechts drehen.

Die Aufgabe 2: Kara soll in einer Methode kreuz(laenge) wieder mit einer Schleife ein Kreuz mit einer beliebigen Länge für die einzelnen Linien, die von der Mitte ausgehen, zeichnen. Die Mitte wird nicht mitgerechnet.
Hier die Lösung 2 sogar als komplettes Programm:

# --------------------------------------------------------
# ----- 1. Teil des Programmes: --------------------------
# ----------- Kara lernt und tut noch nichts.-------------
# --------------------------------------------------------
def turnAround():
    kara.turnLeft()
    kara.turnLeft()

def gehe(schritte):
    for i in range(schritte):
        kara.move()

def lege(schritte):
    for i in range(schritte):
        kara.putLeaf()
        kara.move()

def kreuz(laenge):
    kara.putLeaf();       # Blatt in die Mitte
    for i in range(4):
         kara.move()
         lege(laenge)     # laenge Blaetter legen.
         turnAround()
         gehe(laenge+1)   # (laenge+1) Blaetter legen.
         kara.turnRight()
# --------------------------------------------------------
# ----- 2. Teil des Programmes:---- Das Hauptprogramm ----
# ------------------ Kara tut etwas! ---------------------
# --------------------------------------------------------
# Als Beispiel ein Kreuz mit Armlaenge 7.
kreuz(7)


Auftrag 1:

Kara soll das oben links dargestellte Kreuz zeichnen. Formuliere dazu eine Methode kreuzMitDickenEnden(laenge), mit der man durch den Aufruf kreuzMitDickenEnden(5) das dargestellte Kreuz erhält. Kopiere nur den Text dieser Methode hier in das Formular.

Auftrag 2:

Kara soll das oben rechts dargestellte Kreuz mit Umrandung zeichnen. Formuliere dazu eine Methode kreuzQuadrat(laenge), mit der man durch den Aufruf kreuzQuadrat(5) das dargestellte Kreuz mit quadratischem Rahmen erhält. Kopiere nur den Text dieser Methode hier in das Formular.


Wie immer stehe ich bei Fragen zur Verfügung, per Formular auf den Seiten, per E-Mail (gi@gymbala.de) oder per TEAMS-Chat, das ist egal.