Huelsse/Profil Nawi/Java/Java-Turtle - Funktionen
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
'''Java-Turtle - Funktionen - funktionale Methoden '''
----
{|
|-
| Häufig werden zur Simaltion Zufallszahlen benötigt. Effektiv kann eine eine Funktion Schreibaufwand ersparen. <BR>Im Gegensatz zu einer Procedure gibt eine Funktionen gibt genau einen Wert zurück:
<BR> '''Aufbau einer einfachen Funktion zur Addition von 2 Zufallszahlen a un b'''<BR>Die zufällig erzeuten Zahlen a und b werden an die Fuktion Summe übergeben: int summe(int a,b)<BR> Mit int summe wird der Wertebereich für die zu berechnende Summe festgelegt<BR> retuen a + b; berechnet die Summe und gibt den Wert an das Hauptprogramm zurück
|| <run id="4df79fc749f4a">int summe(int a, b)
{
return a + b;
}
int a = Math.random() * 10;
int b = Math.random() * 10;
System.out.print("Zahl a: " + a );
System.out.print("Zahl b: " + b );
System.out.print("Summe: " + summe(a,b) );
</run>
|}
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. <BR>Zum Zeichnen des Sterns wird die Procedure Quadrat genutzt: '''void quadrat()'''
<BR> Die zufälligen Farben (RGB) werden mit der Funktion farbe() erstellt: '''long farbe()''' <BR>Die zufällig erzeuten Zahlen a und b werden an die Fuktion Summe übergeben: int summe(int a,b)<BR> Mit int summe wird der Wertebereich für die zu berechnende Summe festgelegt<BR> retuen a + b; berechnet die Summe und gibt den Wert an das Hauptprogramm zurück
|| <run id="4dd0206ebbf2b">
canvas.clear();
turtle.home();
turtle.penDown();
'''long farbe()
{
return Math.round( Math.random() * 255);
}'''
void quadrat()
{
for ( int i = 1; i < 5; i++ )
{
turtle.forward(50);
turtle.left(90);
}
}
for ( int i = 1; i < 37; i++ )
{
turtle.penColor('''(int)farbe(),(int)farbe(),(int)farbe()''');
quadrat();
turtle.left(10);
}
</run>
|| <canvas>
</canvas>
|}
Erstellen Sie die obere Turtle-Grafik "Dreiecksblume" mit einer prozeduralen Methode dreieck():
* <span style="background-color:#80ff80">void dreieck(): </span>Teilprogramm zum Zeichnen eines einzelnen Dreiecks
* <span style="background-color:#FFFF80">Hauptprogramm: </span> hier wird das Teilprogramm dreieck() aufgerufen
* Schrittweite für s: 100
* Startposition: Canvasmitte
{|-
|-
| '''_________________________Dreiecksblume______________________________________________''' ||
|-
|
|}