Was ist ein
Algorithmus?

Schritt für Schritt vom Problem zur Lösung — und zur ersten eigenen Zeichnung mit TigerJython.

Klasse 7 Algorithmen TigerJython Doppelstunde
Modul 01

Was ist ein Algorithmus?

🥞

Pfannkuchen backen

„Nimm zwei Eier, 250 ml Milch und 150 g Mehl. Rühre alles glatt. Erhitze die Pfanne mit etwas Butter. Gieße Teig hinein. Warte bis die Oberfläche fest ist. Wende den Pfannkuchen. Warte 30 Sekunden. Fertig." — Das ist ein Algorithmus. Präzise Schritte, klare Reihenfolge, ein Ende.

🚌

Der Schulweg

Stell dir vor, du erklärst jemandem zum ersten Mal den Weg zur Schule. „Geh links raus, zweite Straße rechts, an der Ampel geradeaus, Bus Linie 7 Richtung Zentrum, drei Stationen." — Wenn eine Anweisung fehlt oder unklar ist, landet die Person woanders. Genau wie bei einem Computerprogramm.

🔍

Wörter im Wörterbuch suchen

Du schlägst ein Wort im Wörterbuch nach: Aufschlagen in der Mitte, schauen ob der gesuchte Buchstabe vor oder nach der Mitte liegt, in der richtigen Hälfte erneut in der Mitte aufschlagen — und so weiter. Das ist kein Zufall, sondern ein durchdachter Algorithmus. Computer machen genau das — milliardenfach pro Sekunde.

Definition
Ein Algorithmus ist eine eindeutige, endliche Folge von ausführbaren Anweisungen zur Lösung eines Problems, die für alle gültigen Eingaben das korrekte Ergebnis liefert.
eindeutig endlich ausführbar korrekt

Klicke auf eine Eigenschaft für mehr Details und Beispiele.

📋 Eindeutig

Jede Anweisung hat genau eine Bedeutung — kein Spielraum für Interpretationen.

Beispiel: „Geh nach vorne" ist nicht eindeutig. „Geh 3 Schritte nach vorne" ist eindeutig.

Im Programm: forward(100) bewegt die Schildkröte exakt 100 Pixel — immer gleich.
↓ Details anzeigen

🔢 Endlich

Ein Algorithmus muss nach einer begrenzten Anzahl von Schritten zu einem Ende kommen.

Gegenbeispiel: „Zähle alle geraden Zahlen auf" ist kein Algorithmus — es endet nie.

Gut: „Zähle die geraden Zahlen von 2 bis 20" — das endet nach 10 Schritten.
↓ Details anzeigen

✅ Ausführbar

Jede Anweisung muss von der ausführenden Person (oder Maschine) tatsächlich durchführbar sein.

Beispiel: „Zeichne einen perfekten Kreis per Hand" ist für einen Menschen schwer ausführbar — für einen Computer mit repeat und kleinen Drehungen kein Problem.
↓ Details anzeigen

🔄 Korrekt

Der Algorithmus liefert für alle gültigen Eingaben das richtige Ergebnis.

Test: Wenn der Algorithmus „Quadrat zeichnen" für Seite = 50 funktioniert, muss er auch für Seite = 200 korrekt sein. Deswegen verwenden wir Variablen!
↓ Details anzeigen
Problem
verstehen
Schritte
aufschreiben
Code
schreiben
Testen &
verbessern

Dieser Kreislauf wiederholt sich — auch erfahrene Programmierer machen mehrere Runden!

TigerJython — Schritt für Schritt

🐢
TigerJython im Browser öffnen Kein Download nötig — läuft direkt im Browserfenster.
▶ TigerJython öffnen
Lektion 1

Die ersten drei Befehle

Jedes TigerJython-Programm beginnt gleich: Wir sagen dem Computer, welche Werkzeuge wir brauchen — und rufen die Schildkröte auf die Bühne.

from gturtle import * Lädt alle Schildkröten-Befehle. Muss in jedem Programm als erste Zeile stehen.
makeTurtle() Öffnet das Zeichenfenster und platziert die Schildkröte in der Mitte — bereit zum Zeichnen.
forward(100) Bewegt die Schildkröte 100 Pixel nach vorne und zieht dabei eine Linie.
Beispiel B1 — Erste Linie
from gturtle import *
makeTurtle()
forward(100)
Aufgabe A1

