Java-Turtle - Verzweigungen
Aus ProgrammingWiki
Einseitige Verzweigung mit IF-THEN
Hier muss sich der Turtle entscheiden (Verzweigung):
Er geht 20 mal 10 Schritte voran, ist bei den 20 Wiederholungen für die Laufvariable i eine gerade Zahl erreicht, dann wird der Stift gehoben und 10 Schritte ohne Zeichnen vorwärts gegangen
* turtle.left(90); |
Mit IF-THEN-Blöcken (einseitige Verzweigungen) können Anweisungen nur bei bestimmten Bedingungen ausgeführt werden
Erklärung der Anweisungen:
- turtle.left(90); - Blickrichtung Turtle ist links
- for (int i = 1; i <= 21; i++ ) Zählschleife, wiederholt folgenden Anweisungen 20 mal:
- turtle.penDown(); - Absetzen des Stiftes zum Zeichnen
- if (i % 2 == 0) - Start der einseitigen Verzweigung: % - Modula-Operation - untersucht den ganzzahligen Divisionsrest, ist dieser gleich 0, also eine gerade Zahl, dann wird der Anweisungsblock der JA-Verzweigung (THEN) ausgeführt, hier:
- turtle.penUp()
- turtle.forward(10); - Anschließend läuft der Turtle 10 Schritte, bei gerader Laufvariable i wird keine Linie gezeichnet (turtle.penUp())
Zweiseitige Verzweigung mit IF-THEN-ELSE
Der Turtle läuft Zick-Zack (zweiseitige Verzweigung):
der Turtel schaut 45° nach links
Er geht 20 mal 10 Schritte voran, ist bei den 20 Wiederholungen für die Laufvariable i eine gerade Zahl erreicht (IF-THEN-Zweig), dann schaut der Turtle 90° nach rechts, ansonsten 90° nach links (ELSE-Zweig), in der gewählten Richtung geht der Turtle 10 Schritte vorwärts
* turtle.left(45); |
Mit IF-THEN-ELSE-Blöcken (zweiseitige Verzweigungen) können Anweisungen in zwei verschiedene Wege verzweigt werden
Erklärung der Anweisungen:
- turtle.left(45); - Blickrichtung Turtle ist 45° links
- for (int i = 1; i <= 21; i++ ) Zählschleife, wiederholt folgenden Anweisungen 20 mal:
- if (i % 2 == 0) - Start der zweiseitigen Verzweigung: % - Modula-Operation - untersucht den ganzzahligen Divisionsrest, ist dieser gleich 0, also eine gerade Zahl, dann wird der Anweisungsblock der Ja-Verzweigung (THEN) ausgeführt, hier:
- turtle.right(90)()
- Ist der Divisionsrest ungleich 0, also eine ungerade Zahl, dann wird die NEIN-Anweisung (ELSE) ausgeführt:
- turtle.left(90)()
- turtle.forward(10); - Anschließend läuft der Turtle 10 Schritte in der gewählten Richtung vorwärts