Huelsse/Profil Nawi/Java/Java-Turtle - geschachtelte Iteration

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

'''Geschachtelte Zählschleife - Iteration'''
----

{|
 |-
 | Beim Zeichnen der drei ineinander geschachtelten Quadrate werden folgende Anweisungen 4 mal wiederholt:
  <BR>*    for (int i = 1;      i < 5;       i++ ) <BR>*   {<BR>*     turtle.forward(100);<BR>*         turtle.right(90);<BR>*   } 
 || [[Bild:Koehler_Turtle1_quadrat.jpg]]  
 |}

Mit zwei ineinander geschachtelten Zählschleifen können Anweisungsblöcke innerhalb einer Zählschleife (Zeichen ein Quadart) ebenfalls mehrfach ausgeführt werden ausgeführt werden:

* s = 50;                                  -  Festlegen der Seitenlänge s
* for (int j = 1;      j < 4;       j++ )  -  Äußere Schleife - damit 3 Quadrat gezeichnet werden
* for (int i = 1;      i < 5;       i++ ) {turtle.forward(seitenlaenge);turtle.right(90);} - Innere Schleife - zeichnet das Quadrat
* s = s + 25;                              -  Nach dem Zeichnen des Quadrates wird die Seitenlänge um 25 erhöht


{| border="1"
 |-
 | Struktogramm || Java Quelltext || Pascal Quelltext || xx Quelltext 
 |-
 | [[Bild:Koehler_For_schachtel_quadrate.png]] || for (int i = 1; i < 5; i++ ) <BR>  { <BR> turtle.forward(100);<BR>turtle.right(90);<BR>}<BR>  || for i := 1 to 4 do <BR>  begin <BR> turtle_forward(100);<BR>turtle_right(90);<BR>end;<BR>  ||
|}
<BR>
Informiere Sie sich: [http://de.wikipedia.org/wiki/Nassi-Shneiderman-Diagramm |http://de.wikipedia.org/wiki/Nassi-Shneiderman-Diagramm ]
* Seit wann werden Struktogramme verwendet?
* Mit welchem graphischen Grundelement könnte man die beiden folgenden Anweisungen auch darstellen: 
* turtle.forward(100);
* turtle.right(90);
* Welche Figur entsteht wenn das Struktogramm als Quelltext abgearbeitet wird?  
<BR>
Erstellen Sie die obere Turtle-Grafik "geschachtelte Quadrate" mit 3 Zählschleifen:
* 1. Schleife: 1. Quadrat, Standardschrittweite: 50
* 2. Schleife: 2. Quadrat, Standardschrittweite: 75
* 3. Schleife: 3. Quadrat, Standardschrittweite: 100
* Startposition: Canvasmitte

{|- 
 |- 
 | '''geschachtelte Quadrate: 50, 75, 100'''        ||  
 |- 
 | <run id="4dd0206ebbf2b">
canvas.clear();
turtle.home();
turtle.penDown();
int s = 50;
for (j = 1, j < 4, j++)
{
  for (i = 1, i < 5, i++)
  {
    turtle.forward(s);
    turtle.right(90);
  }
 s = s + 25;
}

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

 |}