Huelsse/Profil Nawi/Java/Java-Turtle - Wiederholungsanweisungen

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
'''Gezählte Wiederholung - Zählschleife - Iteration'''
----

{|
 |-
 | Beim Zeichnen eines Quadrates werden folgende Anweisungen 4 mal wiederholt:
  <BR>*	turtle.forward(100);<BR>*       turtle.right(90); 
 ||   [[Bild:Turtle1_quadrat.jpg]]
 |}

Mit einer Zählschleife können Anweisungsblöcke "i-mal" ausgeführt werden:

* FOR (i = STARTWERT,  i < ENDWERT, i++ Erhöhen der Laufvariable ) {ANWEISUNGSBLOCK}
* for (int i = 1;      i < 5;       i++ )                          {turtle.forward(100);turtle.right(90);}
* häufig werden Anweisungen auch in Form von Struktogrammen dargestellt


'''Struktogramme:''' 
* kurze, knappe , graphische Darstellung
* unabhängig von der Programmieumgebung
* <span style="background-color:#80FFFF"> Blauer Teil: </span> Anweisungsblock, der wiederholt werden soll
* <span style="background-color:#FFFF80"> Gelber Teil: </span>: gibt an, von welchem Start bis zu welchem Endwert der blaue Teil wiederholt wird
* Dabei wird eine VARIABLE (Platzhalter) benötigt (hier i)
* i ist in unserem Beispiel ganzzahlig (Datentyp int in JAVA) und wird bei jedem Schleifendurchlauf um 1 erhöht (i++) 
<BR>
{| border="1" cellspacing="10" cellpadding="10"
 |-
 | Struktogramm || Java Quelltext || Pascal Quelltext 
 |-
 | [[Bild:Koehler_QUADRAT.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 "Quadrat" mit einer Zählschleife 
* Seitenlänge: 50
* Startposition: Canvasmitte

{|- 
 |- 
 | '''Quadrat: 50'''        ||  
 |- 
 | <run id="4dd0206ebbf2b">
canvas.clear();
turtle.home();
turtle.penDown();


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

 |}