Zum Inhalt
Lus Schleife, zur Startseite
Algorithmen

Wiederholen und entscheiden: Schleifen und Bedingungen

Mit einer Schleife lässt du einen Computer etwas wiederholen, mit einer Bedingung lässt du ihn entscheiden. So werden lange Programme kurz und schlau.

5. und 6. Klasse10 bis 13 JahreEntwurf: Noch nicht von einer Lehrkraft für Informatik gelesen.

Warum

Du willst einen Roboter zehn Felder vorwärts gehen lassen. Musst du dann wirklich zehnmal „geh vorwärts“ schreiben?

Das geht, aber es ist langweilig und du machst schnell einen Fehler. Programmierer schreiben lieber einmal: Wiederhole 10-mal, geh vorwärts.

Und was, wenn da eine Mauer steht? Dann muss der Roboter entscheiden können: Wenn eine Mauer vor dir steht, dreh dich, sonst geh vorwärts. Mit Wiederholen und Entscheiden kann ein kurzes Programm sehr viel.

Sieh es

Wähle ein Programm und spiel es Schritt für Schritt ab. Links stehen die Blöcke in deiner eigenen Sprache, rechts dieselben Zeilen als Code. Die Zeile, die gerade läuft, leuchtet auf.

ABCDE12345
Blöcke
  1. wiederhole 4-mal
  2. geh 1 Feld vor
  3. geh 1 Feld vor
  4. dreh dich nach rechts
Code
for i in range(4):
    move()
    move()
    turn_right()

Die Blöcke und der Code sind dasselbe Programm, Zeile für Zeile. Der Code sieht aus wie Python und benutzt englische Wörter, wie echter Code.

Schritt 0 von 16
Das Programm ist bereit. Der Roboter steht auf B4 und schaut nach oben.
Beschreibung des Bildes

Ein Raster mit den Spalten A bis F und den Zeilen 1 bis 6, ein Roboter mit einer Nase, die zeigt, wohin er schaut, manchmal Mauern und eine Fahne. Neben dem Raster steht das Programm zweimal: als Blöcke, wie wiederhole 4-mal und dreh dich nach rechts, und als Code, wie for i in range(4) und turn_right(). Bei jedem Schritt bewegt sich der Roboter und die Zeile, die er ausführt, leuchtet auf.

Versteh es

Ein Programm ist eine Reihe von Anweisungen, die der Computer eine nach der anderen ausführt, von oben nach unten. Das nennt man eine Sequenz.

Eine Schleife wiederholt die Anweisungen, die in ihr stehen. In den Blöcken steht wiederhole 4-mal, im Code for i in range(4):. Was dazugehört, wird ein Stück nach rechts eingerückt. range(4) zählt 0, 1, 2, 3: Das sind vier Runden.

Eine Bedingung lässt den Computer entscheiden. if wall_ahead(): bedeutet: Wenn eine Mauer vor dir steht. Dann tut er, was darunter steht, und sonst (else:) etwas anderes.

Eine Schleife mit einer Bedingung darin ist sehr stark. while path_ahead(): bedeutet: Solange der Weg frei ist, wiederhole weiter. Der Roboter hält von selbst an der Mauer an, egal wie weit sie weg ist.

In Lus siehst du immer zwei Formen desselben Programms: Blöcke in deiner eigenen Sprache und Code mit englischen Wörtern, so wie echte Programmiersprachen sie benutzen. Es sind dieselben Zeilen, mit derselben Nummer.

Die Regel

Sequenz: von oben nach unten. Schleife: Wiederhole, was eingerückt ist. Bedingung: Wenn dies wahr ist, tu das, sonst etwas anderes.

Gelöstes Beispiel

Der Roboter steht auf A5 und schaut nach oben. Wo steht er nach diesem Programm?

  1. Das Programm:

    for i in range(3):
        move()
    turn_right()
    move()
    move()
  2. Die Schleife läuft 3-mal: Der Roboter geht von A5 nach A4, A3 und A2.

  3. Danach dreht er sich nach rechts und geht zwei Felder vorwärts: B2, C2.

  4. Antwort

    Der Roboter steht auf C2 und schaut nach rechts.

Mach es

Wähl eine Stufe. Du bekommst jedes Mal eine neue Aufgabe, die sofort kontrolliert wird.

Üben

Der Roboter startet auf B3 und schaut nach rechts. Auf welchem Feld steht er nach diesem Programm?

Der Roboter startet auf B3 und schaut nach rechts. Auf welchem Feld steht er nach diesem Programm?
ABCDE12345
Blöcke
  1. wiederhole 2-mal
  2. geh 1 Feld vor
  3. dreh dich nach links
  4. geh 1 Feld vor
  5. geh 1 Feld vor
Code
for i in range(2):
    move()
    turn_left()
move()
move()
Wähle die richtige Antwort

Stolperfallen

  • Falsch: range(4) zählt 1, 2, 3, 4.

    Python beginnt bei 0 zu zählen. Es sind zwar vier Runden, aber der Zähler ist 0, 1, 2 und 3.

    Richtig: range(n) ergibt n Runden, mit dem Zähler von 0 bis n − 1.

  • Falsch: Alles unter einer Schleife wird wiederholt.

    Nur die Zeilen, die eingerückt sind, gehören zur Schleife. Eine Zeile, die wieder links beginnt, kommt erst nach der Schleife.

    Richtig: Achte auf das Einrücken: Es zeigt, was zur Schleife oder zur Bedingung gehört.

  • Falsch: Eine while-Schleife hört nach einer festen Anzahl von Malen auf.

    Eine while-Schleife wiederholt, solange die Bedingung wahr ist. Wird sie nie falsch, hört die Schleife nie auf.

    Richtig: Sorg dafür, dass sich in der Schleife etwas ändert, damit die Bedingung irgendwann falsch wird.

Im Alltag

  • Eine Ampel wiederholt ihre Schleife den ganzen Tag: grün, gelb, rot, und wieder von vorn.
  • Ein Saugroboter fährt geradeaus, solange der Weg frei ist, und dreht sich, wenn er eine Wand oder ein Stuhlbein spürt.
  • In einem Spiel prüft der Computer immer wieder: Wenn du die Münze berührst, bekommst du einen Punkt.
  • Ein Thermostat schaut ständig: Wenn es kälter ist als eingestellt, geht die Heizung an.

Geschichte

Im Jahr 1843 schrieb Ada Lovelace Notizen zur Analytical Engine von Charles Babbage, einer Rechenmaschine, die nie ganz gebaut wurde. Sie beschrieb darin Schritt für Schritt, wie die Maschine eine Reihe von Zahlen berechnen konnte, mit Schritten, die wiederholt werden. Darum nennt man sie oft die erste Programmiererin.

Am Esstisch

Spielt zusammen Roboter auf den Fliesen in der Küche. Eine Person schreibt ein Programm mit wiederhole und wenn, die andere führt es wörtlich aus. Schafft ihr es bis zum Kühlschrank?

Eine Frage, über die ihr gemeinsam sprecht, Eltern und Kinder. Es gibt keine falsche Antwort.

Fehler entdeckt?

Ein paar Worte genügen. Wir prüfen es und passen es an.

Suche

Wird geladen …

Lesekomfort

Wähle, was hilft. Deine Wahl bleibt auf diesem Gerät gespeichert.

Textgröße

Lieber die Einstellungen deines Geräts (Zoom, Screenreader, Dunkelmodus)? Die funktionieren hier auch.