Linie zeichnen

Kopiere B1 in TigerJython. Ändere die 100 auf verschiedene Werte — z.B. 50, 200, 300. Was passiert? Schreibe auf, was die Zahl bedeutet.

Lektion 2

Abbiegen — right() und left()

Die Schildkröte schaut immer in eine Richtung. Mit right() und left() dreht sie sich auf der Stelle — ohne einen Schritt zu machen.

right(90) Dreht die Schildkröte 90° nach rechts (im Uhrzeigersinn). Sie bewegt sich nicht.
left(90) Dreht die Schildkröte 90° nach links (gegen den Uhrzeigersinn).
Beispiel B2 — Linie, abbiegen, Linie
from gturtle import *
makeTurtle()
forward(100)
right(90)
forward(80)
Aufgabe A2

Eigene Linienkombination

Schreibe ein Programm mit mindestens 3 forward()-Befehlen und 2 Drehungen. Probiere verschiedene Winkel aus. Was entsteht bei right(45)? Bei left(30)?

Lektion 3

Quadrat — ohne Wiederholung

Ein Quadrat hat 4 gleiche Seiten und 4 rechte Winkel. Wir können jeden Schritt einzeln aufschreiben — das ist korrekt, aber aufwendig. Sieh selbst:

Beispiel B3 — Quadrat ausgeschrieben
from gturtle import *
makeTurtle()
forward(100)
right(90)
forward(100)
right(90)
forward(100)
right(90)
forward(100)
right(90)

Das Muster forward(100) / right(90) wiederholt sich exakt 4 Mal. Es muss eine bessere Lösung geben…

Lektion 4

Quadrat mit repeat — und warum Einrücken wichtig ist

repeat 4: sagt dem Computer: „Führe alles, was danach eingerückt steht, genau 4 Mal aus." Das Einrücken (4 Leerzeichen) ist kein Stil — es ist Pflicht. Es zeigt, welche Zeilen zur Schleife gehören.

repeat 4:← Schleifenkopf
forward(100)← gehört zur Schleife (4 Leerzeichen!)
right(90)← gehört zur Schleife
forward(50)← nicht eingerückt → außerhalb der Schleife
Beispiel B4 — Quadrat mit repeat
from gturtle import *
makeTurtle()
repeat 4:
    forward(100)
    right(90)
Aufgabe A3

Vergleich: mit und ohne repeat

Kopiere B3 und B4 nacheinander in TigerJython. Beide zeichnen dasselbe. Welcher Code ist kürzer? Was passiert, wenn du in B4 die 4 auf 6 änderst — und warum?

💡 Tipp zum Winkel: Die Summe aller Außenwinkel ist immer 360°.
Lektion 5

Sechseck — 360° aufteilen

Ein Sechseck hat 6 gleiche Seiten. Die Schildkröte muss sich insgesamt um 360° drehen — also pro Ecke: 360° ÷ 6 = 60°.

Beispiel B5 — Sechseck
from gturtle import *
makeTurtle()
repeat 6:
    forward(100)
    right(60)
Aufgabe A4 — Fünfeck

Zeichne ein regelmäßiges Fünfeck

Ein Fünfeck hat 5 Seiten. Welchen Winkel brauchst du? Schreibe den Code mit repeat.

💡 360° ÷ 5 = ?
Lektion 6

Variablen — eine Zahl, die überall gilt

Was wäre, wenn du mit einer einzigen Zahl bestimmst, wie viele Ecken die Figur hat — und der Rest automatisch passt? Genau das machen Variablen möglich.

n = 7 Speichert die Zahl 7 unter dem Namen n. Ab jetzt steht n im ganzen Programm für 7.
600/n Berechnet die Seitenlänge automatisch: je mehr Ecken, desto kürzer jede Seite.
360/n Berechnet den Drehwinkel automatisch: 360° geteilt durch die Anzahl der Ecken.
Beispiel B6 — Beliebiges n-Eck
from gturtle import *
makeTurtle()
n = 7
repeat n:
    forward(600/n)
    right(360/n)
n = 7 repeat 7, forward(85.7), right(51.4°)
n = 12 repeat 12, forward(50), right(30°)

