Huelsse/Profil Nawi/Java/Java-Turtle - Mehrfachverzweigungen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
'''Java Turtle - Mehrfachverzweigung SWITCH'''
----
Statt mehrerer IF-Anweisungen, können Mehrfachverzweigungen genutzt werden:<BR>
Der Turtle geht 20 mal 10 Schritte voran, dabei wird bei den 20 Wiederholungen eine die Laufvariable i benutzt<br>
zusätzlich wird eine zweite Variable k (kann Werte zwischen 1 und 4 annehmen) genutzt, ist i durch 4 teilbar, wird k wieder auf 1 gesetzt und bei jedem Schleifendurchlauf um 1 erhöht<BR>
ist die Laufvariable k durch 1 teilbar, dann werden 10 Schritte in rot gezeichnet, <BR>
ist die Laufvariable k durch 2 teilbar, dann werden 10 Schritte in grün gezeichnet, <br>
ist die Laufvariable k durch 2 teilbar, dann werden 10 Schritte in blau gezeichnet, <br>
ist die Laufvariable k durch 2 teilbar, dann werden 10 Schritte in schwarz gezeichnet, <br>
{|
|-
|
* turtle.left(90);
* int k = 1;
* for (int i = 1; i < 21; i++)
* {
* switch(k)
* {
* case 1: <BR>* { turtle.penColor(255,0,0); break;}
* case 2: <BR>* { turtle.penColor(0,255,0); break;}
* case 3: <BR>* { turtle.penColor(0,0,255); break;}
* case 4: <BR>* { turtle.penColor(0,0,0); break;}
* }
* turtle.forward(10);
* k++;
* if (i % 4 == 0)
* { k =1; }
* }
|| [[Bild:Koehler_Turtle5_bunte_linie.jpg]]
|}
Mit SWITCH-Blöcken (mehrseitige Verzweigungen) können Anweisungen nur bei bestimmten Bedingungen ausgeführt werden<BR>
Erklärung der Anweisungen:
* turtle.left(90); - Blickrichtung Turtle ist links
* int k = 1; - Wert für 2. Variable k wird mit 1 festgelegt
* <span style="background-color:#80ff80">for (int i = 1; i <= 21; i++ )</span> Zählschleife, wiederholt folgenden Anweisungen 20 mal:
* <span style="background-color:#ffff80"> switch k </span> - Start der mehrseitigen Verzweigung, unterschieden wird nach dem Inhalt der Variablen k
* <span style="background-color:#ffff80">case 1: { turtle.penColor(255,0,0); break;} </span>
* <span style="background-color:#ffff80">case 2: { turtle.penColor(0,255,0); break;} </span>
* <span style="background-color:#ffff80">case 3: { turtle.penColor(0,0,255); break;} </span>
* <span style="background-color:#ffff80">case 4: { turtle.penColor(0,0,0); break;} </span>
* turtle.forward(10); - Anschließend läuft der Turtle 10 Schritte
* k++ - Der Inhalt der Variablen k wird um 1 erhöht
* if (i % 4 == 0) { k =1; } - wenn die Laufvariable i bei den 20 Durchläufen durch 4 teilbar ist, wird k wieder auf 1 zurückgesetzt
* k kann nur Werte zwischen 1 und 4 annehmen
{| border="1"
|-
| Struktogramm || Java Quelltext || Pascal Quelltext
|-
| [[Bild:Koehler_Turtle5_bunte_linie.png]] || turtle.left(90);<BR> int k = 1;<BR> for (int i = 1; i < 21; i++)<BR> { <BR> switch(k) <BR> {<BR> case 1: <BR> { turtle.penColor(255,0,0); break;} <BR> case 2: <BR> { turtle.penColor(0,255,0); break;} <BR> case 3: <BR> { turtle.penColor(0,0,255); break;} <BR> case 4: <BR> { turtle.penColor(0,0,0); break;} <BR> } <BR> turtle.forward(10);<BR> k++;<BR> if (i % 4 == 0)<BR> { k =1; }<BR> }<BR>
|| turtle_left(90);<BR> k =: 1;<BR> for i := 1 to 20 do <BR> begin <BR> case k of <BR> 1: turtle_penColor(255,0,0); <BR> 2: turtle_penColor(0,255,0); <BR> 3: turtle_penColor(0,0,255) <BR> 4: turtle_penColor(0,0,0)<BR> end; <BR> turtle_forward(10);<BR> k := k + 1;<BR> if (i MOD 4 = 0)<BR> THEN k :=1; <BR> end;<BR>
|}
<BR>