Java-Turtle - Funktionen

Aus ProgrammingWiki
Archivierte Version vom 2011-06-14T19:41:40+00:00. Aktuelle Version

Java-Turtle - Funktionen - funktionale Methoden


Häufig werden zur Simaltion Zufallszahlen benötigt. Effektiv kann eine eine Funktion Schreibaufwand ersparen.
Im Gegensatz zu einer Procedure gibt eine Funktionen gibt genau einen Wert zurück:

 
Aufbau einer einfachen Funktion zur Addition von 2 Zufallszahlen a un b
Die zufällig erzeuten Zahlen a und b werden an die Fuktion Summe übergeben: int summe(int a,b)
Mit int summe wird der Wertebereich für die zu berechnende Summe festgelegt
return a + b; berechnet die Summe und gibt den Wert an das Hauptprogramm zurück
|

Eine funktionale Methode (Funktion) gibt genau einen Wert zurück. Im Gegensatz zur Procedure fehlt das Wort "void" :

  • Java:
  • int summe(int a, b) - Funktion summe(int a,b) - Achtung: ohne Semikolon, a und b sind Übergabeparameter, int summe legt der Wertebereich für den Rückgabewert fest
  • return a + b; - mit return wird der berechnete Wert der Funktion summe an das Hauptprogramm zurückgegeben
  • System.out.print("Summe: " + summe(a,b) ); - Aufruf der Funktion: summe(a,b) , Berechung der Summe in der Funktion summe, Ausgabe mit Println
  • Delphi:
  • function summe(a, b: integer): integer; - Funktion summe(a,b: integer):integer - a und b sind Übergabeparameter, summe ( .. ) : integer; legt der Wertebereich für den Rückgabewert fest
  • return a + b; - mit return wird der berechnete Wert der Funktion summe an das Hauptprogramm zurückgegeben
  • writeln('Summe: ' + summe(a,b) ); - Aufruf der Funktion: summe(a,b) , Berechung der Summe in der Funktion summe, Ausgabe mit writeln


Ein Stern soll aus einzelnen farbigen Quadraten erstellt werden. Zum Zeichnen des Sterns wird die Procedure Quadrat genutzt: void quadrat()
Die zufälligen Farben (RGB) werden mit der Funktion farbe() erstellt: long farbe()
Positive Gleitkomma-Zufallszahlen zwischen größer gleich 0,0 und kleiner 1,0 liefert die Anweisung Math.random(), für die Farben werden aber int-Werte benötigt.
Eine Typanpassung auf int führt immer zum Ergebnis 0, d.h. es wird immer die Farbe schwarz erzeugt.
Mit long farbe() können die Werte mit Math.round gerundet werden: return Math.round( Math.random() * 255);<branschlie muss noch der passende wertebereich von long auf int angepastt werden:>Ihr Browser unterstützt Canvas nicht.</branschlie>
|


Erstellen Sie die obere Turtle-Grafik "Dreiecksblume" mit einer prozeduralen Methode dreieck():

  • void dreieck(): Teilprogramm zum Zeichnen eines einzelnen Dreiecks
  • Hauptprogramm: hier wird das Teilprogramm dreieck() aufgerufen
  • Schrittweite für s: 100
  • Startposition: Canvasmitte
_________________________Dreiecksblume______________________________________________