Logo (Programmiersprache)
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.
Vergleich Lisp - Logo
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.
Beispielprogramme in Logo
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.
Erweiterter Befehlssatz im MSWLOGO
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. |