4.10.2
Bespiele |
|
Beispiel 1 |
![]() |
Download: Verzweigung.java |
public void zeichne() { |
Passiert oft: |
Wenn der Anweisungsblock, wie in
unserem Beispiel aus nur einer Anweisung besteht, kann man die
Blockklammern weglassen.
|
Beispiel 2 das Ulam-Spiel |
Das
Ulam-Spiel hat folgende Spielregeln: Wählen Sie eine Zahl und führen Sie den folgenden Algorithmus durch: Wiederhole Nehmen wir als Startwert 3, so ergibt sich folgende Folge: 3 - 10 - 5 - 16 - 8 - 4 - 2 - 1 - 4 - 2 - 1 - 4 - 2 - 1.... Eigentlich können wir bei 1 aufhören, da sich danach die Zahlen 4 - 2 - 1 immer wieder wiederholen. Für die Startzahl 23 erhalten wir die Zahlenfolge: 23 - 70 - 35 - 106 - 53 - 160 - 80 - 40 - 20 - 10 - 5 - 16 - 8 - 4 - 2 - 1 |
Link: Stanislaw Ulam |
Das eigenartige an diesen nach unserer Spielregel erzeugten Zahlenfolge ist, dass sie Zahlen liefert, die mal größer mal kleiner sind, ohne dass eine Regel für das Auf und Ab gefunden werden könnte. Auch dass alle bekannten Folgen irgendwann auf die 1 stoßen wirkt überraschend. Für die Vermutungen, dieser Zahlenfolgen betreffend hat man bis heute noch keinen mathematischen Beweis gefunden. Benannt wird diese Folge nach ihrem Erfinder, dem Mathematiker Ulam. Was ist nahe liegender, als die Zahlen von Ulamfolge durch ein Programm errechnen zu lassen. Der eigentliche Algorithmus zur Berechnung der Folgengleider ist nicht sehr schwer:
|
![]() Dazu setzen wir unsere Turtle in die linke untere Ecke (-190/-190) und hat die Blickrichtung, wie gewöhnlich nach Norden. Mit forward(i) zeichnet sie einen Strich der Länge i. Jetzt springt sie auf die Position ( -188/-190), um dort den nächsten Strich zu malen. Die Positionen der Turtle verwalten wir in den Variabeln xStart und yStart. Der Schleifenkörper wird also um das Steuern der Turtle und dem Zeichnen ergänzt, das ganze Programm hat schließlich das nachfolgende Aussehen. |
|
Download: Ulam.java |
|
zu | 4.10.3 Ein Beispiel ohne Turtle |
zur Startseite | www.pohlig.de (C) MPohlig 2004 |