While-Schleife (Schleife)

Previous  Next

 

 

 

24.02.2010

While Schleife (Solange-Schleife)

 

Die hmtoggle_plus1 while | XDEV NLS: Solange Schleife wiederholt einen Anweisungsblock solange die angegebene Bedingung wahr ist. Sobald die Bedingung falsch ist, wird die Schleife abgebrochen und der Anweisungsblock der Schleife wird nicht mehr ausgeführt, sondern komplett übersprungen. 

 

Die Bedingung kann beliebig aufgebaut werden und sich aus festen Werten, Variablen, Konstant und Methoden-Aufrufen zusammensetzen. Es gelten alle mathematischen Gesetzmäßigkeiten, u.a. auch logische Operatoren und Klammern.  

 

hmtoggle_plus1XDEV Object Language

1

 

2

 

while (i<10)

{

     // Anweisungsblock 

}  

Die Bedingung wird immer in Klammern angegeben. Diese werden vom Code-Editor automatisch erzeugt.

hmtoggle_plus1XDEV Basic

1

2

 

While i < 10

       // Anweisungsblock 

Wend

Die While Schleife wird mit dem Schlüsselwort Wend abgeschlossen. Dieses wird vom Code-Editor automatisch erzeugt.

hmtoggle_plus1XDEV NLS

1

2

Solange (i < 10 )

      // Anweisungsblock 

Bedingung wird immer in Klammern angegeben. Diese werden vom Code-Editor automatisch erzeugt.

 

 

» Zähler erhöhen «

Damit es nicht zu einer Endlosschleife kommt, müssen Sie die mit Hilfe der Bedingung abgefragte Variable innerhalb des Anweisungsblocks verändern. Meistens muss dazu eine Zähler-Variable erhöht werden, z.B. i = i + 1, was meistens am Ende des Schleifenblocks passiert.

 

hmtoggle_plus1XDEV Object Language

1

 

2

3

while (i<10)

{

    // Anweisungen

  i = i + 1;

}  

Die Zähler-Variable i wird am Ende des Anweisungsblocks um 1 erhöht, da es ansonsten zu einer Endlosschleife käme.

hmtoggle_plus1XDEV Basic

1

2

3

While i < 10

       // Anweisungen

   i = i + 1

Wend

Die Zähler-Variable i wird am Ende des Anweisungsblocks um 1 erhöht, da es ansonsten zu einer Endlosschleife käme.

hmtoggle_plus1XDEV NLS

1

2

3

Solange (i < 10 )

      // Anweisungen

   i = i + 1

Die Zähler-Variable i wird am Ende des Anweisungsblocks um 1 erhöht, da es ansonsten zu einer Endlosschleife käme.

 

 

» Veränderungen registrieren «

Eine hmtoggle_plus1 while | XDEV NLS: Solange Schleife ist jedoch weitaus mehr als eine Alternative zur Zählerschleife. Häufig wird an Stelle einer Zähler-Variable ein ganz anderer Wert abgefragt, z.B. eine Konstante die beim Durchsuchen einer Datei das Dateiende markiert.

 

hmtoggle_plus1XDEV Object Language

1

2

3

4

 

5

 

6

7

Int datei = openLocalRead();

String zeile;

 

while (zeile!=null)

{

  zeile = datei.readLine(datei);

}

 

close(datei);  

Int datei = openLocalRead();

Definiert eine Variable mit dem Namen datei vom Typ Gannzzahl und weist dieser eine Datei zu, die mit openLocalRead( ); vom Benutzer zugewiesen wird. Dabei wird ein Kanal zur Datei geöffnet.

 

String zeile;

Definiert eine Variable mit dem Namen Zeile vom Typ Zeichenkette. Darin werden dann die einzeln aus der Datei ausgelesenen Zeilen gespeichert.

 

while (zeile!=null)

Wiederholt den folgenden Anweisungsblock solange zeile != null, sprich nicht null ist. Wenn beim Auslesen der Datei das Datei-Ende erreicht wird, wird null zurückgegeben.

 

zeile = datei.readLine(datei);

Weist der Variable zeile den Rückgabewert der Methode datei.readLine(datei) zu. Die Methode liest aus der Datei die nächste Zeile aus und gibt diese zurück.

 

close(datei); 

Schließt den offenen Kanal zur Datei.

 

 

hmtoggle_plus1XDEV Basic

1

2

3

4

5

 

6

7

Int datei = openLocalRead()

String zeile

 

While zeile!=null

  zeile = datei.readLine(datei)

Wend

 

close(datei)

Int datei = openLocalRead()

Definiert eine Variable mit dem Namen datei vom Typ Gannzzahl und weist dieser eine Datei zu, die mit openLocalRead( ); vom Benutzer zugewiesen wird. Dabei wird ein Kanal zur Datei geöffnet.

 

String zeile

Definiert eine Variable mit dem Namen Zeile vom Typ Zeichenkette. Darin werden dann die einzeln aus der Datei ausgelesenen Zeilen gespeichert.

 

while (zeile!=null)

Wiederholt den folgenden Anweisungsblock solange zeile != null, sprich nicht null ist. Wenn beim Auslesen der Datei das Datei-Ende erreicht wird, wird null zurückgegeben.

 

zeile = datei.readLine(datei)

Weist der Variable zeile den Rückgabewert der Methode datei.readLine(datei) zu. Die Methode liest aus der Datei die nächste Zeile aus und gibt diese zurück.

 

Wend

Markiert das Ende des While-Blocks.

 

close(datei)

Schließt den offenen Kanal zur Datei.

hmtoggle_plus1XDEV NLS

1

2

3

4

5

6

7

Ganzzahl datei = öffneLokalZumLesen ( )

Zeichenkette zeile

 

Solange (zeile != NULL_WERT)

   zeile = leseZeile ( datei )

 

schließe ( datei )

Ganzzahl datei = öffneLokalZumLesen ( )

Definiert eine Variable mit dem Namen datei vom Typ Gannzzahl und weist dieser eine Datei zu, die mit öffneLokalZumLesen( ); vom Benutzer zugewiesen wird. Dabei wird ein Kanal zur Datei geöffnet.

 

Zeichenkette zeile

Definiert eine Variable mit dem Namen Zeile vom Typ Zeichenkette. Darin werden dann die einzeln aus der Datei ausgelesenen Zeilen gespeichert.

 

Solange (zeile != NULL_WERT)

Wiederholt den folgenden Anweisungsblock solange zeile != NULL_WERT, sprich nicht null ist. Wenn beim Auslesen der Datei das Datei-Ende erreicht wird, wird die Konstante NULL_WERT zurückgegeben.

 

zeile = leseZeile ( datei )

Weist der Variable zeile den Rückgabewert der Methode datei.leseZeile( datei ) zu. Die Methode liest aus der Datei die nächste Zeile aus und gibt diese zurück.

 

schließe ( datei )

Schließt den offenen Kanal zur Datei.

 

 

Hinweis: Wenn die Bedingung bereits bei der ersten Prüfung falsch ist, wird der Anweisungsblock der hmtoggle_plus1 while | XDEV NLS: Solange Schleife kein einziges Mal ausgeführt, sondern sofort übersprungen.

 

 

Basiswissen: Variablen