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

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

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

Beim Zeichnen der drei ineinander geschachtelten Quadrate werden folgende Anweisungen 4 mal wiederholt:

{|
 |-
 | *	turtle.forward(100);<BR>*       turtle.right(90); 
 |-
 | [[Bild:Koehler_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);}


'''Vorteile:''' 
*	Kurze, knappe , graphische Darstellung
*       Unabhängig von der Programmieumgebung

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

'''Aufgabe 1:''' 
*	Worin unterschieden sich die letzten drei Turtle-Methoden von den voran gegangen?

'''Aufgabe 2:''' 
* Erstellen Sie folgende Turtle-Grafiken mit folgenden Vereinbarungen:
* Standardschrittweite: 50
* Startposition: Canvasmitte

{|- 
 | '''Fahne'''                        ||  '''Pfeil Länge 100, 45° 20 Schritte, Turtle zum Pfeilanfang setzten
 |-''' 
 | [[Bild:Koehler_Turtle1_fahne.jpg]] ||  [[Bild:Koehler_Turtle1_pfeil.jpg]]
 |- 
 | <run id="4dc841823ea6e">
canvas.clear();
turtle.home();
turtle.penDown();
turtle.forward(100);
turtle.right(90);
turtle.forward(100);
turtle.right(90);
turtle.forward(50);
turtle.right(90);
turtle.forward(100);
</run> ||

<run id="4dcc34b00d65b"> 
canvas.clear();
turtle.right(90);
turtle.forward(100);
turtle.left(135);
turtle.forward(20);
turtle.right(180);
turtle.forward(20);
turtle.right(90);
turtle.forward(20);
turtle.right(180);
turtle.forward(20);
turtle.left(135);
turtle.forward(100);
</run>

 |- 
 | '''Quadratturm: 100, 75,50'''        ||  '''Nikolaushaus: Seitelänge 50'''
 |-
 | [[Bild:Koehler_Turtle1_quadrat.jpg]] ||  [[Bild:Koehler_Turtle1_nikolaus.jpg]]
 |- 
 | <run id="4dd0206ebbf2b">
canvas.clear();
turtle.home();
turtle.penDown();
turtle.forward(100); turtle.right(90);
turtle.forward(100); turtle.right(90);
turtle.forward(100); turtle.right(90);
turtle.forward(100); turtle.right(90);

turtle.forward(75); turtle.right(90);
turtle.forward(75); turtle.right(90);
turtle.forward(75); turtle.right(90);
turtle.forward(75); turtle.right(90);

turtle.forward(50); turtle.right(90);
turtle.forward(50); turtle.right(90);
turtle.forward(50); turtle.right(90);
turtle.forward(50); turtle.right(90);
</run> ||

<run id="4dd0206ebbf9a">
canvas.clear();
turtle.home();
turtle.penDown();
turtle.right(90); turtle.forward(50); 
turtle.left(135); turtle.forward(70);
turtle.right(135);turtle.forward(50); 
turtle.left(135); turtle.forward(35);
turtle.left(90);  turtle.forward(35);
turtle.left(45);  turtle.forward(50);
turtle.left(135); turtle.forward(70);
turtle.right(135);turtle.forward(50); 
</run>

 |- 
 | Eigene Idee 1                        ||  Eigene Idee 2
 |- 
 | <run id="4dd03082c8045">
canvas.clear();
turtle.home();
turtle.penDown();
</run> ||

<run id="4dd03082c815d">
canvas.clear();
turtle.home();
turtle.penDown();

</run>

 |}


<canvas>
 </canvas>

'''Aufgabe 3:'''
*   Warum wurde die Startposition vorgegeben?

'''Aufgabe 4:'''
*   Erstelle zwei eigene Grafiken, bestehend aus mindestens 15 Anweisungen!

'''Aufgabe 5:'''
*	Welche Vereinfachungen bzgl. des Programmieraufwandes würden Sie sich wünschen?

'''Aufgabe 6:'''
*	Wie viele Varaianten zum Zeichnen des Nikolaus-Hauses gibt es?