Kopfgesteuerte Schleife: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
(Negativbeispiel)
 
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
Eine '''kopfgesteuerte [[Schleife]]''' ist eine [[Kontrollstruktur]]. Sie bietet die Möglichkeit, Codezeilen zu wiederholen.  
 
Eine '''kopfgesteuerte [[Schleife]]''' ist eine [[Kontrollstruktur]]. Sie bietet die Möglichkeit, Codezeilen zu wiederholen.  
  
Eine kopfgesteuerte Schleife überprüft, wie der Name schon sagt, am Kopf der Schleife, ob ihr Inhalt ausgeführt werden soll oder nicht. Eine solche Schleife kann daher auch gänzlich übersprungen werden, sollte ihre Eintrittsbedingung nie erfüllt werden. Sie springt nach Ausführung des Schleifenrumpfes immer zurück zum Kopf, um die dort deklarierte Bedingung zu überprüfen.
+
Eine kopfgesteuerte Schleife überprüft anhand einer '''Eintrittsbedingung''' am Kopf der Schleife, ob ihr Inhalt ausgeführt werden soll oder nicht. Die Ausführung einer solchen Schleife kann daher auch gänzlich übersprungen werden, sollte diese Bedingung nie erfüllt werden. Die Schleife springt nach Ausführung des Schleifenrumpfes immer zurück zum Kopf, um die dort deklarierte Bedingung erneut zu überprüfen.
  
In [[Java]] wird eine kopfgesteuerte Schleife mit dem Schlüsselwort <code>while</code> deklariert, weswegen sie auch gerne '''while-Schleife''' genannt wird.
+
In [[Java]] wird eine kopfgesteuerte Schleife mit dem [[Schlüsselwort]] '''while''' deklariert, weswegen sie oft auch als '''while-Schleife''' bezeichnet wird.
  
 
= Syntaxdiagramm =
 
= Syntaxdiagramm =
Zeile 13: Zeile 13:
 
== Der Schleifenkopf ==
 
== Der Schleifenkopf ==
  
Das Schlüsselwort '''while''' wird verwendet. Darauf folgt in runden Klammern die '''Bedingung''', bei der die Schleife ausgeführt werden soll. Die Schleife wird ausgeführt, solange die Eintrittsbedingung gilt.
+
===Aufbau===
  
Wichtig: Auf diese Bedingung darf '''kein Semikolon''' folgen.
+
Die Schleife beginnt mit dem Schlüsselwort '''while'''. Darauf folgt in runden Klammern die '''Bedingung''', bei der die Schleife ausgeführt werden soll. Die Schleife wird ausgeführt, solange die Eintrittsbedingung gilt.
 +
 
 +
'''Wichtig:''' Auf diese Bedingung darf '''kein Semikolon''' folgen.
  
 
===Beispiel===
 
===Beispiel===
Zeile 23: Zeile 25:
 
</source>
 
</source>
  
Die Schleife wird solange ausgeführt, wie Guthaben vorhanden ist.
+
Diese Schleife wird solange ausgeführt, wie Guthaben vorhanden ist.
  
 
== Der Schleifenrumpf ==
 
== Der Schleifenrumpf ==
  
Als Schleifenrumpf wird der in der Schleife auszuführende Code bezeichnet. Dieser steht in geschweiften Klammern.
+
===Aufbau===
  
Wichtig: Ziel dieser Schleifenart ist es, dass irgendwann die Eintrittsbedingung nicht mehr erreicht wird. Der auszuführende Code sollte dementsprechend formuliert werden. Terminiert die Schleife nicht, ist das Programm in einer '''Endlosschleife''' gefangen.
+
Als '''Schleifenrumpf''' wird der in der Schleife auszuführende Code bezeichnet. Dieser steht in geschweiften Klammern.
 +
 
 +
'''Wichtig:''' Ziel dieser Schleifenart ist es, dass irgendwann die Eintrittsbedingung nicht mehr erreicht wird. Der auszuführende Code sollte dementsprechend formuliert werden. Terminiert die Schleife nicht, ist das Programm in einer '''[[Endlosschleife]]''' gefangen.
  
 
===Beispiel===
 
===Beispiel===
Zeile 38: Zeile 42:
 
}
 
}
 
