i

Zählschleife: for

Quadrat fahren mittels for-Schleife (Zählschleife)

Dieser Schleifentyp eignet sich besonders, wenn man die Anzahl an Wiederholungen im Vorfeld kennt, wie zum Beispiel: "Fahre ein Quadrat!". Der Roboter muss viermal eine Strecke zurücklegen und sich zwischenzeitlich immer um 90 Grad drehen.

Beispielszenario: Fahren eines Quadrats[1]

Im Flussdiagramm führt ein Pfeil (blau) entsprechend wieder zurück (vergleichbar mit einer Rückkopplung). Dabei ist dieser von einer Bedingung abghängig, dem Abbruchkriterium. Um die Anzahl an benötigten Wiederholungen mitzuprotokollieren und zu überprüfen, benutzt man eine Zählvariable (counter).

Flussdiagramm zur for-Schleife mit blau eingefaerbtem Rueckkopplungspfeil[2]

Die Methoden drehungX(..) und geradeausfahrt(dist) sind bereits bekannt, daher legen wir hier das Augenmerk auf die eigentliche Schleife.

...
public class ForSchleife
{
  ...
  public static void main(String[] args) 
  {  
    ...
    // for-Schleife
    for (int counter = 0; counter < 4; counter=counter+1)
    {
      geradeausfahrt(dist);
      drehungX(false, 90); 
    }    
  }  
  ... 
}

Der Aufbau einer for-Schleife folgt einer vorgeschriebenen Syntax. Im Rumpf der Schleife findet man eine Menge von (wiederholt) auszuführenden Anweisungen (hier drehungX(..) und geradeausfahrt(dist)). Die allgemeine Syntax besteht aus:

for Initialisierung Abbruchkriterium Schrittweite {Anweisungen}
for int counter=0 counter < 4 counter=counter+1 {...}

Erklärung:

for
Schlüsselwort zum Einleiten der for-Schleife
Initialisierung
Startwert(e) für die Zählvariable(n)
Abbruchkriterium
Bedingung(en) für das Ausführen des Schleifenrumpfs. Ist die Bedingung nicht (mehr) erfüllt, dann setzt das Programm in der nächsten Anweisung unterhalb der Schleife fort.
Schrittweite
Richtung (Hochzählen | Runterzählen) und Schrittweite (+1|+2|...) für nach jedem Schleifendurchlauf werden hier festgelegt.
{Anweisungen}
diese Menge von Anweisungen werden pro Schleifendurchlauf jeweils einmal ausgeführt.

Quellen

Suche

v
2.6.3.8.1
inf-schule.de/programmierung/robotik/lejoseinstieg/schleifen/zaehlschleife

Rückmeldung geben