Nur n ändern — alles andere passt sich automatisch an. Das ist die Stärke von Variablen.

Aufgabe A5 — Stern

Zeichne einen Stern

Bei einem Stern überquert die Linie die Mitte. Statt 360/n verwendest du 720/n als Winkel. Probiere verschiedene ungerade Werte für n aus (5, 7, 9, 11…).

💡 Warum ungerade? Gerade Zahlen erzeugen oft kein schönes Stern-Muster — probiere es aus!
Lektion 7

Verschachtelung — repeat in repeat

Eine Schleife kann eine andere Schleife enthalten. Das nennt man Verschachtelung. Die äußere Schleife läuft 12 Mal — und bei jedem Durchlauf zeichnet die innere Schleife ein ganzes n-Eck.

speed(-1) Setzt die Zeichengeschwindigkeit auf Maximum — kein Warten mehr zwischen den Schritten.
hideTurtle() Versteckt die Schildkröte am Ende — das fertige Muster sieht so aufgeräumter aus.
repeat 12:← äußere Schleife: 12 Durchläufe
repeat n:← innere Schleife: zeichnet 1 n-Eck
forward(600/n)← gehört zur inneren Schleife
right(360/n)← gehört zur inneren Schleife
right(30)← gehört zur äußeren Schleife (dreht für nächstes n-Eck)
Beispiel B7 — Stern-Rosette
from gturtle import *
makeTurtle()
speed(-1)
n = 8
repeat 12:
    repeat n:
        forward(600/n)
        right(360/n)
    right(30)
hideTurtle()
Aufgabe A6 — Eigene Rosette

Verändere die Rosette

Ändere in B7 den Wert von n (probiere 5, 7, 9) und den äußeren Drehwinkel right(30). Wann entsteht ein schönes Muster? Wann nicht? Schreibe deine Beobachtung auf.

Lektion 8

Buchstabe H — back(), Farbe & Stiftbreite

Jetzt verlassen wir Formen und zeichnen echte Buchstaben. Dafür brauchen wir neue Befehle für Farbe, Dicke — und rückwärts fahren.

back(100) Bewegt die Schildkröte rückwärts — in die entgegengesetzte Richtung, ohne sich zu drehen.
setPenWidth(6) Setzt die Stiftdicke auf 6 Pixel. Dickere Linien wirken wie echte Buchstaben-Stämme.
setPenColor("#1D3557") Setzt die Farbe mit einem Hex-Code. Den Hex-Code kannst du unten im Farb-Werkzeug auswählen.
Beispiel B8 — Buchstabe H
from gturtle import *
makeTurtle()
setPenWidth(6)
setPenColor("#1D3557")
# Linker Stamm
forward(100)
back(50)
# Querbalken
right(90)
forward(60)
# Rechter Stamm
left(90)
forward(50)
back(100)
🎨 Den passenden Hex-Code für deine Lieblingsfarbe findest du im Farb-Werkzeug am Ende dieses Moduls.
Lektion 9

Buchstabe E — penUp() und penDown()

Beim Buchstaben E müssen wir die Schildkröte mehrmals versetzen, ohne eine Linie zu hinterlassen. Dafür heben wir den Stift an.

penUp() Hebt den Stift an. Die Schildkröte bewegt sich weiter, zeichnet aber keine Linie.
penDown() Senkt den Stift wieder. Ab jetzt hinterlässt jede Bewegung wieder eine Linie.
Beispiel B9 — Buchstaben H und E
from gturtle import *
makeTurtle()
setPenWidth(6)
# ── Buchstabe H ──
setPenColor("#1D3557")
forward(100)
back(50)
right(90)
forward(60)
left(90)
forward(50)
back(100)
# ── Abstand zum E ──
penUp()
right(90)
forward(25)
left(90)
penDown()
# ── Buchstabe E ──
setPenColor("#E63946")
forward(100)
back(100)
right(90)
forward(55)
back(55)
left(90)
forward(50)
right(90)
forward(45)
back(45)
left(90)
forward(50)
right(90)
forward(55)
Aufgabe A7 — Drei Buchstaben deines Namens

Schreibe deinen Namen (3 Buchstaben)