</source>
 
</source>
 
  
 
== Die komplette while-Schleife ==
 
== Die komplette while-Schleife ==
  
Die komplette Schleife besteht aus dem Kopf und dem Rumpf.
+
===Aufbau===
 +
 
 +
Die komplette Schleife besteht aus dem Kopf und dem Rumpf:
 +
 
 +
'''while'''(''Bedingung'')
 +
 
 +
{''Befehl''}
  
 
===Beispiel===
 
===Beispiel===
Zeile 54: Zeile 63:
  
 
'''Solange''' noch Guthaben vorhanden ist, wird 50 von diesem abgezogen.
 
'''Solange''' noch Guthaben vorhanden ist, wird 50 von diesem abgezogen.
 +
 +
===Negativbeispiel===
 +
 +
<source lang="java">
 +
int start=2;
 +
while( start > 0)
 +
{
 +
  Guthaben = Guthaben - 50;
 +
}
 +
</source>
 +
 +
Auf die [[Laufvariable]] <code>start</code> im Kopf der Schleife wird in ihrem weiteren Ablauf nicht mehr zugegriffen. Diese Variable verändert somit ihren Wert nicht und die Eintrittsbedingung der [[while]]-Schleife bleibt permanent erfüllt. Somit handelt es sich hierbei um eine '''Endlosschleife'''.
  
 
=Schlüsselwort=
 
=Schlüsselwort=
 
*while
 
*while

Aktuelle Version vom 14. August 2016, 22:50 Uhr

Eine kopfgesteuerte Schleife ist eine Kontrollstruktur. Sie bietet die Möglichkeit, Codezeilen zu wiederholen.

Eine kopfgesteuerte Schleife überprüft anhand einer Eintrittsbedingung am Kopf der Schleife, ob ihr Inhalt ausgeführt werden soll oder nicht. Die Ausführung einer solchen Schleife kann daher auch gänzlich übersprungen werden, sollte diese Bedingung nie erfüllt werden. Die Schleife springt nach Ausführung des Schleifenrumpfes immer zurück zum Kopf, um die dort deklarierte Bedingung erneut zu überprüfen.

In Java wird eine kopfgesteuerte Schleife mit dem Schlüsselwort while deklariert, weswegen sie oft auch als while-Schleife bezeichnet wird.

Syntaxdiagramm

While statement.png

Aufbau einer while-Schleife

Der Schleifenkopf

Aufbau

Die Schleife beginnt mit dem Schlüsselwort while. Darauf folgt in runden Klammern die Bedingung, bei der die Schleife ausgeführt werden soll. Die Schleife wird ausgeführt, solange die Eintrittsbedingung gilt.

Wichtig: Auf diese Bedingung darf kein Semikolon folgen.

Beispiel

while( Guthaben > 0)

Diese Schleife wird solange ausgeführt, wie Guthaben vorhanden ist.

Der Schleifenrumpf

Aufbau

Als Schleifenrumpf wird der in der Schleife auszuführende Code bezeichnet. Dieser steht in geschweiften Klammern.

Wichtig: Ziel dieser Schleifenart ist es, dass irgendwann die Eintrittsbedingung nicht mehr erreicht wird. Der auszuführende Code sollte dementsprechend formuliert werden. Terminiert die Schleife nicht, ist das Programm in einer Endlosschleife gefangen.

Beispiel

{
  Guthaben = Guthaben - 50;
}

Die komplette while-Schleife

Aufbau

Die komplette Schleife besteht aus dem Kopf und dem Rumpf:

while(Bedingung)

{Befehl}

Beispiel

while( Guthaben > 0)
{
  Guthaben = Guthaben - 50;
}

Solange noch Guthaben vorhanden ist, wird 50 von diesem abgezogen.

Negativbeispiel

int start=2;
while( start > 0)
{
  Guthaben = Guthaben - 50;
}

Auf die Laufvariable start im Kopf der Schleife wird in ihrem weiteren Ablauf nicht mehr zugegriffen. Diese Variable verändert somit ihren Wert nicht und die Eintrittsbedingung der while-Schleife bleibt permanent erfüllt. Somit handelt es sich hierbei um eine Endlosschleife.

Schlüsselwort

  • while