Zählschleifen

Lauflichter findet man inzwischen überall in unserer Welt: An den Rändern von Landebahnen an Flughäfen, an Spieleautomaten, aufdringlichen Werbeschildern, als Blinker von modernen Autos und vieles mehr. Wenn man diese programmieren will, eignen sich dazu am besten Zählschleifen.

Zählschleifen verstehen

Beispiel einer Zählschleife
Beispiel einer Zählschleife.

Das oben abgebildete Programm enthält in der Endlosschleife eine Zählschleife zur Steuerung der LED-Matrix auf dem Calliope. Stelle eine Vermutung an, was die Zählschleife bewirkt.

Überprüfe deine Vermutung mit Hilfe einer Trace-Tabelle (siehe unten).

Trace-Tabellen

Trace-Tabellen stellen den Wert von Variablen beim Durchlaufen des Programms dar. Auf diese Art und Weise kann man sich zum Beispiel genau veranschaulichen, wann Schleifen abgebrochen werden.

Zeile i
5 2
6 2
5 3
6 3

Auto-Blinker

An dieser Stelle ist ein Video von Youtube eingebettet. Mit deiner Erlaubnis willigst du ein, dass deine Daten an YouTube in den USA übermittelt werden. Weitere Informationen zur Datenverarbeitung von YouTube findest du in der Datenschutzerklärung von YouTube.

Programmiere ein Lauflicht so, wie es auch als Blinker in modernen Autos genutzt wird. Nutze dazu eine Reihe der LED-Matrix.

La - o - La

Programmiere ein Lauflicht, das hin- und zurückläuft.

Steuerung von Schleifen

Unten siehst du zwei Programme mit Zählschleifen zur Steuerung der LED-Matrix. Darunter siehst du die Wirkung der Programme in einem kurzen Video.

Beschreibe die Wirkung von Die Schleife abbrechen und mit der nächsten Iteration der Schleife fortfahren.

Beispiel für 'break'.
Schleife abbrechen.
Beispiel für 'continue'.
Schleife fortfahren.

Matrixlauf

Programmiere ein Lauflicht, das die ganze LED-Matrix Spalte für Spalte durchläuft.

Tipp: Du brauchst zwei Zählschleifen.

Blinkmuster für Profis

Programmiere die folgenden zwei Blinkmuster.

Sichtbarkeit: Lokale und globale Variablen

Ein Unterschied zwischen den Schleifenimplementierungen bleibt bestehen: Die Zählvariable i wird bei einer Zählschleife als lokale Variable angelegt, das heißt, man kann die Zählvariable nur innerhalb der Schleife nutzen. Dafür benötigt sie auch nur innerhalb der Schleife Speicherplatz.

Im Gegensatz dazu sind die unter Start angelegten Variablen überall im Programm bzw. global verfügbar und heißen deshalb globale Variablen. Für diese Variablen muss während der ganzen Zeit Speicherplatz bereitgehalten werden, auch wenn sie vielleicht nur an einer Stelle wirklich benötigt werden.

Zusammenfassung: Schleifen

Bei der Programmierung werden häufig Schleifen genutzt, die die Anweisungen in ihrem Rumpf (oder Körper) solange wiederholen, bis eine gewisse Abbruchbedingung eintritt.

  • wiederhole x mal: Einfache Zählschleife, die die Anweisungen im Rumpf für eine festgelegte Anzahl wiederholt.
  • wiederhole, bis: Bedingungsgesteuerte Schleife, die die Anweisungen im Rumpf wiederholt, bis die Bedingung wahr ergibt.
  • wiederhole, solange: Bedingungsgesteuerte Schleife, die die Anweisungen im Rumpf wiederholt, solange die Bedingung wahr ergibt.
  • zähle i von … solange Zähler … mit Schrittweite …: Zählergesteuerte Schleife, die die Anweisungen im Rumpf wiederholt, solange der Zähler kleiner als eine vorgegebene Zahl ist und die Zählervariable nach jedem Durchlauf um eine angegebene Zahl erhöht.

Die Überprüfung, ob die Bedingung wahr ist, erfolgt hier vor der Ausführung der Anweisungen im Rumpf. Daher nennt man die Schleifen auch kopfgesteuert.