Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© 2004 Pohlig - Taulien Schleifen mit der Turtle 1 Verzweigung mit der Turtle.

Ähnliche Präsentationen


Präsentation zum Thema: "© 2004 Pohlig - Taulien Schleifen mit der Turtle 1 Verzweigung mit der Turtle."—  Präsentation transkript:

1 © 2004 Pohlig - Taulien Schleifen mit der Turtle 1 Verzweigung mit der Turtle

2 © 2004 Pohlig - Taulien Schleifen mit der Turtle 2 NormspracheStruktogrammJava-Syntax wenn(Ausdruck) dann Anweisungsblock 1 sonst Anweisungsblock 2 Bedingung wahr? janein An- weisungs- block 1 An- weisungs- block 2 if (Bedingung) Anweisungsblock1 else Anweisungsblock2

3 © 2004 Pohlig - Taulien Schleifen mit der Turtle 3 1. Beispiel public void zeichne() { if (t1.getOrientation()>180){ t1.setColor(Color.RED); } else{ t1.setColor(Color.BLUE); } t1.forward(40); t1.right(60); } 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.

4 © 2004 Pohlig - Taulien Schleifen mit der Turtle 4 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.

5 © 2004 Pohlig - Taulien Schleifen mit der Turtle 5 Implementieren des Algorithmus in Java wenn die Zahl gerade ist, halbiere sie, sonst verdreifache die Zahl und zähle eins dazu. if (i % 2 ==0){ i = i/2; } else{ i = i*3+1; } i%2 liefert den Rest wenn i durch zwei geteilt wird. i = i/2 Der Wert, der in i abgelegt ist, wird halbiert und als neuer Wert von i abgelegt i = i*3+1 Der aktuelle Wert von i wird verdreifacht und um eins inkrementiert und schließlich als neuer Werte in i abgelegt. wiederholen Sie while (i !=1){ } 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.

6 © 2004 Pohlig - Taulien 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

7 © 2004 Pohlig - Taulien Schleifen mit der Turtle 7 Das Chaosspiel Spielregel (Algorithmus) des Chaospiels: Markiere die Eckpunkte eines gleichseitigen Dreiecks: P 1, P 2 und P 3. Wiederhole (‚sehr oft‘) Wähle einen beliebigen Punkt auf dem Zeichenblatt. Wähle P 1, P 2 oder P 3 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.

8 © 2004 Pohlig - Taulien 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"); } 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); 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);

9 © 2004 Pohlig - Taulien Schleifen mit der Turtle 9 Sierpinski-Dreieck


Herunterladen ppt "© 2004 Pohlig - Taulien Schleifen mit der Turtle 1 Verzweigung mit der Turtle."

Ähnliche Präsentationen


Google-Anzeigen