Java-Turtle - Schleifen unbeankkte Anzahl

Aus ProgrammingWiki
Archivierte Version vom 2011-06-08T12:18:08+00:00. Aktuelle Version

Schleifen mit unbekannter Anzahl von Wiederholungen


Zur Erinnerung:

Mit einer Zählschleife können Anweisungsblöcke "i-mal" ausgeführt werden, d.h. die Anzahl der Wiederholungen ist bekannt:

  • FOR (i = STARTWERT, i < ENDWERT, i++ Erhöhen der Laufvariable ) { Schleifenkörper }
  • for (int i = 1; i < 5; i++ ) {turtle.forward(100);turtle.right(90);}


Häufig wird man nicht genau wissen, wie oft man einen bestimmten Zyklus durchlaufen muss:

  • Lerne solange fleißig, bis du in einer Mathearbeit die Note 1 bekommst
  • Iss Süßigkeiten, bis die Tüte in Größe einer Familienpackung leer ist, damit du nicht umsonst in der Tüte herumsuchst, kontrolliere zuerst, ob überhaupt nach etwas drin ist
  • Würfe solange, bis du ein Sechs hast
  • Gehe solange shoppen, bis dein Konto leer ist, aber überziehe dein Konto nicht!
  • Gehe solange joggen, bis du 20kg abgenommen hast


Für diese Beispiele werden keine Zählschleifen, sondern Schleifen mit einem Testktiterium benötigt.
Der Test kann einmal am Anfang vor dem Durchlaufen des Schleifenkörpers durchgeführt werden:

  • Schleifen mit oberer Abbruchbedingung - while (Testkriterium) { Schleifenkörper }

Der Test kann einmal am Ende nach dem Durchlaufen des Schleifenkörpers durchgeführt werden:

  • Schleifen mit unterer Abbruchbedingung - do { Schleifenkörper } while (Testkriterium);

Welche der oberen Beispiele benötigen eine Schleife mit einer oberen oder unteren Abbruchbedingung?

SchleifeStruktogrammAnzahl der Wiederholungenminimale AnzahlAbbruchbedingung
Zählschleife
for (int i = Start; i < Endwert; i++)
{ Schleifenkörper }
| Koehler_QUADRAT.png| i mal| i mal| Bis i den Endwert erreicht hat
Schleifen mit oberer Abbruchbedingung
while (Testkriterium)
{ Schleifenkörper }
| Koehler_WHILE.png| unbekannt| Null mal, z.b. wenn mein Konto bereits überzogen ist| Am Scheifenanfang:
erst testen, dann etwas tun!
Schleifen mit unterer Abbruchbedingung
do { Schleifenkörper }
while (Testkriterium);
| Koehler_DO.png| unbekannt| 1 mal, z.b. wenn mein Konto bereits überzogen ist| Am Scheifenende:
erst etwas tun, dann testen!