robotik:lektion1:14_schleifenzaehler [NwT am Albert-Einstein-Gymnasium Reutlingen]

Benutzer-Werkzeuge

Webseiten-Werkzeuge


robotik:lektion1:14_schleifenzaehler
 

14 Schleifen mit Schleifenzähler

Ein häufiger Anwendungsfall besteht darin, dass eine Schleife eine vorgegebene Anzahl an Durchläufen absolvieren soll. Dies wird an einem neuen Konsolenprogramm mit Namen Summe demonstriert. Bei diesem Programm soll der Anwender genau 8 Zahlen eingeben. Das Programm gibt nach der Eingabe aller Zahlen deren Summe aus. Der zugehörige Algorithmus ist in folgendem Flussdiagramm veranschaulicht:

Flussdiagramm für eine Schleife mit Schleifenzähler

In diesem Flussdiagramm steht die Variable x für die zuletzt eingegebene Zahl, die Variable s für die Summe und die Variable n für den sogenannten Schleifenzähler. In der Variablen n merkt sich das Programm, wie oft die Schleife bereits durchlaufen wurde. Vor Beginn der Schleife wird dem Schleifenzähler daher der Anfangswert 0 zugewiesen. Immer wenn während des Programmdurchlaufs der Schleifenblock ausgeführt wird, wird zunächst der Wert des Schleifenzählers um 1 erhöht. Dies geschieht mit der Anweisung n = n + 1. Solange die Schleifenbedingung n < 8 erfüllt ist, d.h. solange die Schleife noch nicht 8 mal durchlaufen wurde, wird die Schleife fortgesetzt. Hier ist eine mögliche Implementierung für den Algorithmus (mit etwas veränderten Variablennamen):

konsole.schreibeZeile("Bitte acht Zahlen eingeben.");
float summe = 0f;  // Tipp: Verwende kurze aber sprechende Variablennamen!
 
int n = 0;  // Der Schleifenzähler! Übliche Namen: n,m,i,j,k ...
do
{
    n = n + 1;  // Der Schleifenzähler wird um 1 erhöht.
 
    konsole.schreibe("Bitte die ");
    konsole.schreibe(n);
    konsole.schreibeZeile(". Zahl eingeben:");
    float eingabe = konsole.leseZahl();
    summe = summe + eingabe;
}
while (n < 8);
 
konsole.schreibe("Die Summe der eingegebenen Zahlen beträgt: ");
konsole.schreibeZeile(summe);


Tipp

Statt sich zunächst alle eingegebenen Zahlen zu merken und im Anschluss die Summe zu berechnen, wird in unserem Programm sofort nach jeder neuen Eingabe eine Auswertung vorgenommen, indem die eingegebenen Zahl zur Summe addiert wird. Dadurch benötigt man weniger Datenspeicher, und auch der Programmablauf wird einfacher. Daraus lässt sich eine Strategie für Algorithmen mit Schleifen ableiten:

  1. Überlege dir, welche Daten nach Beendigung der Schleife gewissermaßen deren Ergebnis bilden. Für solche Daten benötigst du in der Regel eine Variable. (Im Beispiel war dies die Summe aller Zahlen.)
  2. Nutze jeden Schleifendurchlauf, um sofort alle neuen Informationen auszuwerten und auf diese Weise unnötige Datenspeicher zu vermeiden. (Im Beispiel wurde die eingegebene Zahl sofort zur Summe hinzuaddiert, so dass man die eingegebene Zahl selbst nicht länger speichern musste.)

Aufgabe

Übersetze und teste das Programm. Ändere das Programm anschließend so ab, dass die Summe aus 15 statt aus 8 Zahlen berechnet wird.

 
robotik/lektion1/14_schleifenzaehler.txt · Zuletzt geändert: 2016/09/22 18:58 von gollnik