LOGO (Programmiersprache)
LOGO ist eine einfach zu erlernende Programmiersprache, die eigentlich für Kinder entwickelt wurde. Diese Programmiersprache musste man über Kassette, Diskette oder Steckmodul nachinstallieren. Entworfen wurde sie 1967 von Daniel G. Bobrow, Wally Feurzeig, Seymour Papert und Cynthia Solomon.
Die Besonderheit der LOGO-Sprache war ein Igel, der auf dem Bildschirm den Anweisungen des Nutzers folgte. Kinder sollten so Geometrie erlernen. Der Igel sah übrigens nicht aus wie ein Igel, sondern wie ein Dreieck.
Mit Befehlen wir FORWARD
oder RIGHT
gab man dem Maskottchen Richtungsanweisungen gefolgt von Zahlen. Bei den Angaben für „Links“ und „Rechts“ erwartet der Igel eine Angabe in Form von 0 bis 360 Grad, bei „Vor“ und „Zurück“ hingegen die Zahl der „Schritte“, die er gehen muss.
Ein Vorteil von LOGO ist außerdem die Möglichkeit, die Befehle abzukürzen. Aus FORWARD
wird so FD
oder aus LEFT
dann LT
.
LOGO-Befehle
Wir listen nachfolgend einige LOGO-Befehle samt kurzer Beschreibung auf.
- BACK (BK): Bewegt den Igel X Schritte zurück.
- FORWARD (FD): Bewegt den Igel X Schritte nach vorn.
- LEFT (LT): Bewegt den Igel um X Grad nach links.
- PENDOWN: Lässt den virtuellen Zeichenstift herunter, sorgt dafür, dass man mit dem Igel wieder zeichnen kann.
- PENERASE (PE): Lässt den Igel Pixel löschen auf Linien, auf denen er sich bewegt oder diese kreuzt.
- PENUP: Hebt den virtuellen Zeichenstift hoch, sorgt dafür, dass der Igel keine Pixel auf dem Bildschirm mehr einfärbt.
- RIGHT (RT): Bewegt den Igel um X Grad nach rechts.
Erweiterbarkeit durch Prozeduren
Die Logo Programmiersprache verfügt zwar über einen festen Wortschatz mit vorhandenen Prozeduren. Man kann den Befehlsvorrat jedoch erweitern, indem man eigene Prozeduren anlegt.
Wichtig ist, dass die Bezeichnungen für Prozeduren keine Leerzeichen enthalten dürfen und sich natürlich nicht an den Namen vorhandener Prozeduren bedienen.
Prozedur anlegen
Eine Prozedur – heute würde man vielleicht auch Methode oder Funktion sagen – besteht bei Logo aus drei Teilen:
TO
+ Bezeichner.- Befehlsfolge.
END
Die Prozedur VIERECK
würde man beispielsweise wie folgt erzeugen:
TO VIERECK
REPEAT 4 [FD 40 RT 90]
END
Die Eingabe dieser Prozedur gefolgt von Enter sorgt für die Rückmeldung des Logo-Interpreters „VIERECK IS DEFINED“.
Prozedur ausführen
Jetzt kann mit einfach VIERECK
tippen und die Eingabe bestätigen, dann führt Logo die eigene Prozedur aus.
Prozedur speichern
Speicher von Computern aus der Zeit, in der man Logo verwendete, sind flüchtig. Wenn man die Geräte ausschaltete, waren die eingegebenen Prozeduren weg.
Prozeduren löschen
Man konnte sie jedoch speichern, und zwar durch Eingabe von: SAVE NAME
.
Man kann die eigenen Prozeduren mittels ERASE NAME
auch wieder löschen. Möchte man alle gespeicherten Prozeduren löschen, funktioniert das über den Befehl ERASE ALL
.
Variablen in Logo
Ein weiterer Bestandteil von Programmiersprachen sind Variablen, also Platzhalter für Werte. Variablen gibt es auch in Logo. Nutzt man eine Variable mit Befehlen zusammen, setzt man ihr einen Doppelpunkt voran.
Die VIERECK
-Prozedur kann man zum Beispiel durch eine Variable wie folgt flexibler gestalten:
TO VIERECK :LAENGE
REPEAT 4 [FD :LAENGE RT 90]
END
Wenn man nun beispielsweise eine neue Prozedur anlegt, die unterschiedliche Längen von Vierecken berücksichtigt.
TO SUPERVIERECK
VIERECK 20
VIERECK 30
VIERECK 40
VIERECK 50
END
Die hier gewählten Beispiele sind der Literatur entnommen.1
Logo Programmiersprache heute
Obwohl die Programmiersprache in den 1960er-Jahren ihren Ursprung hat, wird sie noch heute in abgewandelter Form für Bildungsangebote genutzt. Spielroboter wie Mirobot lassen sich über Logo programmieren.
Wegen der Möglichkeit zur grafischen Ausgabe eignet sich Logo zur plakativen Vermittlung. Man kann die Programmiersprache beispielsweise im Web nutzen, im Programm TurtleCoder. Es ist dort jedoch eine Umgewöhnung von einem herkömmlichen Interpreter notwendig, da man mindestens genauso oft klickt wie tippt.
- Vgl. Computer Kurs – Einsteigen – Verstehen – Beherrschen (Ausgabe 2), 1985. ↩︎