Zum Inhalt springen

„Do-while-Schleife“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Syntaxfix - sauberes Markup
K AZ: Weiterleitung nach Schleife (Programmierung)#Do-While-Schleife erstellt
 
(37 dazwischenliegende Versionen von 27 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
#REDIRECT[[Schleife_(Programmierung)#Do-While-Schleife]]
In den meisten [[Programmiersprache]]n gibt es eine [[Kontrollstruktur]] namens '''Do-while-Schleife''', die es ermöglicht, dass abhängig von einer gegebenen [[Boolesche Variable|Booleschen]] Bedingung ein Codeabschnitt wiederholt ausführt wird.

Das ''Do-while''-Konstrukt besteht aus einem Codeblock (Rumpf) und einer Bedingung. Der Code innerhalb des Rumpfes wird zuerst ausgeführt, dann wird die Bedingung ausgewertet. Falls die Bedingung [[true|wahr]] ist, so wird der Code innerhalb des Rumpfes erneut ausgeführt. Dies wiederholt sich, bis die Bedingung [[falsch]] wird. Weil die Do-while-Schleife die Bedingung überprüft, nachdem der Rumpf bereits ausgeführt wurde, nennt man diese Kontrollstruktur häufig auch eine '''fußgesteuerte Schleife''' oder '''Schleife mit nachfolgender Prüfung'''. Betrachte zum Vergleich die [[While-Schleife]], die zunächst die Bedingung prüft, bevor der Code innerhalb des Rumpfes ausgeführt wird.

Dabei ist es möglich und in manchen Fällen auch erwünscht, dass die Bedingung stets wahr bleibt, sodass eine [[Endlosschleife]] entsteht. Wenn eine solche Schleife absichtlich erzeugt wird, dann gibt es für gewöhnlich eine weitere Kontrollstruktur (wie z.B. eine [[break|Break-Anweisung]]), mit der man unabhängig von der Bedingung die Terminierung der Schleife steuern kann.

Betrachte folgendes Beispiel in der Sprache [[C (Programmiersprache)|C]]:

x = 0;
do {
x = x + 1;
} while (x < 3);

Dies führt zunächst die Instruktion x = x + 1 aus, prüft dann die Bedingung x < 3, die nicht erfüllt ist, also wird der Rumpf erneut ausgeführt. Dieser Prozess des Ausführens und Prüfens wird solange wiederholt, bis die [[Variable]] x den gewünschten Wert 3 hat.

== Anwendungsbeispiele für Do-while-Schleifen ==

Diese Do-while-Schleifen berechnen die [[Fakultät (Mathematik)|Fakultät]] einer Zahl:

In [[QBasic]] oder [[Visual Basic]]:

Dim Zaehler as Byte, Fakultaet as Long
Zaehler = 5 'Zahl, deren Fakultät berechnet wird.
Fakultaet = 1
Do
Fakultaet = Fakultaet * Zaehler
Zaehler = Zaehler - 1
While (Zaehler > 0)
Print Fakultaet 'Gibt das Ergebnis aus.

In [[C (Programmiersprache)|C]] oder [[C-Plusplus|C++]]:

#include <stdio.h>
int main(void) {
unsigned int Zaehler = 5;
unsigned long Fakultaet = 1;
do
Fakultaet *= Zaehler--; /*Multipliziert und dekrementiert anschließend.*/
while (Zaehler > 0);
printf("%lu\n", Fakultaet);
return 0;
}

In [[Java (Programmiersprache)|Java]]:

int Zaehler = 5;
int Fakultaet = 1;
do {
Fakultaet *= Zaehler --;
} while(Zaehler > 0);
System.out.println(Fakultaet);

== Siehe auch ==
* [[For-Schleife]]
* [[While-Schleife]]
* [[Schleife (Programmierung)|Schleife]]


{{DEFAULTSORT:Do While Schleife}}
[[Kategorie:Programmiersprachelement]]
[[Kategorie:Programmiersprachelement]]


[[en:do while loop]]
[[cs:Cyklus do-while]]
[[en:Do while loop]]
[[es:Bucle repetir]]
[[eu:Repeat begizta]]
[[hr:Do while petlja]]
[[ja:Do-while文]]

Aktuelle Version vom 28. Januar 2010, 15:37 Uhr