Benutzer:Admin/Canvas

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 folgender Zählschleife kann der Anweisungsblock "i-mal" ausgeführt werden, bis die Abbruchbedingung erreicht wird:
* for (i = STArTWERT, i++ - Erhöhen der Laufvariable, i = ENDWERT) {ANWEISUNGSBLOCK}
* for (i = 1, i++, i = 4) {turtle.forward(100);turtle.right(90);}

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

{|
 |-
 |  || [[Bild:Koehler_Turtle1_for1.jpg]] ||
 |-
 | Java Quelltext || Pascal Quelltext ||    xx Quelltext 
 |-
 | [[Bild:Koehler_Turtle1_for1_java.jpg]] || [[Bild:Koehler_Turtle1_for1_pascal.jpg]] ||   [[Bild:Koehler_Turtle1_for1_xx.jpg]]
|}

'''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]] <canvas></canvas> ||  [[Bild:Koehler_Turtle1_pfeil.jpg]] <canvas></canvas>
 |- 
 | <code id="4dd23521c2c82" hidden>import Canvas; canvas = new Canvas(1); turtle = new Turtle(1);</code><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> ||
<code id="4dd23521c2cec" hidden>import Canvas; canvas = new Canvas(2); turtle = new Turtle(2);</code>
<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]] <canvas></canvas> ||  [[Bild:Koehler_Turtle1_nikolaus.jpg]] <canvas></canvas>
 |- 
 | <code id="4dd237132b1a4" hidden>import Canvas; canvas = new Canvas(3); turtle = new Turtle(3);</code><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> ||

<code id="4dd237132b24c" hidden>import Canvas; canvas = new Canvas(4); turtle = new Turtle(4);</code>
<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 <br><canvas></canvas>                       ||  Eigene Idee 2 <br><canvas></canvas>
 |- 
 | <canvas>import Canvas; canvas = new Canvas(5); turtle = new Turtle(5);</canvas>
<run id="4dd03082c8045">
canvas.clear();
turtle.home();
turtle.penDown();
</run> ||
<code id="4dd237132b2c1" hidden>import Canvas; canvas = new Canvas(6); turtle = new Turtle(6);</code>
<run id="4dd03082c815d">
canvas.clear();
turtle.home();
turtle.penDown();

</run>

 |}


'''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?