TIA FOR Schleife

Mephisto

Level-2
Beiträge
242
Reaktionspunkte
12
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute!

Ich muss mich jetzt mit einer echt dämlichen Frage an euch wenden. Aber ich grüble grad an nem Problem und mein Kopf wird schwammig. Ich vergess die einfachsten Sachen:
Wenn ich eine For-Schleife habe, wir dann der Index der Schleife in jedem Programmzyklus erhöht oder erhöht die Schleife den Index bis zum Endwert und setzt dann mit der Programmbearbeitung fort?
Als Beispiel:
Code:
VAR
  a : int ;
  i : int ;
END_VAR

a := 0;
FOR i := 0 TO 4 DO
  a := a + 1;
END_FOR;
a := a + 10;
Was steht, wenn das Programm bis zur letzten Zeile durchgelaufen ist, in "a"? Steht da jetzt 11 oder 15? (Ich denke 15)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Gott Sei Dank!

Und ich dachte schon, ich bin schon komplett weich in der Birne. Jetzt hätt ich schon fast ein Armband mit Name und Adresse um mein Handgelenk gebraucht.
Danke!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Täusche ich mich, oder würde deine Schleife in diesem Fall einen Absturz erzeugen, weil die Schleife niemals endet?
Irgendwie vermisse ich die Stelle an der i hochgezählt wird.
Müsste es nicht wie folgt sein:

Code:
VAR
  a : int ;
  i : int ;
END_VAR

a := 0;
FOR i := 0 TO 4 DO
  a := a + 1;
  i := i + 1;
END_FOR;
a := a + 10;

oder

Code:
VAR
  a : int ;
  i : int ;
END_VAR

a := 0;
FOR i := 0 TO 4 BY 1 DO
  a := a + 1;
END_FOR;
a := a + 10;
 
Im SCL Editor wird, wenn keine Schrittweite angebeben ist, automatisch +1 gewählt (also BY 1).

Wenn du

Code:
VAR
  a : int ;
  i : int ;
END_VAR

a := 0;
FOR i := 0 TO 4 DO
  a := a + 1;
  i := i + 1;
END_FOR;
a := a + 10;

machst, dann würde die Laufvariable jedes mal um 2 erhöht werden.
 
Moin,
in der Siemens-Welt musst und sollst du dich nicht um den Schleifenzähler kümmern. Die FOR-Schleife inkrementiert oder decrementiert so wie man sie parametriert (z.B: by 1 oder by -1) am Ende der Schleife. Eine selbstständige Manipulation des Schleifenzählers dankt dir TIA mit einer Warnmeldung ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja ich würde da eher zu while oder repeat greifen, da ist man dann alleine der Herr.
Ja, aber auch alleine der Herr über sein eigenes Verderben. Bei FOR-Schleifen muss man ja schon aufpassen was man tut um keine Zykluszeitüberschreitung zu verursachen, aber bei WHILE und REPEAT Schleifen muss man noch genauer darauf achten was man tut, damit diese nicht zu Endlosschleifen werden.
 
Zurück
Oben