Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Schleifen mit der Turtle

Ähnliche Präsentationen


Präsentation zum Thema: "Schleifen mit der Turtle"—  Präsentation transkript:

1 Schleifen mit der Turtle
Verzweigung mit der Turtle Schleifen mit der Turtle

2 Schleifen mit der Turtle
Normsprache Struktogramm Java-Syntax Bedingung wahr? ja nein An-weisungs-block 1 An-weisungs-block 2 wenn(Ausdruck) dann Anweisungsblock 1 sonst Anweisungsblock 2 if (Bedingung) Anweisungsblock1 else Anweisungsblock2 Schleifen mit der Turtle

3 Schleifen mit der Turtle
1. Beispiel Bei jedem Klick zeichnet die Turtle eine Seite des Sechsecks. Formulieren Sie eine Bedingung dafür, dass die Farbe korrekt gewechselt wird. Die Turtle soll dabei im linken, unteren Eckpunkt (SW) starten und das Sechseck im Uhrzeigersinn durchlaufen. public void zeichne() { if (t1.getOrientation()>180){ t1.setColor(Color.RED); } else{ t1.setColor(Color.BLUE); t1.forward(40); t1.right(60); Schleifen mit der Turtle

4 Schleifen mit der Turtle
Beispiel 2 3, 5, 23 Wählen Sie nacheinander 3, 5 und 23 und führen Sie den folgenden Algorithmus durch wiederholen Sie wenn die Zahl gerade ist, halbiere sie, sonst verdreifache die Zahl und zähle eins dazu. Streng genommen handelt es sich bei dem beschriebenen Algorithmus um eine Endlosschleife. Schreiben Sie die Zahlen der so erzeugten Folge auf. Fällt Ihnen etwas auf? Experimentieren Sie mit verschieden Startwerten. Schleifen mit der Turtle

5 Implementieren des Algorithmus in Java
wiederholen Sie wenn die Zahl gerade ist, halbiere sie, sonst verdreifache die Zahl und zähle eins dazu. Die Zahlenbeispiele lassen vermuten, dass man immer bei der 1 landet, dann würde es ‚ewig‘ mit …. weitergehen. Wir brechen also ab, wenn die 1 erreicht ist oder anders: solange die 1 nicht erreicht ist, machen wir weiter. while (i !=1){ } i%2 liefert den Rest wenn i durch zwei geteilt wird. i = i*3+1 Der aktuelle Wert von i wird verdreifacht und um eins inkrementiert und schließlich als neuer Werte in i abgelegt. if (i % 2 ==0){ i = i/2; } else{ i = i*3+1; i = i/2 Der Wert, der in i abgelegt ist, wird halbiert und als neuer Wert von i abgelegt Schleifen mit der Turtle

6 Darstellung mit der Turtle
Wir stellen die Folge als schmale Balken in einem Koordinatensystem dar: int i=120; double xStart = -190; double yStart = -190; public Verzweigung2(String title) { super(title); t1 = new Turtle(tWin); t1.jumpTo(xStart,yStart); } public void zeichne() { while (i !=1){ if (i % 2 ==0){ i = i/2; } else{ i = i*3+1; t1.forward(i); xStart = xStart+2; t1.jumpTo(xStart,yStart); Ulam-Folge Schleifen mit der Turtle

7 Schleifen mit der Turtle
Das Chaosspiel Spielregel (Algorithmus) des Chaospiels: Markiere die Eckpunkte eines gleichseitigen Dreiecks: P1, P2 und P3. Wiederhole (‚sehr oft‘) Wähle einen beliebigen Punkt auf dem Zeichenblatt. Wähle P1, P2 oder P3 zufällig: Würfle und teile die Augenzahl, wenn sie größer ist als 3 durch 2. Die so gewonnene Zahl ist der Index des Punktes. Gehe von der aktuellen Position um die halbe Distanz auf den ‚gewürfelten Punkt‘ und markiere diesen Punkt. Er ist die neue Position. Führen Sie den Algorithmus auf dem Papier aus. Schleifen mit der Turtle

8 Chaosspiel die Implementierung in Java
import turtle.*; import java.awt.*; public class ChaosSpiel extends TurtleFrame { //Die Variablen public ChaosSpiel(String title) { super(title); t1 = new MeineTurtle(tWin); //weitere Vorgaben } public void zeichne() { for(int i =0; i <100; i++){ zufall = (int)(3*Math.random())+1; if (zufall==1) {…} if (zufall==2) {…} if (zufall==3) {…} public static void main (String[] args) { new ChaosSpiel("ChaosSpiel"); MeineTurtle t1; double xA = -150, yA = -50, xB = 150, yB = -50, xC = 0, yC = 150*Math.sqrt(2)-50; double xStart = Math.random()* ; double yStart = Math.random()* ; int zufall; double schritt; t1.setColor(Color.RED); t1.circle(xA,yA,2) t1.circle(xB,yB,2); t1.circle(xC,yC,2); t1.setColor(Color.BLACK); t1.jumpTo(xStart,yStart); schritt = Math.sqrt(Math.pow(xA-t1.getX(),2)+Math.pow(yA-t1.getY(),2)); t1.turnTo(xA,yA); t1.up(); t1.forward(0.5*schritt); t1.down(); t1.circle(t1.getX(),t1.getY(),0.1); Schleifen mit der Turtle

9 Schleifen mit der Turtle
Sierpinski-Dreieck Schleifen mit der Turtle


Herunterladen ppt "Schleifen mit der Turtle"

Ähnliche Präsentationen


Google-Anzeigen