Huelsse/Profil Nawi/Java/Java-Turtle - Prozeduren - mit Parametern
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
'''Java-Turtle - Prozeduren - mit Parametern'''
----
{|
|-
| Beim Zeichnen dieser '''sechs''' Dreiecke kann das Zeichnen eines einzelnen Dreiecks als Teilprogramm erstellt werden, mit unterschiedlichen Seitenlänge kann die Figur größen mäßig verändert werden. Dabei wird beim Aufruf des Teilprogramms der Parameter für die Seitenlänge als akuteller Wert übergeben (dreieck(50)). Die Prozedur dreieck übernimmt den aktuellen Parameter (50) anstelle der vordefinierten Werte - formalen Parameter (dreieck(int s)):
<BR> '''void dreieck(int s)'''<BR>{<BR> for (int i = 1; i < 4; i++ )<BR> {<BR> turtle.forward('''s''');<BR> turtle.right(120);<BR> } <BR>}<BR><BR>canvas.clear();<BR>turtle.home();<BR>turtle.penDown();<BR> for (int i = 1; i < 7; i++ ) <BR> {<BR> '''dreieck(50);'''<BR> turtle.right(60);<BR> }<BR> for (int i = 1; i < 7; i++ ) <BR> {<BR> '''dreieck(100);'''<BR> turtle.right(60);<BR> }
|| [[Bild:Koehler_Turtle9_Dreiecksblume.jpg]]
|}
Eine Prozedur ist in der Programmierung eine Folge von Anweisungen, die es erlaubt, bestimmte Aufgaben in wiederverwendbarer Art zu formulieren:
* Java:
* void dreieck(int s) - Teilprogramm dreieck() mit formalem Parameter s vom Typ integer - Achtung: ohne Semikolon
* dreieck(50); - Aufruf des Teilprogramms dreieck(50); im Hauptprogramm mit aktuellem Parameter: 50
* Delphi:
* procedure dreieck(s: integer); - Teilprogramm dreieck()mit formalem Parameter s vom Typ integer - Achtung: hier mit Semikolon
* dreieck(50); - Aufruf des Teilprogramms dreieck(50); im Hauptprogramm mit aktuellem Parameter: 50
{| border="1" cellspacing="10" cellpadding="10"
|-
| Struktogramm || Java Quelltext || Pascal Quelltext
|-
| [[Bild:Koehler_Dreiecksblume2.png]] || <BR> '''void dreieck(int s)'''<BR>{<BR> for (int i = 1; i < 4; i++ )<BR> {<BR> turtle.forward(s);<BR> turtle.right(120);<BR> } <BR>}<BR><BR>canvas.clear();<BR>turtle.home();<BR>turtle.penDown();<BR> for (int i = 1; i < 7; i++ ) <BR> {<BR> '''dreieck(50);'''<BR> turtle.right(60);<BR> } for (int i = 1; i < 7; i++ ) <BR> {<BR> '''dreieck(100);'''<BR> turtle.right(60);<BR> } || <BR> '''procedure dreieck(s: integer);'''<BR>var i: integer;<BR>begin<BR> for i := 1 to 3 do<BR> begin<BR> turtle_forward(s);<BR> turtle_right(120);<BR> end; <BR>end;<BR><BR>canvas_clear();<BR>turtle_home();<BR>turtle_penDown();<BR> for i:=1 to 6 do <BR> begin<BR> '''dreieck(50);'''<BR> turtle_right(60);<BR> end;<BR> for i:=1 to 6 do <BR> begin<BR> '''dreieck(100);'''<BR> turtle_right(60);<BR> end;
|}
<BR>
Erstellen Sie die obere Turtle-Grafik "Dreiecksblume" mit einer Prozedur dreieck():
* <span style="background-color:#80ff80">void dreieck(int s): </span>Teilprogramm zum Zeichnen eines einzelnen Dreiecks
* <span style="background-color:#FFFF80">Hauptprogramm: </span> hier wird das Teilprogramm einmal mit dem aktuellem Parameter 100: dreieck(100) sowie dem Parameter 50: dreieck(50) aufgerufen
* Schrittweite für s: 100
* Startposition: Canvasmitte
{|-
|-
| '''Dreiecksblume''' ||
|-
| <run id="4dd0206ebbf2b">
canvas.clear();
turtle.home();
turtle.penDown();
</run>
|| <canvas>
</canvas>
|}