Lektion 14:

do-Schleife

 Es gibt Schleifen, die auf jeden Fall mindestens einmal ausgeführt werden sollen. So bei diesem Programm, das die Summe von Zahlen berechnet, die der Benutzer eingibt.

#include <iostream.h>
void main()
{
   int eingabe;
   int summe=0;
   do
   {
      cout<<"Bitte geben Sie eine Zahl ein: ";
      cin>>eingabe;
      summe=summe+eingabe;
   }while(eingabe!=0);
   cout<<"Die Summe dieser Zahlen ist: "<<summe<<endl;
};

Eine while-, for-, oder do-Schleife kann man jederzeit mit dem Befehl break beenden. Mit dem Befehl continue springt man direkt an das Ende des Blocks.

Übung:

 Jede natürliche Zahl läßt sich mindestens durch 1 und durch sich selbst ohne Rest teilen. Eine natürliche Zahl ist genau dann eine Primzahl, wenn sie außer diesen beiden Teilern keine anderen mehr hat. Die ersten Primzahlen sind: 2, 3, 5, 7, 11, 13, 17.

Schreiben Sie ein Programm, das die Primzahlen bis 100 ausgibt. Schreiben Sie dazu folgende Funktion:

bool istPrim(int kandidat)

Diese Funktion soll einfach alle Zahlen von 2 bis kandidat-1 als Teiler ausprobieren. Wenn der Primzahlenkandidat ohne Rest (verwenden Sie also den Modulo-Operator) durch den Teiler geteilt werden kann, dann ist es keine Primzahl. Wenn die Schleife ganz durchlaufen worden ist, ohne einen Teiler zu finden, dann ist es eine Primzahl. Überlegen Sie, ob Sie break oder continue einsetzen könnten!

Einsendungen:

Lösungsvorschlag


Falls Ihnen Fehler im Text auffallen oder Sie Verbesserungsvorschläge haben, dann schicken Sie mir bitte eine Mail. Ich werde mich dann sofort darum kümmern.
[aktuelle Version] [inhalt] [index]      [Fehlerkorrektur, Verbesserungsvorschlag]

© Volkard Henkel <volkard@normannia.de>, last update: 08/25/00