Logo (Programmiersprache)

Programmiersprache
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 1. November 2004 um 17:37 Uhr durch BWBot (Diskussion | Beiträge) (Bananeweizen - Bot: Typo). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Die Programiersprache Logo ist eine von Seymour Papert speziell für Kinder entwickelte, mit Lisp verwandte Sprache aus den 60er Jahren. Logo ist leicht zu erlernen.

In Lisp sieht ein Programm zur Berechnung der Fakultät beispielsweise so aus:

(defun ! (n)
  (cond ((zerop n) 1)
	((>= n 1) (* n (! (1- n))))))

aufgerufen wird es beispielsweise so: (! 6)

In Logo sieht das gleiche Programm nun so aus:

to fakultaet :n
  if :n = 0 [make "n 1]
  if :n > 1 [make "n :n * fakultaet :n - 1]
  output :n
end

aufgerufen wird es z. B. mit print fakultaet 6

Befehlssatz Turtlegraphics

Ihre bekannteste Besonderheit ist Turtlegraphics, bei der sich eine oder mehrere virtuelle Schildkröten über den Bildschirm steuern lassen, die bei Bedarf eine farbige Linie hinter sich herziehen. Mit diesen Linien kann dann eine Zeichnung erstellt werden.

Die wichtigsten Turtlegraphics-Befehle in LOGO
ts textscreen Text-Modus
fs fullscreen Graphik-Modus
home Die Schildkröte bewegt sich in die Mitte des Bildschirms mit Richtung zum oberen Bildschimrand
clean Der Bildschirm wird gelöscht, die Position der Schildkröte ändert sich nicht
cs cleanscreen home und clean zusammen
ht hideturtle Die Schildkröte wird unsichtbar
st showturtle Die Schildkröte wird sichtbar
setpc farbewert setpencolor farbwert Dem Stift wird eine Farbe zugeteilt
pu penup Der Stift wird von der Zeichenfläche genommen
pd pendown Der Stift wird auf die Zeichenfläche gesetzt
rt winkel right winkel Die Schildkröte dreht sich um einen bestimmten Grad nach Rechts
lt winkel left winkel Die Schildkröte dreht sich um einen bestimmten Grad nach Links
fd länge forward länge Die Schildkröte bewegt sich um eine bestimmte Anzahl von Einheiten nach vorne
bk länge back länge Die Schildkröte bewegt sich um eine bestimmte Anzahl von Einheiten zurück

Turtlegraphics ist prädestiniert für zweidimensionale geometrische Zeichnungen und Fraktale von der Art der Drachenkurve.

Ein einfaches Beispiel eines Programms das eindrucksvolle Objekte erstellen kann:

to n_eck :ne :sz
repeat :ne [rt 360 / :ne fd :sz]
end

to mn_eck :ne :sz
repeat :ne [rt 360 / :ne n_eck :ne :sz]
end

Aufrufen kann man das Programm zum Beispiel mit:

mn_eck 36 20

Wichtig bei den Befehlen rt und lt ist, dass der Winkel der Drehwinkel der Turtle ist (repeat 3 [fd 100 rt 60] liefert kein Dreieck, sondern einen geknickten Strich!).


Logo-Programme zur Erzeugung der Koch-Kurve und der Kochschen Schneeflocke sind unter Koch-Kurve zu finden.

Zusätzlich zu den Standard-2D-Befehlen kann bieten die neueren MSWLOGO-Versionen einen erweiterten Befehlssatz zur Darstellung von dreidimensionalen Darstellungen. Diese stellen dann aber kein Standard-Logo mehr da.

Erweiterte Befehle des MSWLOGO
setpc [r g b] setpencolor [r g b] Dem Stift wird die Farbe in den RGB-Anteilen (0-255) zugeteilt.