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.In Lisp sieht ein Programm zur Berechnung der Fakultät beispielsweise so aus:
(defun !(n)aufgerufen wird es beispielsweise so: (! 6)(cond ((= n 0) (+ n 1)) ((= n 1) (* n 1)) ((> n 1) (* n (! (- n 1)))) ))
In Logo sieht das gleiche Programm nun so aus:
to fakultaet :naufgerufen wird es z. B. mitif :n = 0 [make "n 1] if :n > 1 [make "n :n * fakultaet :n - 1] output :nend
print fakultaet 6
Ihre bekannteste Besonderheit ist "turtle-graphics", 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 [re 360 / :ne fd :sz] endto mn_eck :ne :sz repeat :ne [re 360 / :ne n_eck :ne :sz] end
Aufrufen kann man das Programm zum Beispiel mit:
mn_eck 36 20
Logo-Programme zur Erzeugung der Koch-Kurve und der Kochschen Schneeflocke sind unter Koch-Kurve zu finden.