Huelsse/Profil Nawi/Java/Java-Turtle - Schleifen unbekannter Anzahl von Wiederholungen

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

'''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 herum suchst, kontrolliere zuerst, ob überhaupt noch 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 joggen, bis du 20kg abgenommen hast
Für diese Beispiele werden keine Zählschleifen, sondern Schleifen mit einem Testktiterium benötigt.<BR>


Der Test kann einmal am Anfang vor dem Durchlaufen des Schleifenkörpers durchgeführt werden:<BR>
'''* Schleifen mit oberer Abbruchbedingung - while (Testkriterium) { Schleifenkörper }'''<BR>
Der Test kann einmal am Ende nach dem Durchlaufen des Schleifenkörpers durchgeführt werden:<BR>
'''* Schleifen mit unterer Abbruchbedingung - do { Schleifenkörper } while (Testkriterium);<BR>'''
Welche der oberen Beispiele benötigen eine Schleife mit einer oberen oder unteren Abbruchbedingung?<BR>
<BR>
{| border="1" cellspacing="10" cellpadding="10"
 |-
 | Schleife || Struktogramm || Anzahl der Wiederholungen || minimale Anzahl || Abbruchbedingung 
 |-
 |     Zählschleife <BR>   for (int i = Start; i < Endwert; i++)<BR>{ Schleifenkörper }
    || [[Bild:Koehler_QUADRAT.png]]
    ||  i - mal
    ||  i - mal 
    || Bis i den Endwert erreicht hat
 |-
 |     Schleifen mit oberer Abbruchbedingung <BR> while (Testkriterium)<BR> { Schleifenkörper } 
    || [[Bild:Koehler_WHILE.png]]
    ||  unbekannt
    ||  0 - mal <BR> z.B. wenn mein Konto bereits überzogen ist 
    ||  Am Scheifenanfang: <BR> erst testen, dann etwas tun!
 |-
 |    Schleifen mit unterer Abbruchbedingung <BR> do { Schleifenkörper }<BR> while (Testkriterium);
    || [[Bild:Koehler_DO.png]]
    ||  unbekannt
    ||  1 - mal <BR> z.B. wenn mein erster Wurf eine Sechs ist 
    ||  Am Scheifenende: <BR> erst etwas tun, dann testen!
|}