Java-Turtle - Mehrfachverzweigungen

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading
Java Turtle - Mehrfachverzweigung SWITCH


Statt mehrerer IF-Anweisungen, können Mehrfachverzweigungen genutzt werden:
Der Turtle geht 20 mal 10 Schritte voran, dabei wird bei den 20 Wiederholungen eine die Laufvariable i benutzt
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:
- ist die Variable k durch 1 teilbar, dann werden 10 Schritte in rot gezeichnet,
- ist die Variable k durch 2 teilbar, dann werden 10 Schritte in grün gezeichnet,
- ist die Variable k durch 3 teilbar, dann werden 10 Schritte in blau gezeichnet,
- ist die Variable k durch 4 teilbar, dann werden 10 Schritte in schwarz gezeichnet,

*  turtle.left(90);
*  int k = 1;
*  for (int i = 1; i < 21; i++)
*  { 
*   switch(k) 
*   {
*    case 1:  
* { turtle.penColor(255,0,0); break;} * case 2:
* { turtle.penColor(0,255,0); break;} * case 3:
* { turtle.penColor(0,0,255); break;} * case 4:
* { turtle.penColor(0,0,0); break;} * } * turtle.forward(10); * k++; * if (i % 4 == 0) * { k =1; } * }
Koehler Turtle5 bunte linie.jpg

Mit SWITCH-Blöcken (mehrseitige Verzweigungen) können Anweisungen nur bei bestimmten Bedingungen ausgeführt werden
Erklärung der Anweisungen:

  • turtle.left(90); - Blickrichtung Turtle ist links
  • int k = 1; - Wert für 2. Variable k wird mit 1 festgelegt
  • for (int i = 1; i <= 21; i++ ) Zählschleife, wiederholt folgenden Anweisungen 20 mal:
  • switch k - Start der mehrseitigen Verzweigung, unterschieden wird nach dem Inhalt der Variablen k
  • case 1: { turtle.penColor(255,0,0); break;}
  • case 2: { turtle.penColor(0,255,0); break;}
  • case 3: { turtle.penColor(0,0,255); break;}
  • case 4: { turtle.penColor(0,0,0); break;}
  • 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


Struktogramm Java Quelltext Pascal Quelltext
Koehler Turtle5 bunte linie.png turtle.left(90);
int k = 1;
for (int i = 1; i < 21; i++)
{
switch(k)
{
case 1:
{ turtle.penColor(255,0,0); break;}
case 2:
{ turtle.penColor(0,255,0); break;}
case 3:
{ turtle.penColor(0,0,255); break;}
case 4:
{ turtle.penColor(0,0,0); break;}
}
turtle.forward(10);
k++;
if ( i % 4 == 0 )
{ k = 1; }
}
turtle_left(90);
k =: 1;
for i := 1 to 20 do
begin
case k of
1: turtle_penColor(255,0,0);
2: turtle_penColor(0,255,0);
3: turtle_penColor(0,0,255)
4: turtle_penColor(0,0,0)
end;
turtle_forward(10);
k := k + 1;
if ( i MOD 4 = 0 )
then k := 1;
end;


Persönliche Werkzeuge