Aus ProgrammingWiki
Java-Turtle - Prozeduren - mit Parametern
Beim Zeichnen dieser sechs Dreiecke kann das Zeichnen eines einzelnen Dreiecks als Teilprogramm erstellt werden, mit unterschiedlicher Seitenlänge kann die Figur größenmäßig verändert werden. Dabei wird beim Aufruf des Teilprogramms der Parameter für die Seitenlänge als aktueller Wert übergeben (dreieck(50)). Die Prozedur dreieck übernimmt den aktuellen Parameter (50) anstelle der vordefinierten Werte - formalen Parameter (dreieck(int s)):
void dreieck(int s) { for (int i = 1; i < 4; i++ ) { turtle.forward(s); turtle.right(120); } }
canvas.clear(); turtle.home(); turtle.penDown(); for (int i = 1; i < 7; i++ ) { dreieck(50); turtle.right(60); } for (int i = 1; i < 7; i++ ) { dreieck(100); turtle.right(60); }
|
|
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
Struktogramm | Java Quelltext | Pascal Quelltext
|
| void dreieck(int s) { for (int i = 1; i < 4; i++ ) { turtle.forward(s); turtle.right(120); } }
canvas.clear(); turtle.home(); turtle.penDown(); for (int i = 1; i < 7; i++ ) { dreieck(50); turtle.right(60); } for (int i = 1; i < 7; i++ ) { dreieck(100); turtle.right(60); } | procedure dreieck(s: integer); var i: integer; begin for i := 1 to 3 do begin turtle_forward(s); turtle_right(120); end; end;
canvas_clear(); turtle_home(); turtle_penDown(); for i:=1 to 6 do begin dreieck(50); turtle_right(60); end; for i:=1 to 6 do begin dreieck(100); turtle_right(60); end;
|
Erstellen Sie die obere Turtle-Grafik "Dreiecksblume" mit einer Prozedur dreieck():
- void dreieck(int s): Teilprogramm zum Zeichnen eines einzelnen Dreiecks
- Hauptprogramm: 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