Praktische Anwendungen von Schleifen (DO-WHILE, WHILE oder FOR)
Ich programmiere verschiedene Anwendungen mit dem ESP32 unter Verwendung unterschiedlicher Schleifen und möchte wissen, welche praktischen Einsatzmöglichkeiten euch einfallen?
2 Antworten
Du suchst ja die praktische Anwendung der Schleife - ich versuchs mal
--- DO-WHILE ---
- umgangssprachlich "schwanzgesteuert" weil die Abbruchbedingung erst nach dem ersten Durchlauf geprüft wird
- die Schleife läuft mindestens einmal (bis die Abbruchbedingung erfüllt ist)
do {
irgendwas();
} while (not ready);
*** WHILE-DO ---
- umgangssprachlich "kopfgesteuert" weil die Abbruchbedingung vor dem ersten Durchlauf geprüft wird
- läuft bis die Abbruchbedingung erfüllt ist, aber ggf auch gar nicht
while(not ready) {
irgendwas();
}
*** FOR ***
- gezählte Wiederholung
- ob der Zähler automatisch läuft oder ob bzw. wie man die Bedingungen angibt, hängt von der Programmiersprache ab
- bricht ab, wenn der Zähler die End-Bedingung erfüllt
for(zähler=1;zähler <10;zähler++) {
irgendwas(zähler);
}
*** FOR-Missbrauch (meiner Meinung nach) ***
- läuft mindestens einmal durch
- läuft ohne Abbruchbedingung - die muss man programmieren
- hat keinen sinnvollen Zähler
- finde ich nicht gut
for(;;) {
irgendwas(sinnloses);
if(ready) { break; }
}
könnte man auch machen mit
#define TRUE (1=1)
while( TRUE ) {
irgendwas();
}
War es das, was du gemeint hast?
Lassen Sie eine LED blinken, solange ein Taster betätigt wird
Schleifenform: WHILE
Begründung: Die LED soll dauerhaft blinken, solange der Taster gedrückt wird. Eine WHILE-Schleife eignet sich hierfür, da sie die Bedingung fortlaufend überprüft.
while (digitalRead(tasterPin) == LOW) {
digitalWrite(ledPin, HIGH);
delay(500);
digitalWrite(ledPin, LOW);
delay(500);
}