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?