Do-while-Schleife

Do-while-Schleife

In den meisten imperativen Programmiersprachen gibt es eine Kontrollstruktur namens Do-while-Schleife, die es ermöglicht, dass abhängig von einer gegebenen Booleschen Bedingung ein Codeabschnitt wiederholt ausgefü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 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-Anweisung), mit der man unabhängig von der Bedingung die Terminierung der Schleife steuern kann.

Betrachte folgendes Beispiel in der Sprache 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 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 ≥ 3 ist.

In den Pascal-artigen Programmiersprachen, einschließlich Delphi, gibt es keine Do-While-Schleife sondern eine Repeat-Until-Schleife, welche den gleichen Zweck erfüllt. Repeat-Until unterscheidet sich von Do-While dadurch, dass bei Repeat-Until die Bedingung wahr sein muss, um abzubrechen. Außerdem benötigt diese Schleife als einzige keinen "begin-end"-Block, um mehrere Anweisungen abzuarbeiten.

Anwendungsbeispiele für Do-while-Schleifen

Diese Do-while-Schleifen berechnen die Fakultät einer Zahl:

In QBasic:

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 oder 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:

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

In Delphi:

var
  Zaehler, Fakultaet : Integer;
begin
  Zaehler := 5;
  Fakultaet := 1;
  repeat
    Fakultaet := Fakultaet * Zaehler;
    dec(Zaehler);
  until Zaehler = 0;
  ShowMessage(IntToStr(Fakultaet));
end;

Siehe auch


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • While-Schleife — In den meisten Programmiersprachen gibt es die While Schleife als Kontrollstruktur. Sie dient dazu, eine Abfolge von Anweisungen mehrfach auszuführen, solange eine Bedingung erfüllt ist. Diese Bedingung wird geprüft, bevor die Anweisungsfolge… …   Deutsch Wikipedia

  • While-Berechenbarkeit — WHILE Programme spielen in der Theoretischen Informatik eine Rolle, insbesondere in Zusammenhang mit Berechenbarkeit. Inhaltsverzeichnis 1 Eigenschaften 2 Syntax 2.1 Erklärung der Syntax 3 Kleenesche Normalform für WHILE Programme …   Deutsch Wikipedia

  • While-Programm — WHILE Programme spielen in der Theoretischen Informatik eine Rolle, insbesondere in Zusammenhang mit Berechenbarkeit. Inhaltsverzeichnis 1 Eigenschaften 2 Syntax 2.1 Erklärung der Syntax 3 Kleenesche Normalform für WHILE Programme …   Deutsch Wikipedia

  • WHILE-Programm — WHILE Programme spielen in der Theoretischen Informatik eine Rolle, insbesondere in Zusammenhang mit Berechenbarkeit. Inhaltsverzeichnis 1 Eigenschaften 2 Syntax 2.1 Erklärung der Syntax …   Deutsch Wikipedia

  • Schleife (Programmierung) — Eine Schleife ist eine Kontrollstruktur in Programmiersprachen. Sie wiederholt einen Anweisungs Block – den so genannten Schleifenrumpf oder Schleifenkörper – so lange, wie eine Laufbedingung gültig ist oder bis eine Abbruchbedingung eintritt.… …   Deutsch Wikipedia

  • Schleife — Kurve; Biegung; Krümmung; Masche; Schlinge; Schlaufe; Querbinder; Fliege (umgangssprachlich); Mascherl (österr.); Krawattenschleife * * * Schlei|fe [ ʃlai̮fə] …   Universal-Lexikon

  • For-Next-Schleife — Viele Programmiersprachen definieren eine For Schleife als eine Kontrollstruktur, mit der man eine Gruppe von Anweisungen (Block) mit einer bestimmten Anzahl von Wiederholungen ausführen kann. Die Definition, wie eine For Schleife auszusehen hat… …   Deutsch Wikipedia

  • Foreach-Schleife — Viele Programmiersprachen definieren eine For Schleife als eine Kontrollstruktur, mit der man eine Gruppe von Anweisungen (Block) mit einer bestimmten Anzahl von Wiederholungen ausführen kann. Die Definition, wie eine For Schleife auszusehen hat… …   Deutsch Wikipedia

  • For-Schleife — Struktogramm einer For Schleife Viele Programmiersprachen definieren eine For Schleife als eine Kontrollstruktur, mit der man eine Gruppe von Anweisungen (Block) mit einer bestimmten Anzahl von Wiederholungen ausführen kann. Die Definition, wie… …   Deutsch Wikipedia

  • bedingte Schleife — bedingte Schleife,   eine Schleife, deren Ausführung bzw. Beendigung durch eine Bedingung gesteuert wird. Das die bedingte Schleife einleitende Schlüsselwort ist gewöhnlich »while« oder »do«, weshalb man auch von der While bzw. Do Schleife (engl …   Universal-Lexikon

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”