Siemens Anzeige KP300


Google-Suche auf MEINE-SCHALTUNG.de :





Dauerkalender


Arduino - Goto / Break / Continue

goto

Mit der Anweisung goto bekommen wir ein weiteres Mittel für die Ablaufsteuerung eines Programms. Goto führt einen Programmsprung aus und setzt das Programm an einer markierten Stelle fort. Ein Beispiel für Verwendung von goto ist z.B. das Ausbrechen aus einer For-Schlaufe. Die Verwendung von goto ist sehr einfach. Der Befehl beinhaltet ein Sprungziel, eine Sprungmarke, und, sobald die entsprechende Bedingung erfüllt ist, verzweigt das Programm dorthin. Die Sprungmarke wird durch einen Doppelpunkt gekennzeichnet. Damit kann man ein Programm an einer beliebigen Stelle fortsetzen. Beispiel:


  // ----------------------------------------------------------
  // goto - Anweisung


  int a, b, c, d;

  void setup() {
    Serial.begin(9600);
  }

  void loop() {
    for (a = 1; a < 500; a++) {
      for (b = 1; b < 1000; b++) {
        for (c = 1; c < 1500; c++) {
          if (analogRead(2) > 100) {
            goto Meine_Sprungmarke;
          }
        }
      }
    }
    Meine_Sprungmarke:
    d = a + b + c;
    Serial.println ("Goto wurde ausgeführt");
  }

  // ----------------------------------------------------------

Goto ist eine breit diskutierte Anweisung, und das seit Jahren. Der Befehl taucht praktisch in allen Programmierungssprachen auf und sorgte schon immer für Aufregung und Kontroverse. Von vielen befürwortet, hat goto auch eine breite und robuste Gegnerschaft. Es gab sogar Stimmen, die gefordert haben, goto ganz abzuschaffen und aus allen Programmierungssprachen zu verbannen.
Dafür kann der Befehl selbst nichts. Auf die Verwendung kommt es an. Angemessen verwendet kann goto durchaus gute Dienste leisten und den Programmcode vereinfachen. Es kann allerdings als eine unbestrittene Tatsache angesehen werden, dass die breite Verwendung des Befehls zu einer sehr großen Unübersichtlichkeit des Programms führen kann. Bleibt man mit seiner Programmierung in der gemütlichen Bastler-Ecke, ist gegen goto nur wenig einzuwenden. Bei großen und umfangreichen Programmierungsprojekten, die dazu noch den Anspruch auf Professionalität erheben möchten, ist jedoch von goto dringend abzuraten.

break

Die Anweisung break kennen wir bereits von der switch-Anweisung. Doch der Befehl kann auch innerhalb von Schleifen angewendet werden. Die Funktionalität ist hier ähnlich zu der switch-case-Anweisung. Sobald das Programm innerhalb einer Schleife auf break stößt, wird die Schleife sofort verlassen und bei der darauffolgenden Anweisung fortgesetzt. Haben wir es mit verschachtelten Schleifen zu tun, so wird nur diejenige Schleife verlassen, in der die Anweisung steht. Break wird in dem meisten Fällen zusammen mit einer If-Abfrage eingesetzt.

continue

Continue stellt sozusagen das Gegenstück zu der Anweisung break dar. Wo break den Abbruch einer Schleife an einer bestimmten Stelle bewirkt, setzt continue den Ablauf fort. Die Anweisung continue, anders als break, wird nur für die Steuerung von Schleifen angewendet. Sobald in einer Schleife der Befehl continue auftaucht, werden die folgenden Anweisungen übersprungen, aber die Schleife selbst nicht verlassen. Das Programm kehrt zu der Schleife-Anweisung zurück und setzt diese fort. Auch die continue-Anweisung wird meist mit einer If-Anweisung verwendet.


  // ----------------------------------------------------------
  // continue - Anweisung


  int a;

  void setup() {
    Serial.begin(9600);
  }

  void loop() {
    for (a = 1; a < 6; a++) {
      if (a == 3) {
        continue;
      }
      Serial.print (" ");
      Serial.print (a);
    }
    Serial.println ();
  }

  // Ausgabe: 1 2 4 5
  // ----------------------------------------------------------


Arduino_Programmierung




Google-Suche auf MEINE-SCHALTUNG.de :


Eine Ventilinsel Festo

Home Impressum Datenschutz