Arduino Programmierung: Schleifen

Möchte man einen bestimmten Abschnitt im Quellcode mehrfach wiederholen so verwendet man Schleifen.

In diesem Tutorial schreibe ich den Code in der DEV-C++ IDE, da der Microcontroller mit C bzw. C++ teilen programmiert wird. Dieses hat den Vorteil das man den Quellcode nicht extra hochladen muss um es dann zu testen.

Ohne Schleifen

Ohne Schleifen würde man den Code wiederholen und hätte somit einen unübersichtlichen, langen Quellcode.

Ausgabe des Quellcodes

Ausgabe auf der Konsole
Ausgabe auf der Konsole

Schreiben wir also nun den Code um so das die Ausgabe gleich bleibt aber mit einer Schleife.

Zählschleife

Im oberen Beispiel habe ich die „for“ Zählschleife verwendet. Im Kopf der For-Schleife wird ein Datentyp mit einem initialen Wert deklariert, darauf folgt eine Bedingung und nach einem weiteren Semikolon die Reinitialisierung d.h. der Schleifenvariablen wird ein neuer Wert zugeordnet. Die Variable im Kopfbereich der For-Schleife wird nach der schließenden geschweiften Klammer der For-Schleife verworfen.

Aufwärts zählen

Möchte man Aufwärts zählen so muss der initiale Wert kleiner sein als der „Zielwert“ bei der Reinitialisierung wird der Wert incrementiert d.h. hinaufgezählt.
Das hinaufzählen kann mit „<Variablenname>++“ erfolgen oder aber man erzeugt größere Schritte mit „<Variablenname> += 2“.

Abwärts zählen

Möchte man abwärts zählen so muss der initiale Wert größer sein als der „Zielwert“bei der Reinitialisierung wird der Wert dann dekrementiert d.h. verringert.

Neben Zählschleifen gibt es noch die  Kopfgesteuerteschleife und die Fußgesteuerteschleife.

Kopfgesteuerteschleifen & Fußgesteuerteschleifen

Bei Kopfgesteuertenschleifen steht die Bedingung im Kopf und bei Fußgesteuerteschleifen im Fußbereich der Schleife.  Wozu also nun zwei verschiedene Schleifen? Man könnte doch alles mit einer lösen? Oder doch nicht? In einer Kopfgesteuertenschleife wird die Bedingung im Kopfbereich gepüft, d.h. wenn die Bedingung am Anfang FALSCH ist wird die Bedingung nicht ausgeführt anders sieht es bei einer Fußgesteuertenschleife aus. Die Fußgesteuerteschleife wird ausgeführt und dann die Bedingung geprüft.

Kopfgesteuerteschleife

Zu den Kopfgesteuertenschleifen zählt die While-Schleife.

While-Schleife

Als Bedinung muss ein Resultat eines booleaschen Ausdrucks stehen. Des Weiteren darf man in der Schleife nicht vergessen die Variable zu verändern da sonst die Schleife nie verlassen wird.

Fußgesteuerteschleife

In der Fußgesteuertenschleife steht die Bedingung am Ende der Schleife d.h. diese wird min. 1x ausgeführt.

Wenn also die Bedingung von Anfang an FALSCH ist wird die Schleife trotzdem ausgeführt.

Quellcode und Ausgabe der Do-While Schleife
Quellcode und Ausgabe der Do-While Schleife

Verlassen einer Schleife

Es gibt zwei Arten eine Schleife zu verlassen, einmal ist es die Ausführung zu beenden, d.h. die Bedingung muss WAHR sein, oder aber man bricht die Bedingung mit dem Schlüsselwort „break“ ab.

Wenn die Variable den Wert 6 einnimmt dann wird die Schleife abgebrochen.

Schleifenabbruch mit "break"
Schleifenabbruch mit „break“

Überspringen eines Schrittes innerhalb einer Schleife

Wie man eine Schleife abbricht, habe ich bereits erläutert. Nun möchte ich zeigen wie man einen Schritt überspringen kann. Überspringen heißt hier das einer bzw. mehrere Schritte nicht in der Schleife weiter abgearbeitet werden. Dazu wird das Schlüsselwort „continue“ verwendet.

Alles was vor dem Schlüsselwort steht wird abgearbeitet jedoch alles danach wird übersprungen.

Wenn man den oben stehenden Quellcode ausführt so erkennt man das „der Schritt 6“ übersprungen wird.

Überspringen eines Schrittes in einer Schleife - Ausgabe auf der Konsole
Überspringen eines Schrittes in einer Schleife – Ausgabe auf der Konsole

 

Verwandte Beiträge

Ersten Kommentar schreiben

Antworten

Deine E-Mail-Adresse wird nicht veröffentlicht.


*