„Do-while-Schleife“ – Versionsunterschied
Erscheinungsbild
[ungesichtete Version] | [gesichtete Version] |
Inhalt gelöscht Inhalt hinzugefügt
Jpp (Diskussion | Beiträge) 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: | ||
⚫ | |||
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]] |
|||
⚫ | |||
{{DEFAULTSORT:Do While Schleife}} |
|||
[[Kategorie:Programmiersprachelement]] |
[[Kategorie:Programmiersprachelement]] |
||
[[ |
[[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
Weiterleitung nach: