Huelsse/Profil Nawi/Java/Java-Turtle - Schleifen mit unterer Abbruchbedingung - Übung
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
'''Java Turtle - DO - WHILE-Schleifen mit unterer Abbruchbedingung, Anzahl der Wiederholungen unbekannt '''
----
Zur Erinnerung:
Häufig wird man nicht genau wissen, wie oft man einen bestimmten Zyklus durchlaufen muss:
* Lerne solange fleißig, bis du in einer Mathearbeit die Note 1 bekommst
* Würfe solange, bis du ein Sechs hast
Für diese Beispiele werden keine Zählschleifen, sondern Schleifen mit einem Testkriterium benötigt.
Der Test muss in diesen Fällen am Ende - nach dem Durchlaufen des Schleifenkörpers durchgeführt werden:
* Schleifen mit unterer Abbruchbedingung - do { Schleifenkörper } while (Testkriterium);
* Kurz gesagt: erst etwas tun, dann testen, ob das Ergebnis zufriedenstellend ist
Nutzen Sie für diese Aufgaben Do-While-Schleifen
{|-
| '''Der Irrweg ''' <BR>Der Turtle bewegt sich 100 mal zwischen 1 und 20 Schritten zufällig vorwärts.<BR>Der Winkel wird aller 4 Schritte (int k = i % 4) wie folgt geändert<BR>Divisionsrest == 0: Rechts-Richtung zufällig zwischen 0° um 90°<BR>Divisionsrest == 1: Rechts-Richtung zufällig zwischen 90° um 180°<BR>Divisionsrest == 2: Links-Richtung zufällig zwischen 0° um 90°<BR>Divisionsrest == 3: Links-Richtung zufällig zwischen 90° um 180°<BR> || '''Der Irrweg - Hilfe kommt'''<BR>Der erste Turtle t1 soll vom Turtle t2 gesucht werden.<BR>Da die Suche mühsam ist, kann t2 nur mit einer konstanten Schrittweite = 2 folgen, t2 versucht aber immer, dem Kurs von t1 zu folgen.<BR> t2.setAngleTo( .. );
|-
| [[Bild:Koehler_Turtle7_Irrweg1.jpg]] <canvas></canvas> || [[Bild:Koehler_Turtle7_Irrweg2.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();
</run> ||
<code id="4dd23521c2cec" hidden>import Canvas; canvas = new Canvas(2);Turtle t1 = new Turtle(2);
Turtle t2 = new Turtle(2);
t1.home();
t1.penDown();
t1.penColor(255,0,0);
t1.right(90);
t2.penColor(0,0,255);
t2.move(150,0);
</code>
<run id="4dcc34b00d65b">
canvas.clear();
turtle.home();
turtle.penDown();
</run>
|-
| '''Dreiecke - Schrittweite 50''' || '''Kreis: - Schrittweite 1'''
|-
| [[Bild:Koehler_Turtle3_Dreiecke.jpg]] <canvas></canvas> || [[Bild:Koehler_Turtle2_kreis.jpg]] <canvas></canvas>
|-
| <code id="4dd237132b1a4" hidden>import Canvas; canvas = new Canvas(3); turtle = new Turtle(4);</code><run id="4dd0206ebbf2b">
canvas.clear();
turtle.home();
turtle.penDown();
</run> ||
<code id="4dd237132b24c" hidden>import Canvas; canvas = new Canvas(4); turtle = new Turtle(5);</code>
<run id="4dd0206ebbf9a">
canvas.clear();
turtle.home();
turtle.penDown();
</run>
|-
| Eigene Idee 1 <br><canvas></canvas> || Eigene Idee 2 <br><canvas></canvas>
|-
| <code id="4dd2377d7a2ed" hidden>import Canvas; canvas = new Canvas(5); turtle = new Turtle(5);</code><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>
|}