Logo: selbstdefinierte Prozeduren und Funktionen

Aus Wikibooks
Zur Navigation springen Zur Suche springen
Nuvola apps bookcase 1.svg Logo

Prozedur[Bearbeiten]

Die Funktion ist ein wichtiger Bestandteil der Programmiersprache Logo. Man kann natürlich unter Logo jede Anweisung einzeln ausführen, aber das wird umständlich. Am Beispiel zur Darstellung eines Sechsecks lässt sich das deutlich zeigen:

"Zu Fuß" muss man folgende Anweisungen eingeben:
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
Als Funktion definiert sieht das Ganze dann so aus:
to sechseck
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
end
Um das Sechseck darzustellen muss man nur noch das eingeben:
sechseck
Das ganze hat aber noch mehrere Nachteile:
  1. Es ist zu lang
  2. Es ist zu starr
  3. Es ist zu unflexibel
Statt
to sechseck
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
fd 40
rt 60
end
lässt sich auch
to sechseck
repeat 6 [ fd 40 rt 60 ]
end
schreiben
Man kann eine variable Seitenlänge einfügen:


to sechseck :laenge
repeat 6 [ fd :laenge rt 60 ]
end
Man kann eine variable Eckenanzahl einfügen, so das auch andere regelmäßige Polyeder dargestellt werden können:
to polyeder :ecken :laenge
repeat :ecken [ fd :laenge rt 360 / :ecken ]
end