blikk info infothek forum galerie sitemap

Die Zählschleife

zur Aufgabenstellung

Warum zählergesteuerte Schleifen?

 

Man stelle sich ein Ratespiel vor, in dem der Spieler 10 Versuche hat die richtige Zahl zu raten. Oder aber ein Management-Programm, welches jede Kundendatei  durchläuft und die Anzahl der Treuejahre automatisch um eins erhöht.

Egal ob in einem Spiel oder einer Anwendung – oft gibt es Situationen, in denen bestimmte Quellcodeabschnitte eine bestimmte Anzahl mal wiederholt werden müssen, ohne jedes mal den gleichen Code eingeben zu müssen.

Hierfür eignen sich zählergesteuerte Schleifen, so genannte For-Schleifen – geradezu ideal.

 

 

 

Aufbau der for-Schleife:

 

Der Aufbau sieht folgendermaßen aus:

 

FOR Laufvariable := Startwert TO Endwert DO Anweisung(en);

 

Die Laufvariable (die so heißt, weil die Schleife an dieser Variablen „läuft“) muss zunächst deklariert werden (lokal oder global, sinnvoll ist es jedoch, sie nur lokal zu deklarieren, weil nur diese Schleife in dieser Prozedur die Variable mit dem Wert benötigt). An der Variablen werden nun alle Werte vom Start- bis zum Endwert hochgezählt. Deshalb eignet sich am besten die Variable für ganze Zahlen vom Typ Integer.

Der Laufvariablen muss vorher natürlich nicht per Hand ein statischer Wert zugeordnet werden, man kann ihn auch mittels Formeln ausrechnen, was die ganze Anwendung noch dynamischer macht. Auch könnte man in den Anweisungen auf die Laufvariable (wie auf alle dort gültigen Variablen) Einfluss nehmen, beispielsweise wenn der Benutzer im Ratespiel richtig getippt hat, wird die Variable auf den Endwert gesetzt und die Schleife somit verlassen (alternativ benutzt man hier die Prozedur 'break').

 

Wichtige Bemerkungen:

Falls der Endwert kleiner ist als der Startwert, wird die Schleife gar nicht durchlaufen.

Sind beide gleich, dann genau einmal.

 

 Ein Beispiel mit Erklärung:

 

 

procedure TForm1.Button1Click(Sender: TObject);

var i, j: Integer;

begin

j := 0;

FOR i := 1 TO 100 DO j := j + i;

label1.visible:=true;

Label1.caption:=('Die Summe der ersten 100 natürlichen Zahlen     ist ' + IntToStr(j));

end;

 

 

Wir betrachten das Beispiel eines kleinen Programms, das bei einem Klick auf den Button1 die Summe aller natürlichen Zahlen von 1 bis 100 ausgibt. Zunächst werden die Variablen i und j lokal (also nur in dieser Funktion gültig) als Integer deklariert (blau).

Dann wird der Variablen j der Wert Null zugeordnet.

Jetzt beginnt die eigentliche (ziemlich kurze) Schleife (rot): Der Laufvariablen i wird der Wert eins als Startwert zugeordnet, der Endwert beträgt im Beispiel 100 (wir zählen also von 1 bis 100).

 

Die Anweisung: Der Variablen j wird bei jedem Durchlauf der aktuelle Wert der Laufvariablen i hinzuaddiert. Hat i den Wert 100 erreicht wird die Schleife verlassen, das Ausgabelabel label1 wird sichtbar gemacht und mit Inhalt gefüllt. Da der Inhalt ein String ist, muss unser Ergebnis vom Typ Integer zum String umgewandelt werden mittels der Funktion IntToStr();

 

 

 

 

 

                                 (Andrea Loges,Stefanie Brecht, Jakob Thiessen)

 

 

nach oben
punkt   seitenbereich schließen

Programmier-sprachen

 

AS-Zählschleifen


CS-Lösungen für Zählschleifenaufgaben




Die Zählschleife in C#

Aufgabenstellung zur Wahrscheinlichkeitsüberprüfung beim Würfeln


Aufgabenstellung zur Berechnung von Quadrat, Kubus und Wurzel

Aufgabenstellung zum Würfelspiel