Huelsse/Profil Nawi/Java/Java-Turtle - Schleifen mit oberer Abbruchbedingung - Übung

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
'''Java Turtle - WHILE-Schleifen mit oberer Abbruchbedingung, Anzahl der Wiederholungen unbekannt '''

----

Zur Erinnerung:

Häufig wird man nicht genau wissen, wie oft man einen bestimmten Zyklus durchlaufen muss:
* Gehe solange shoppen, bis dein Konto leer ist, aber überziehe dein Konto nicht!
* Dividiere solange zwei zufällig erzeugte natürliche Zahlen, bis für den Divisor zufällig Null erzeugt wurde! 

Für diese Beispiele werden Schleifen mit vorangestelltem Testktiterium benötigt.

* Schleifen mit oberer Abbruchbedingung: while (Testkriterium) { Schleifenkörper }

Bearbeite folgende Aufgaben effizient mit mindestens einer WHILE-Schleife:

{|- 
 |   '''Turtle - Rennen 1'''  <BR> Ein Turtle soll 100 Schritte zufällig zurücklegen. <BR>Dabei werden Teilstrecken von max. 5 Schritten zufällig erzeugt: Math.random() * 5;<BR> Die Versuche werden mitgezählt und anschließend ausgegeben:<BR>System.out.println("Benötigte Versuche: " + versuch); ||  '''Turtle - Rennen 2'''<BR> Zwei Turtle (t1, t2) sollen ein Wettrennen veranstalten<BR>Ändern Sie das Programm vom Rennen 1 entsprechend ab!
 |-
 | [[Bild:Koehler_Turtle6_Rennen1.jpg]] <canvas></canvas> ||  [[Bild:Koehler_Turtle6_Rennen2.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.left(90);
int versuch = 0;
int teilweg = 0;
int weg = 0;
</run> ||

<code id="4dd23521c2cec" hidden>import Canvas; canvas = new Canvas(2); </code>
<run id="4dcc34b00d65b"> 
canvas.clear();
Turtle t1 = new Turtle(2);
Turtle t2 = new Turtle(2);
t1.penUp(); t1.home(); t1.left(90); t1.penDown();
t2.penUp(); t2.home(); t2.backward(50); t2.left(90); t2.penDown();
int weg1 = 0;
int weg2 = 0;

</run>


 |- 
 | '''Sechseck - Schrittweite 50''' <BR> Nutzen Sie eine While-Schleife!       ||  '''Geschachtelte Quadrate:  - Schrittweiten: 50, 75, 100'''<BR> Nutzen Sie zwei While-Schleife!
 |-
 | [[Bild:Koehler_Turtle2_sechseck.jpg]] <canvas></canvas> || [[Bild:Koehler_Turtle2_geschachtle_quadrate.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();

</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();

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

'''Aufgabe 3:'''
*   Welche weitere Vereinfachung wäre beim Zeichnen dieser Figur hilfreich?
[[Bild:Koehler_turtle2_geschachtle_quadrate.jpg]]