Huelsse/Profil Nawi/Java/Java-Turtle - Verzweigungen

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
'''Java Turtle - Verzweigung'''
----

{|
 |-
 | Hier muss sich der Turtle entscheiden (Verzweigung):<BR>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);<BR>*   for (int i = 1; i < 21; i++)<BR>*   {<BR>*      turtle.penDown();<BR>*      if (i % 2 == 0)<BR>*        { turtle.penUp();  }<BR>*<BR>*      turtle.forward(10);<BR>*    }
 || [[Bild:Koehler_Turtle4_Strichlinie.jpg]] 
 |}

Mit IF-Blöcken (einseitige Verzweigungen) können Annweisungen nur bei bestimmten Bedingungen ausgeführt werden<BR>
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 Einseitgen Verzweigung: % - Modula-Operation - untersucht den gangzahligen Divisionsrest, ist dieser gleich 0, also eine gerade Zahl, dann wird der Anweisungsblock der Verzweigung ausgeführt, hier:
* turtle.penUp()
* turtle.forward(10); -  Anschließend läuft der Turtle 10 Schritte, bei gerader Laufvariable i wird keine Linie gezeichent (turtle.penUp())


{| border="1"
 |-
 | Struktogramm || Java Quelltext || Pascal Quelltext  
 |-
 | [[Bild:Koehler_STRICHLINIE.png]] || turtle.left(90);<BR> for (int i = 1; i <= 21; i++ )<br> {<BR>   turtle.penDown(); <BR> if (i % 2 == 0)<BR>  {  turtle.penUp(); }<BR> turtle.forward(20); <BR> }<BR>  || turtle.left(90); <BR> begin <BR>  for i := 1 to 20 do <BR>  begin <BR>   turtle_penDown();<BR>    IF ( i mod 2 = 0 );<BR>     turtle_penUp(); <BR> end; <BR> turtle_forward(10); <BR>  
|}
<BR>
Erstellen Sie die obere Turtle-Grafik "geschachtelte Quadrate" mit 2 Zählschleifen:
* <span style="background-color:#80ff80">1. Äußere Schleife: </span>ruft das Zeichnen eines Quadrates dreimal auf, erhöht anschließend die Schrittweite  
* <span style="background-color:#FFFF80">2. Innere Schleife: </span> Zeichnet das Quadrat mit der gewünschten Seitenlänge s
* Startschrittweite für s: 50
* Startposition: Canvasmitte

{|- 
 |- 
 | '''geschachtelte Quadrate: 50, 75, 100'''        ||  
 |- 
 | <run id="4dd0206ebbf2b">
canvas.clear();
turtle.home();
turtle.penDown();


</run> 
|| <canvas>
 </canvas>

 |}