While-Schleife

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 abgearbeitet wird. Es kann also auch sein, dass die Abfolge gar nicht ausgeführt wird. Wenn die Bedingung ständig erfüllt ist, dann wird die Schleife zur Endlosschleife. Wenn deutsche Befehlsworte gewählt werden, dann heißt die While-Schleife meist Solange-Schleife.

Neben der gebräuchlicheren anfangsprüfenden gibt es in vielen Sprachen auch die endprüfende While-Schleife (Do-while-Schleife). Mit dieser lässt sich die mindestens einmalige Ausführung des eingeschlossenen Code-Blocks erzwingen.

Die While-Schleife verwendet man normalerweise bei dynamischen Abbruchbedingungen, die For-Schleife meistens, wenn man vorher definiert wie viele Durchläufe die Schleife hat. Zum Beispiel würde man für die Berechnung der Fakultät einer Zahl vorzugsweise die For-Schleife anwenden. Analog zu anderen Schleifenkonstrukten bieten viele Sprachen die Möglichkeit, eine While-Schleife per explizitem Befehl, d. h. ohne weitere Prüfung, zu verlassen (Break-Befehl).

While-Schleifen spielen auch in der theoretischen Informatik im Teilgebiet der Berechenbarkeitstheorie eine Rolle, siehe WHILE-Programm.

Inhaltsverzeichnis

Beispiele

In BASIC (hier: Visual Basic)

' < dieses Symbol leitet einen auskommentierten Text ein (z.B. für eine Beschreibung einer Zeile)
 
Dim Fakultaet As Long                    'Variable mit dem Namen 'Fakultaet' und dem Typus 'Long' erzeugen
Dim Zaehler As Long                      'Variable mit dem Namen 'Zaehler' und dem Typus 'Long' erzeugen
 
Fakultaet = 1                            'Startwert für diese Variable festlegen
Zaehler = 5                              'Startwert für diese Variable festlegen
 
Do While Zaehler > 0                     'Schleifenparameter festlegen. Do ... Loop Schleife, mit Randbedingung: Die 'Zaehler'Variable muss über 0 sein, sonst muss die Schleife verlassen werden
       Fakultaet = Fakultaet * Zaehler   'Den Wert der Variable 'Fakultaet' mit dem Wert der Variable 'Zaehler' Multiplizieren und in 'Fakultaet' schreiben
       Zaehler = Zaehler - 1             'Der Variable 'Zaehler' einen Wert 1 abziehen.
Loop                                     'Zurück zum Schleifenbeginn
 
Msgbox Fakultaet                         'gib den Wert der Variable 'Fakultaet' in einer Dialogbox aus.

In Lua

  i = 1
  zaehler = 5
 
  while zaehler > 0 do
    i = i*zaehler
    zaehler = zaehler-1
  end

do-while gibt es in LUA nicht, dafür repeat-until

In Pascal (Delphi)

  Program Fakultas;
  var
    Zaehler  : Integer;       // Laufvariable 2..Fakultaet;
    Fakultaet: LongInt;       // Ergebnisvariable
  begin
    Fakultaet := 1;           // Startwert setzen
    Zaehler   := 5;
    While Zaehler > 1 do      // Durchläuft 5, 4, 3, 2
    Begin
      Fakultaet := Fakultaet * Zaehler; // multipliziere Fakultät mit Zaehler, 4, .., 2 
      Zaehler   := Zaehler - 1;
    End;
    writeln(Fakultaet);       // Ausgabe der berechneten Fakultät
  end.

In C

 #include <stdio.h>
 int main(void)
 {
     int zaehler=5, fakultaet=1;
     while(zaehler > 1)
     {
         fakultaet *= zaehler--;
     }
     printf("%d\n", fakultaet);
     return 0;
 }

In Tcl (Tool command language)

  set zaehler 5
  set fakultaet 1
  while {$zaehler > 0} {
       set fakultaet [expr $fakultaet * $zaehler ]
           incr zaehler -1
  }
  puts $fakultaet

In PHP

  $zaehler=5;
  $fakultaet=1;
  while ($zaehler > 1) {
      $fakultaet*=$zaehler;
      $zaehler--;
  }
  echo $fakultaet;

In Perl

  $zaehler=5;
  $fakultaet=1;
  while ($zaehler > 1) {
      $fakultaet*=$zaehler;
      $zaehler--;
  }
  print $fakultaet;

In Python

  zaehler = 5
  fakultaet = 1
  while zaehler > 1:
      fakultaet *= zaehler
      zaehler -= 1  
  print fakultaet

In JavaScript

  var zaehler=5;
  var fakultaet=1;
  while (zaehler > 1) {
      fakultaet*=zaehler;
      zaehler--;
  }
  window.alert(fakultaet);

In Java

  public int fakultaet(int zaehler)
  {
      int fakultaet=1;
      while (zaehler > 1) {
          fakultaet*=zaehler;
          zaehler--;
      }
      return fakultaet;}
  }

In MSL mIRC Scripting Language (Internet Relay Chat Client)

  var %fakultaet = 1, %zaehler 5
  while (%fakultaet <= %zaehler) {
    echo -a %fakultaet
    inc %fakultaet
  }

In PL/SQL (Procedural Language/SQL)

 PROCEDURE name
 IS
   fakultaet NUMBER := 1;
   zaehler   NUMBER := 5;
 BEGIN
   WHILE zaehler > 1 LOOP
     fakultaet := fakultaet * zaehler;
     zaehler := zaehler - 1;
   END LOOP;
   DBMS_OUTPUT.put_line(fakultaet);
 END name;

In ABAP

DATA DEB TYPE I.

WHILE DEB = 0.
...
ENDWHILE.

Siehe auch


Wikimedia Foundation.

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

  • 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… …   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”