while-Schleife

Die meisten Algorithmen erfordern, dass gewisse Berechnungen wiederholt ausgeführt werden, bis eine bestimmte Bedingung eintritt. Man unterscheidet drei Arten von Schleifen. Die erste Art, die while-Schleife, wird in diesem Abschnitt behandelt.

Beispiel

Der Rechner soll von 10 rückwärts bis 0 zählen und dabei jedes Mal das Zeichen * ausgeben. Die Variablennamen i, j, k werden gerne für Zähler eingesetzt.

int main()
{
  int i=10;
  while(i>0){
   i=i-1;
   cout <<"*";
  }
  cout<<"\n Fertig";
  getch();
  return 0;
}

In der while-Schleife bestimmt die Laufbedingung - das ist der Ausdruck in der Klammer nach while - wielange die folgende Anweisung wiederholt wird. Der Wert des Ausdrucks wird vor der Abarbeitung der Anweisung überprüft. Daher kann es auch vorkommen, dass eine Schleife überhaupt nicht durchlaufen wird.

Syntax der while-Schleife

while(Ausdruck) //Schleifeneintrittsbedingung
 Anweisung;
 
while(Ausdruck){ //Schleifeneintrittsbedingung
 Anweisung1;
 Anweisung2;
 ...;
}

Beispiel 1

a) Schreibe ein Programm, welches die Zahlen von 1 bis zu einer Obergrenze n=30 aufsummiert, also die Summe sum = 1+2+3+4+…+30 berechnet.

b) Erweitere dein Programm so, dass der Benutzer selbst die Obergrenze n bestimmt.

Lösung

Beispiel 2

Schreibe ein Programm mit dem Namen „Noten“, das die erreichte Punkteanzahl bei der Mathematikschularbeit in eine Note umwandelt:

Gibt der Benutzer eine falsche Punkteanzahl an (> 48) soll er auf seine Falscheingabe hingewiesen werden.
Der Benutzer des Programms möchte nicht für jeden Schüler das Programm neu starten müssen. Überlege dir, wie du die Benutzerfreundlichkeit des Programms mit Hilfe von Schleifen erleichtern könntest.

Lösung

Aufgaben

Aufgabe 1

Schreibe ein Programm, dass den Quotienten bei ganzzahliger Division einer Zahl z durch eine Zahl d ermittelt. Dabei soll ein einer Schleife mitgezählt werden, wie oft sich d von z subtrahieren lässt.