sciandu
Informatik

Informatik

Schleifen mit Bedingung

Wiederhole so lange, bis es passt: Schleifen, die nicht zählen, sondern prüfen.

Das brauchst du vorher

Wenn du einen Teig rührst, zählst du nicht bis 50 und hörst dann auf. Du rührst, solange der Teig noch klumpig ist, und hörst auf, sobald er glatt ist. Genau so arbeiten Schleifen mit Bedingung: Sie wiederholen etwas nicht eine feste Anzahl von Malen, sondern so lange, wie eine Bedingung gilt.

Feste Anzahl oder Bedingung?

Bisher kanntest du Schleifen, die eine feste Anzahl von Durchgängen haben: Mach das 10 Mal. Manchmal weißt du die Anzahl aber vorher gar nicht. Wie oft musst du würfeln, bis eine Sechs kommt? Wie oft musst du pumpen, bis der Reifen voll ist? Dafür gibt es die Schleife mit Bedingung: Wiederhole, solange die Bedingung wahr ist. Vor jedem Durchgang wird die Bedingung geprüft. Ist sie falsch, ist die Schleife vorbei. In Programmiersprachen heißt sie meist while-Schleife, denn while ist das englische Wort für solange.

Entscheidungsweiche
Temperatur12 °C
wenn t ≤ 0: Schal und Mütze
sonst wenn t < 20: Jacke
sonst: T-Shirt
Bei 12 °C: Jacke
Probier es aus: Verändere die Bedingung und schau, wann das Programm weitermacht und wann es stoppt.

Die Abbruchbedingung

Damit die Schleife irgendwann endet, muss sich in jedem Durchgang etwas verändern, das die Bedingung früher oder später falsch macht. Beispiel: Solange der Eimer weniger als 20 Liter enthält, kippe 3 Liter dazu. In jedem Durchgang steigt die Wassermenge, also wird die Bedingung irgendwann falsch, und die Schleife stoppt. Diese Veränderung ist der wichtigste Teil der ganzen Schleife. Achte aber darauf, wo die Schleife stoppt: Ein begonnener Durchgang läuft immer komplett durch. Gilt die Bedingung vor dem Kippen noch, kommen die vollen 3 Liter dazu, auch wenn der Eimer dadurch über 20 Liter kommt. Eine Bedingungsschleife stoppt also beim ersten Wert, der die Bedingung nicht mehr erfüllt, und der liegt hier schon über 20 Litern.

Endlosschleifen: der Klassiker unter den Bugs

Was passiert, wenn die Bedingung nie falsch wird? Die Schleife läuft für immer. Das nennt man Endlosschleife, und sie ist einer der berühmtesten Programmierfehler überhaupt: Das Programm hängt, der Bildschirm friert ein, der Lüfter dreht auf. Meist ist der Grund winzig: Jemand hat vergessen, den Zähler zu verändern, oder die Bedingung prüft die falsche Sache. Frag dich bei jeder Bedingungsschleife: Was genau sorgt dafür, dass sie irgendwann aufhört?

Aufgaben

0 von 6 gelöst

Zeit zum Ausprobieren. Du kannst nichts kaputt machen, jeder Versuch zählt.

Du weißt vorher nicht, wie oft etwas wiederholt werden muss. Welche Schleife passt?

Die Bedingung einer Schleife wird nie falsch. Was passiert?

Eine Zahl startet bei 10. Solange sie größer als 0 ist, wird 2 abgezogen. Wie viele Durchgänge macht die Schleife?

Wie läuft eine Schleife mit Bedingung ab, bis sie stoppt? Bring die Schritte in die richtige Reihenfolge.

  1. 1Beim nächsten Prüfen ist die Bedingung falsch, die Schleife stoppt
  2. 2Ein Wert verändert sich, zum Beispiel der Zähler steigt
  3. 3Weil sie wahr ist, läuft der Durchgang
  4. 4Vor dem Durchgang wird die Bedingung geprüft

Eine Zahl startet bei 0. Solange sie kleiner als 8 ist, wird 1 addiert. Wie viele Durchgänge macht die Schleife?

Wird die Bedingung einer Schleife nie falsch, entsteht .

Damit geht es weiter