Übungsaufgaben für die erste Klassenarbeit

Beispiel 1

Wir möchten ein Programm schreiben, bei dem die Turtle jeweils 10 Schritte geht. Bevor sie losgeht, soll sie jedes Mal mit input() nach dem Weg fragen. Du gibst jeweils an, ob sie nach rechts, nach links oder geradeaus gehen soll. Mit repeat 5: geben wir an, dass die Turtle fünfmal nach dem Weg fragen und sich dann bewegen soll.

from gturtle import *
makeTurtle()
hideTurtle()

repeat 5: # oder for _ in range(5):
    weg = input("Wohin soll ich gehen (r/l/g)?")
    if weg == "r":
        right(90)
        forward(10)
    if weg == "l":
        left(90)
        forward(10)
    if weg == "g":
        forward(10)

Aufgabe 1

Ergänze das Programm im Beispiel 1 so, dass sich die Turtle bei r und l nur um 45° nach rechts bzw. links dreht und dann 10 Schritte vorwärts geht.

Aufgabe 2

Schreibe ein Programm, das vier ausgefüllte Quadrate nebeneinander zeichnet.
Jedes Quadrat hat eine Seitenlänge von 50. Bevor dein Programm jeweils ein Quadrat zeichnet, fragt es dich mit input(), welche Farbe das Quadrat haben soll.

aufg_1

Aufgabe 3

Definiere eine Funktion zweifarb_linie(a, b), der eine Linie mit zwei Farben zeichnet, z. B. hell- und dunkelblau.
Mit dem Aufruf zweifarb_linie(30, 20) zeichnet die Turtle eine Linie, die insgesamt 50 Schritte lang ist.

Verwende die Funktion zweifarb_linie(a, b), um den Stern mit 36 Strahlen aus der Abbildung zu zeichnen.

Bei jedem Strahl wird das hellblaue Stück ein wenig länger und das dunkelblaue Stück ein wenig kürzer, sodass alle Strahlen immer genau 50 lang sind.

aufg_1

Aufgabe 4

Zeichne ein Dreiecksmuster wie in der Abbildung unten. Das größte Dreieck hat eine Seitenlänge von 256. Bei jedem weiteren Dreieck halbiert sich die Seitenlänge.

aufg_1

Aufgabe 5

Schreibe ein Programm, das eine sechseckige Spirale zeichnet.
Definiere dazu einen Befehl sechseck_spirale(seite, anzahl) mit den Parametern:

Während die Spirale gezeichnet wird, soll die Länge der Seite immer um 3 erhöht werden.

aufg_1

Aufgabe 6

Schreibe ein Programm, das das folgende Kreismuster zeichnet:

aufg_1

Aufgabe 7

Schreibe ein Programm, das einen Turm aus 6 Quadraten zeichnet:

Beginne mit dem größten Quadrat (unten) und zeichne sie der Reihe nach kleiner werdend, bis das kleinste Quadrat (oben) gezeichnet ist.

aufg_1

Aufgabe 8

Schreibe ein Programm, das die folgende Figur zeichnet:


aufg_1

Aufgabe 9

Definiere eine Funktion rechteck(a, b), die ein Rechteck mit den Seitenlängen a und b zeichnet.
Verwende dazu eine for-Schleife.

Aufgabe 10

Schreibe ein Programm, das ein farbiges Sechseck zeichnet.
Am Anfang fragt dich das Programm mit input() nach der gewünschten Farbe (z. B. yellow, red, blue, green).
Das Programm überprüft deine Eingabe und zeichnet das Sechseck in der gewünschten Farbe.

Aufgabe 11

Schreibe ein Programm, das dich mit input() fragt, was es zeichnen soll: