Programmieren I: Programmieren mit TurtleGraphics

Ein Computer ist zunächst einfach mal eine Maschine, die wahnsinnig schnell arbeiten (rechnen) kann. Damit man zum Beispiel ein Spiel spielen können, muss irgend jemand dem Computer also sagen, was er denn genau zu tun hat. Jemand muss also ein Computerprogramm, oder Code, schreiben. Dieses besteht aus Befehlen, die der Computer auszuführen hat. Damit der Computer auch versteht, was er machen soll, müssen Programmierer und Computer 'die gleiche Sprache' sprechen. Es gibt sehr viele unterschiedliche solche Programmiersprachen mit unterschiedlichen Anwendungsbereichen und Vor- und Nachteilen.

Wir wählen hier die Programmiersprache Python. Im Jahre 2026 ist diese Sprache sicher in der Top 3 der wichtigsten Programmiersprachen - wenn nicht sogar auf dem ersten Platz. Dazu kommt, dass Python im Vergleich zu anderen Sprachen, z.B. C++ (C Plus Plus), Java oder C# (C sharp) relativ einfach zu erlernen ist.

Wenn wir einen Satz mit vielen Schreibfelern und Grammatikfehler lesen, so sind wir meist trotzdem in der Lage, den Satz zu verstehen. Im Gegensatz zu uns ist ein Computer ist nicht in der Lage, einen Text selbst zu interpretieren. Ein Computer kann ein Programm nur ausführen, wenn es gar keine Fehler, sogenannte Bugs, hat. Es ist deshalb wichtig, dass man sich an die formalen Vorgaben der Programmiersprache hält.

Web Tiger Python

Am einfachsten ist es, Programme direkt im Web zu schreiben. Wir verwenden die folgenden Seiten:

Die Programme werden im Web allerdings nicht gespeichert. Am besten dokumentierst du deine Codes, indem du ein Word- oder OneNote-Dokument anlegst und darin die Permalinks auf die Aufgaben speicherst.

  • Erstelle eine Ordnerstruktur auf OneDrive für jedes Fach, z.B.: 1M/Informatik
  • Erstelle für jedes Kapitel Word- oder OneNote-Dokument, z.B. 1M/Informatik/Programmieren1.docx.
  • Du machst dir Notizen während der Lektionen und zu den Aufgaben. Programme speicherst du als Permalink.
  • Für einige Aufgaben wird es Musterlösungen geben, aber nicht für alle. Falls du dir unsicher bist: Frage bei der Lehrperson nach.
  • Du bist selbst verantwortlich, dass du alle Aufgaben gelöst hast.
  • Im Dossier gibt es viele kleine Code-Beispiele. Tippe diese jeweils von Hand ab und versuche, alles zu verstehen. Wenn du den Code per Copy-Paste kopierst, lernst du gar nichts!
  • Verwende Shortcuts:
    • Ctrl+Enter: Programm ausführen (statt auf den grünen Pfeil klicken).
    • Generell: Benutze die Maus so wenig wie möglich!

from turtle import * fritz = Turtle() fritz.forward(100)

Erklärung der Zeilen:

  1. Zuerst musst du das Modul turtle importieren, damit wir mit Turtle-Grafik arbeiten können.
  2. Erzeuge eine neue Turtle mit einem Namen, hier fritz. Man nennt dieses auch ein Turtle-Objekt.
  3. Gib deiner Turtle den Befehl, 100 Pixel vorwärts zu laufen.

Du kannst deiner Turtle befehlen, sie soll sich um einen gewissen Winkel drehen oder rückwärts laufen. Die wichtigsten Befehle sind unten aufgeführt. Jedem Befehl muss der Name der Turtle (im Beispiel fritz) und ein Punkt vorangestellt werden. Viele weitere Befehle finden sich auf der Turtle Funktionsübersicht.

Befehl Beschreibung
forward(s) s Schritte (in Pixel) vorwärts bewegen
back(s) s Schritte rückwärts bewegen
right(w) um den Winkel w (in Grad) nach rechts drehen
left(w) um den Winkel w nach links drehen
home() setzt Turtle in die Mitte des Fensters mit Richtung nach rechts

Um die Turtle an eine andere Stelle zu bewegen, brauchst du die folgenden Befehle:

Befehl Erklärung
teleport(-100,50) Springt zu Position (-100,50), ohne eine Linie zu zeichnen.
setpos(-100,50) Bewegt Turtle zu Position (-100,50), den Stift unten lassend.
setx(30) setzt x-Koordinate der Turtle (horizontale Verschiebung)
sety(30) setzt y-Koordinate der Turtle (vertikale Verschiebung)
up() Hebt den Stift, es wird also nicht gezeichnet
down() Setzt Stift wieder ab, es wird also wieder gezeichnet

Du willst mehr machen? Dann findest du viele weitere Funktionen in der offiziellen Python-Turtle-Dokumentation.

Aufgabe A1

Mache dich mit all diesen Befehlen vertraut und probiere sie aus.

Aufgabe A2

Programmiere deine Turtle so, dass sie ein Quadrat abläuft.

Aufgabe A3

Programmiere deine Turtle so, dass sie deinen Namen, Spitznamen oder zumindest deine Initialen abläuft.

Aufgabe A4

Wahrscheinlich hast du die Aufgabe 2 (Quadrat ablaufen) so gelöst, dass dein Code aus 4x genau den gleichen vier Zeilen Code besteht. Dies ist zwar richtig, aber nicht sehr elegant. Mit repeat kannst du sagen, dass du einen Codeblock eine gewisse Anzahl mal hintereinander ausführen möchtest:

repeat 4:
    # schreibe hier deinen Code

Bemerkungen:

  • Der Codeblock, welcher mehrfach Wiederholt werden soll muss nach dem repeat Befehl eingerückt sein, und zwar um genau 4 Leerzeichen (oder 1x Tab).
  • Kommentare werden in Python mit # gekennzeichnet. Kommentare werden von Python ignoriert. Man kann diese z.B. brauchen, um im Code Erklärungen anzufügen, damit jemand andere den Code besser verstehen kann.

Gehe zurück zu Aufgabe A2. Schreibe deine Lösung um, indem du den repeat Befehl verwendest.

Um einen Turtle namens Fritz einen Punkt mit Radius 20 Pixel zeichnen zu lassen, tippe einfach:

fritz.dot(20)

Bisher haben wir unsere Turtles ausschliesslich gerade Linien laufen lassen. Um auf einem Kreis zu gehen, verwende den Befehl circle(radius).

fritz.circle(20)

Dabei bestimmt das Argument den Radius des Kreise in Pixel. Ist der Radius positiv, zeichnen im Gegenuhrzeigersinn, ist er negativ im Uhrzeigersinn.

Um einen Teilkreis zu zeichnen, können wir zusätzlich den Winkel zwischen 0 und 360 Grad übergeben.

Zum Beispiel zeichnet man mit dem Befehl circle(-100, 180) einen Halbkreis (180 Grad Winkel) mit Radius 100 Pixel im Uhrzeigersinn.

Aufgabe B1

Verwende die Befehle dot(), forward(), right(), left(), um folgende Figur zu zeichnen:

Versuche nun deinen Code zu kurz wie möglich zu schreiben. Vermeide Code-Wiederholungen, arbeite deshalb mit repeat.

Aufgabe B2

Zeichne mit Hilfe der Befehle circle() die nebenstehende Figur.

Aufgabe B3

Zeichne die folgende Schmetterling-Figur:

Aufgabe B4

Zeichne die folgenden Figuren;

Aufgabe B5

Gelingt es dir die nebenstehende Figur in einem Zug zu zeichnen, ohne dass dabei eine Strecke zweimal durchlaufen wird?

Wir haben gelernt, wie man mit einem Turtle Figuren zeichnen kann. Nun wollen wir noch etwas Farbe ins Spiel bringen!

Just for fun:

  • Kopiere den folgenden Code nach TigerPython (oder folge diesem Link), aber führe ihn noch nicht aus!
  • Überlege dir bei jedem Codeblock, was dieser tut, und dokumentiere in einem Kommentar!
  • Vergleicht eure Voraussagen zu zweit.
  • Führe den Code aus!
    • Trifft deine Voraussage zu?
  • Ändere den Code ab, um das Bild zu verändern!

# Turtle wird importiert und eine neue Turtle mit # dem Namen 'fritz' wird erstellt. # TODO import fritz = Turtle() # Fritz wird nach links und oben teleportiert. fritz.teleport(-50, 50) # Was passiert hier? Screen().bgcolor("red") fritz.color("white") fritz.begin_fill() repeat 4: repeat 3: fritz.forward(100) fritz.right(90) fritz.left(180) fritz.end_fill()

Studiere den Code Zeile für Zeile. Stelle sicher, dass du folgende Befehle genau verstehst.

Befehl Erklärung
Screen().bgcolor('red') Legt die Hintergrundfarbe des Bildschirms (Screen) fest.
color('white') Legt die Farbe des Stiftes und der Füllung fest.
pencolor('red') Legt die Farbe des Stiftes fest.
fillcolor('blue') Legt die Farbe der Füllung fest.
begin_fill() / end_fill() Füllt den ganzen zwischen begin und end gezeichneten Körper mit der Füllfarbe.
width(10) Legt die Breite des Stiftes fest.

Verwende pencolor / fillcolor, Screen().bgcolor, width sowie begin_fill und end_fill um die folgenden Figuren zu zeichnen:

Aufgabe C1

Spieglein, Spieglein…

Lösung

Aufgabe C2

A star is born - don't forget to repeat:

Lösung

Aufgabe C3

Here comes the sun!

Lösung

Lösungen A

Lösungen B

  • gf_informatik/programmieren_i_new.txt
  • Zuletzt geändert: 2026-04-14 07:11
  • von hof