Schleifen mit der Turtle

Slides:



Advertisements
Ähnliche Präsentationen
Rekursive Grafiken Reklursive Grafiken.
Advertisements

Rekursive Grafiken Reklursive Grafiken.
Zusammenfassung der Vorwoche
SWITCH - Anweisung.
IF-ELSE-IF-Ketten Weiter mit PP..
Schleifen-beobachtung
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Polymorphie (Vielgestaltigkeit)
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
1DVG3 - Paint Paint ein Zeichenprogramm. DVG3 - Paint 2 Paint – ein Zeichenprogramm.
Eigene Metoden (Turtle-Paket (C) Taulien 2003)
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Thema: Fibonacci-Zahlen
Schleifen mit der Turtle
Bestimmung des ggT zweier Zahlen
Weitere Beispiele für Verzweigung mit und ohne Turtle
Verzweigung.
Informatik Grundkurse mit Java
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Programmierung im Netz und Internet: Einführung in die Programmiersprache Java Teil I 1 Klassen Objekte von.
© 2003 Pohlig - Taulien Tanz der Turtles (Java) 1 Tanz der Turtles.
Struktogramme IF-ELSE FOR – Schleife
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Grundkonzepte Java - Klassendefinition
Programmieren Kapitel 3 – Variablen.
Übungen zum Vortrag „Backtracking mit Heuristiken“
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Java und Eclipse.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
2.4 Rekursion Klassifikation und Beispiele
CuP - Java Eingabe über Tastatur, AudioClips, überschreiben, Quiz Montag, 18. November 2002.
Objektorientiertes Konstruieren
Variablenkonzept Klassisch, in Java Basistyp
Die Klasse String und ihre Methoden
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Starten der Entwicklungsumgebung (IDE)
Learning By Doing Übungen GPanel Quadratfenster mit pixelunabhängigen Windowkoordinaten (doubles) Zweckmässige Standardwerte (defaults) 01 x 0 1 y // WbzEx5.java.
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
TRUE und FALSE in C Der Wert 0 steht für FALSE Jeder von 0 verschiedene Wert steht für TRUE FALSE wird als 0 dargestellt TRUE wird als 1 dargestellt.
Java Programme nur ein bisschen objektorientiert.
Objektorientierung Gliederung von Daten und Funktionen zu Objekten
Vererbung.
JAVA lernen: Methoden.
Java-Kurs Übung Grafik in Java - das Abstract Windowing Toolkit
Hintergrund Autoren von der PH Bern:
Java-Kurs - 2. Übung primitive Datentypen, Konstanten
Mit der Turtle Java Programmieren
Tanz der Turtles (Java)
Eigene Methoden zum Steuern einer Turtle
Grundkurs Informatik mit Java
Schleifen mit der Turtle
Übungen: Mustererzeugen Januar 19 Grundkurs Informatik.
Schleifen mit der Turtle
Mit Java die Turtle steuern
Reklursive Grafiken Teil I
Tanz der Turtles (Java)
 Präsentation transkript:

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

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

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

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

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 4-2-1-4-2-1-4-2-1…. 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

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

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

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()*400-200; double yStart = Math.random()*400-200; 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

Schleifen mit der Turtle Sierpinski-Dreieck Schleifen mit der Turtle