Zeichne die ersten drei Buchstaben deines Vornamens mit der Schildkröte. Jeder Buchstabe soll eine andere Farbe haben. Verwende setPenWidth(7) für alle. Trenne die Buchstaben mit penUp() / penDown().

💡 Plane jeden Buchstaben zuerst auf Papier: Wie viele Linien? Wie lang? Wohin dreht sich die Schildkröte?
🎨 Wähle deine Farben im Farb-Werkzeug unten und kopiere den setPenColor()-Befehl direkt.
🎨 Farb-Werkzeug — Hex-Code für setPenColor

TigerJython akzeptiert Hex-Codes direkt: setPenColor("#E63946"). Wähle eine Farbe und kopiere den fertigen Befehl.

Hex-Code
#E63946
Fertiger Befehl
setPenColor("#E63946")
RGB rgb(230, 57, 70)
Schnellfarben
Modul 03

Selbstkontrolle

Hake ab, was du heute gelernt und geübt hast.

0 / 6 erledigt
Modul 04
Wissensquiz
7 Fragen · Klicke auf deine Antwort — sofortiges Feedback
Frage 1 / 7
Was ist ein Algorithmus?
Frage 2 / 7
Welchen Außenwinkel brauchst du für ein gleichseitiges Dreieck mit der Turtle?
Frage 3 / 7
Was bewirkt penUp() in TigerJython?
Frage 4 / 7
Was ist der Vorteil einer Variable wie seite = 80?
Frage 5 / 7
Welche Eigenschaft gehört NICHT zu einem Algorithmus?
Frage 6 / 7
Was passiert, wenn du in B5 (Stern) right(30) durch right(45) ersetzt?
Frage 7 / 7
Welche Zeile setzt die Stiftbreite auf 4?
0 / 7
Punkte

Begriffe aufdecken

Klicke auf eine Karte, um die Definition zu sehen.

Algorithmus
Klicken zum Aufdecken
Definition
Eindeutige, endliche Folge von Anweisungen zur Lösung eines Problems.
Sequenz
Klicken zum Aufdecken
Definition
Anweisungen, die nacheinander ausgeführt werden — eine nach der anderen.
Wiederholung
Klicken zum Aufdecken
Definition
Ein Block von Anweisungen wird mehrfach ausgeführt (repeat n:).
Variable
Klicken zum Aufdecken
Definition
Ein benannter Speicherplatz für einen Wert, z. B. seite = 80.
penUp / penDown
Klicken zum Aufdecken
Definition
Hebt den Stift an (keine Linie) oder senkt ihn (Linie wird gezeichnet).
setPenColor
Klicken zum Aufdecken
Definition
Setzt die Farbe der Linie, z. B. setPenColor("red").
setPenWidth
Klicken zum Aufdecken
Definition
Setzt die Stiftdicke in Pixeln, z. B. setPenWidth(5).
Außenwinkel
Klicken zum Aufdecken
Definition
Der Drehwinkel der Schildkröte an jeder Ecke. Summe aller Außenwinkel = 360°.
Für zuhause

Hausaufgabe

🏠 Hausaufgaben

H1 — Muster dokumentieren

Öffne TigerJython zuhause (webtigerjython.ethz.ch — kein Download nötig). Verändere B5 (Stern-Muster) so, dass ein dir gefallenes Muster entsteht. Schreibe dazu auf: welche Zahlen du geändert hast, was sich verändert hat, und einen Satz: „Mein Algorithmus zeichnet …" Experimentiere auch mit setPenColor und setPenWidth.

H2 — Algorithmus im Alltag

Beschreibe einen Alltagsvorgang (Zähneputzen, Schulweg, Frühstück zubereiten) als Algorithmus — mindestens 6 Schritte, nummeriert, so präzise wie möglich. Kein Code — nur Sprache. Prüfe: Ist jeder Schritt eindeutig? Endet der Algorithmus?

Zum Nachdenken

„Wir beschreiben Algorithmen jeden Tag — ohne es zu merken."
🤔 Welche Alltagsvorgänge sind eigentlich Algorithmen — und welche nicht? Was ist der Unterschied?
🤔 Kann ein Algorithmus falsch sein, obwohl er „funktioniert"? Denke an ein Beispiel.
🤔 Warum ist Eindeutigkeit in einem Kochrezept für Menschen weniger wichtig als in einem Computerprogramm?