Praktische Anwendungen von Schleifen (DO-WHILE, WHILE oder FOR)

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?

Beispiel:

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);
}