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>
|}