next up previous contents index
Nächste Seite: 4.6 Nichtabweisender Zyklus Aufwärts: 4. Kontrollstrukturen Vorherige Seite: 4.4 Der Zählzyklus   Inhalt   Index


4.5 Abweisender Zyklus (while-Schleife)

Beim abweisenden Zyklus steht die Anzahl der Durchläufe nicht a-priori fest, der Abbruchtest erfolgt vor dem Durchlauf eines Zyklus.

Die allgemeine Form ist

while (<logischer ausdruck>) 
  <anweisung>

Beispiel: Bestimme den aufgerundeten Binärlogarithmus (Basis 2) einer einzulesenden Zahl. (siehe Ex450.cc)

//         Example : Binary log. of a number
#include <iostream.h>
main()
{
 double x,xsave;
 int    cnt;
 
 cout << endl << " Eingabe x : " ;
 cin  >> x;
 xsave = x;                             // Save to restore x

 cnt = 0;                               // Initialize  cnt
 while ( x > 1.0 )
   {
     x   = x/2.0 ;
     cnt = cnt + 1;
   }
 cout << endl << "Binary log. of " << xsave 
                                   << " = " << cnt << endl;  
}

Struktogramm:
1403 Bemerkung: Falls der allererste Test im abweisenden Zyklus FALSE ergibt, dann wird der Anweisungsblock im Zyklusinneren nie ausgeführt (der Zyklus wird abgewiesen).



Gundolf Haase 2004-01-15