Bräuchte Erklärung zu FOR-Schleife!

bastler

Level-1
Beiträge
254
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Kann mir jemand den folgenden Code genau erklären.
Wieso hat die Variable SUM einen Wert von 15, wenn FLAG=False, und
wieso hat die Variable SUM einen Wert von 6, wenn FLAG=True.
Eine einfache FOR-Schleife hab ich verstanden, aber hier seh ich den Wald vor lauter Bäumen nicht.

Code:
SUM:=0;
FOR I:=1 TO 3 DO
    FOR J:=1 TO 2 DO
        IF FLAG THEN EXIT;
        END_IF
            SUM:= SUM+J;
    END_FOR;
    SUM:=SUM+I;
END_FOR;

Danke schonmal für eure Hilfe.

MfG
bastler
 
[] <= J Schleife
() <= I Schleife
Flag = False: SUM = [0+1+2]+(1)+[1+2]+(2)+[1+2]+(3) = 15
Flag = True: SUM = (0+1+2+3) = 6

Wenn bei dir FLAG = True wird die J-Schleife immer sofort abgebrochen, die Addition in der Schleife findet also nicht statt.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wieso wird bei J bei jeden Durchlauf 1+2 gerechnet? Das raff ich einfach nicht,
bei I wird doch auch nur im ersten Durchlauf +1 im zweiten +2 im dritten +3 gerechnet.
 
Aber die J-FOR-Schleife wird bei jedem einzelnen Durchlauf der I-FOR-Schleife von Neuem ausgeführt, da sie sich innerhalb dieser befindet.

Sie wird also insgesamt 3x ausgeführt, die I-Schleife nur 1x.
 
Zurück
Oben