Schleifen

Inhalte

  • Kennenlernen der for -Schleife
  • Kennenlernen der while -Schleife

Vorraussetzung

Das Programmierkonstrukt „Schleifen“

Beim Programmieren kommt es oft vor, dass man bestimmte Befehle mehrmals hintereinander ausführten möchte. Diese Befehle einfach mehrmals hintereinander im Code anzuschreiben ist zwar eine legitime Möglichkeit, aber nicht sehr elegant.

Codebeispiel 1

In diesem Beispiel wird derselbe Code viermal hintereinander ausgeführt, wobei sich nur ein Parameter leicht ändert. Dies lässt sich z.B. mit einer for -Schleife viel kürzer anschreiben:

Die for-Schleife

Codebeispiel 2

Die Schleife hat einen Kopf  for(;;) und einen Körper (der Block, der auf den Schleifenkopf folgt, meistens mit geschwungenen Klammern umschlossen).

Betrachten wir zunächst den Körper. In ihm stehen dieselben Anweisungen wie im Codebeispiel 1, allerdings sind sie nur einmal angeführt. Geändert wurde nur der Wert, der im Codebeispiel 1 der Pin-Nummer entsprach und immer um 1 erhöht wurde. In der Schleife wurde der Wert mit einer Variable namens i  ersetzt ( i  ist ein beliebter Name für Zählvariablen. Die Variable könnte aber auch jeden anderen Namen bekommen).

Der Kopf der for -Schleife hat in der Klammer 3 Ausdrücke, die mit Semikolons voneinander getrennt sind und sich wiefolgt lesen lassen:

for(i=10; i<14; i++)

  • i=10  (Initialisierung):Bevor die Schleife zum ersten Mal ausgeführt wird, bekommt die Variable i  den Wert 10 zugewiesen.
  • i<14  (Test): Vor jedem Ausführen der Schleifenkörpers wird überprüft, ob der Testausdruck positiv (true) oder negativ (false) ist. Hier wird ein Vergleich angestellt, der sich so liest: „Ist der aktuelle Wert der Variable i kleiner als 14?“. Ist der Test true, wird der Schleifenkörper ausgeführt. Ist der Test false, wird die Ausführung der Schleife abgebrochen.
  • i++  (Fortsetzung): Dieser Ausdruck wird nach jeder Ausführung des Körpers ausgeführt. i++  ist eine Kurzform für den Ausdruck: „Erhöhe i  um eins“ (also i=i+1 ). Man erkennt also, dass die Variable i  mit jeder Ausführung weiter erhöht wird. Dadurch wird der Test irgendwann einmal zu false evaluieren und die Schleife abgebrochen

[FILM Erklärung der Schleife].

Hier der gesamte Codes des Programms.

Die for-Schleife wird in diesem Code zweimal eingesetzt: Einmal in der Setup-Prozedur und einmal in der loop-Prozedur.

Beachte: Die for-Schleife in der Setup-Prozedur hat einen Körper, der nur aus einer einzigen Anweisung besteht. Es ist daher nicht notwendig den Körper mit geschwungenen Klammern zu umschließen. Lediglich ein Semikolon am Ende der Anweisung wird benötigt, um den Ausdruck zu beenden.

Die while -Schleife

In der Programmiersprache C gibt es ein Sprachkonstrukt um eine Schleife zu erzeugen – die while-Schleife:

Der Schleifenkopf der while-Schleife beinhaltete nur einen Test, der zu true  oder false  evaluiert. Im Falle von true wird der Schleifenkörper ausgeführt und dann der Test erneut vorgenommen (die Durchführung startet also von vorne). Im Falle eines negativen Tests wird die Schleife abgebrochen und nicht mehr ausgeführt.

 

Zusammenfassung

  • Die for -Schleife eignet sich sehr gut um Anweisungen eine definierte Anzahl von Malen auszuführen. Man verwendet hierfür meistens eine Zählvariable (oft hat diese den Namen i ). Vor jeder Schleifenausführung wird geprüft, ob ein Test erfüllt wird. Bei negativen Ergebnis wird die Schleife abgebrochen.
  • Die while -Schleife führt vor jeder Durchführung einen Test durch. Nur wenn der Test zu true evaluiert, wird die Schleife ausgeführt.
  • Der Ausdruck variable++  bedeutet, dass variable  um den Wert 1 erhöht wird.

Aufgabe

  • [eCampus TEST: for-Schleifen]
  • Programmierung einer K.I.T.T. Light Bar
    • Bauen Sie eine Schaltung aus 8 LEDs auf, die mit den digitalen Pins verbunden sind (sie brauchen hierfür ausnahmsweise keine Vorwiderstände verwenden).
    • Programmieren Sie unter Verwendung einer for -Schleife ein Programm, das ähnlich der K.I.T.T. Light Bar aussieht.
    • Programmieren Sie nun dasselbe unter Verwendung einer while -Schleife

Weitere Infos

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.