Dieser Logo-Kurs richtet sich nicht nur an Basic-Programmierer, die sich für andere Sprachen interessieren, sondern auch an alle, die vorher noch nie programmiert haben. Der Kurs orientiert sich am Commodore-Logo, aber Sie können auch mit jeder anderen Logo-Version am Kurs teilnehmen. Wenn Ihre Version abweichende Befehle benutzt, schauen Sie in unsere Ausgabe vom Februar. Dort finden Sie eine Befehlsübersicht der verschiedenen Logo-Versionen.
Bilder wie die hier gezeigten werden normalerweise zur Computerkunst gezählt und man fragt sich mit Recht, wie es der Programmierer geschafft hat, so etwas auf den Bildschirm zu bringen. Man kann den Commodore 64 zwar auch in der »eingebauten« Sprache Basic für Grafik programmieren, aber es macht Schwierigkeiten, entsprechende Programme zu schreiben. Das erkannten auch die Wissenschaftler am Massachusetts Institute of Technology (MIT) in Boston, USA, einer der besten Technischen Universitäten der Welt, Sie setzten sich zum Ziel, eine Programmiersprache zu schreiben, die erstens einfach zu erlernen ist, und die zweitens vor allem für Grafikprogramme geeignet ist. Das Ergebnis ihrer Bemühungen war Loge. In diesem und weiteren Artikeln soll die Sprache-Logo in der Form eines Kurses vorgestellt werden.
Die Schildkröte spannt Fäden zu einem schönen Bild
Man nennt Logo eine Computer-»Sprache«. Da ein Computer aber nicht wirklich sprechen kann, erhebt sich die Frage, was man mit einer Computersprache eigentlich anfangen kann. Um diese Frage zu beantworten, ist ein kleiner Exkurs notwendig; Betrachtet man den Commodore 64. so sieht man zunächst dreierlei;
eine Tastatur
einen Fernsehbildschirm
ein flaches Kästchen, die Diskettenstation
Die »Tastatur« enthält beim C 64 unter anderem auch das »Gehirn«, eine komplizierte elektronische Schaltung, den Mikroprozessor. Der Mikroprozessor kann addieren, subtrahieren, Zahlen vergleichen, etc. Wenn man weiß, wie man den Mikroprozessor anspricht, dann kann man ihn veranlassen, zum Beispiel die Zahlen 5 und 8 zu addieren. Allerdings versteht ein Mikroprozessor nicht alles, was man ihm sagt. Die Sprache, die man benötigt, um mit dem Mikroprozessor zu sprechen, ist recht kompliziert. Ein Beispiel: Um die Zahlen 5 und 8 zu addieren, muß man dem Mikroprozessor des Commodore 64 folgendes sagen:»A9 05 69 08«. Das ist recht unübersichtlich und unbequem. Man nennt diese Methode »Programmieren in Maschinensprache«.
Es wäre viel einfacher, könnte man dem Computer »5 + 8« eingeben und bekäme als Antwort »13«. Dazu muß die Eingabe »5 + 8« so übersetzt werden, daß der Mikroprozessor die Eingabe A 9 05 69 08« erhält. Eine »höhere« Computersprache ist daher nichts weiter als ein Programm, das einfache, für den Menschen verständliche Eingaben in die komplizierte Maschinensprache des Mikroprozessors übersetzt, Es gibt viele Computersprachen für die verschiedensten Zwecke, darunter Basic, Fortran, Cobol, Algol, Pascal, Ada, PL/l, APL, Modula 2, Forth, C und Logo, mit dem wir uns jetzt näher beschäftigen wollen.
Eine Ananasscheibe mit Ausstrahlung von der Schildkröte »zubereitet«
Der Commodore 64 ist ein Computer, der normalerweise in Basic programmiert werden muß. Dementsprechend meldet er sich nach dem Einschalten auch mit der Nachricht »**** COMMODORE 64 BASIC V2 ****«. Beherrscht man Basic, kann man dem Computer Anweisungen geben, die dieser dann auch ausführt. Man könnte dem Computer aber keine Anweisunger, geben, die zu der Sprache Logo gehören. Der Computer muß also zunächst dazu gebracht werden, das Programm anzuwenden, das ihn befähigt, Logo zu verstehen. An dieser Stelle kommt nun die Diskettenstation ins Spiel. Man legt, wie im Handbuch beschrieben, die Diskette mit der Aufschrift Logo in die Diskettenstation ein, gibt dem Computer dann das Kommando »OPEN 15,8,15« und drückt die Taste mit der Aufschrift RETURN.
Der Computer meldet sich mit »READY«. Nun geben Sie »LOAD "LOGO",8« ein. Worauf der Computer »SEARCHING FOR LOGO« ausgibt. Hat er Logo auf der Diskette gefunden, so meldet er »LOADING« und, sobald er damit fertig ist, »READY«.
Geben Sie jetzt »RUN« ein und warten Sie. Der Computer arbeitet jetzt hörbar, er »lernt« Logo. Man nennt diesen Vorgang Laden, oder auf Englisch Loading. Sobald der Computer mit dem Laden fertig ist, meldet er auf dem Bildschirm
COMMODORE 64 LOGO COPYRIGHT (C) 1982,1983 TERRAPIN, INC. COPYRIGHT (C) 1981 MIT. WELCOME TO LOGO! ?
Das Fragezeichen bedeutet, daß man nun dem Computer Kommandos in der Sprache Logo geben kann.
Als Leonardo da Vinci seine Mona Lisa malte, verwendete er ein anderes Papier als das für seine berühmten, in Spiegelschrift geschriebenen Tagebücher. Logo ist derselben Meinung, obwohl man natürlich mit Logo nicht auf Papier, sondern auf den Bildschirm zeichnet. Logo unterscheidet zwischen einem Textbildschirm und einem Grafikbildschirm. Der Textschirm, mit dem Sie Logo Willkommen geheißen hat, wird zur Eingabe von Kommandos und Programmen verwendet; der Grafikschirm ist das Zeichenbrett von Logo. Geben Sie nun das Kommando »DRAW« ein und drücken Sie die RETURN-Taste. Die RETURN-Taste muß übrigens immer nach der Eingabe eines Kommandos gedrückt werden, damit der Computer den Logo-Befehl auch ausführt. Das Kommando »DRAW« (auf deutsch: »zeichne«) bewirkt Bemerkenswertes.
Der Bildschirm ist jetzt plötzlich im oberen Teil schwarz und nur noch im unteren Teilhellblau. Außerdem befindet sich auf dem schwarzen Teil des Bildschirms in der Mitte ein weißes Dreieck mit nach oben zeigender Spitze. Der schwarze Teil des Bildschirms ist ein Teil des Grafikschirms von Logo, der untere, hellblaue Teil ist Teil des bekannten Textschirmes. Logo beläßt den unteren Teil normalerweise im Textmodus, damit man seine Kommandos bei der Eingabe überprüfen kann, Sie können zwischen den verschiedenen Bildschirmen beliebig umschalten. Ein Druck auf die Funktionstaste F1 schaltet den Textschirm ein, F3 schaltet auf den gemischten Text-Grafikschirm um und F5 schaltet den Grafikschirm ein,
Das weiße Dreieck auf dem Grafikschirm ist die Logo-Schildkröte (»turtle«). Die Schildkröte ist der Zeichenstift des Logo-Künstlers. Nach der Eingabe des Kommandos »DRAW« befindet sich die Spitze des Zeichenstiftes in der Mitte des »Zeichenbretts«, also des Grafikschirms. Die Spitze des Dreiecks zeigt in die Richtung, in die man als nächstes zeichnen kann. Gibt man den entsprechenden Befehl, so kann man als nächstes also nach oben zeichnen.
Geben Sie nun das Kommando »FORWARD 100« ein und vergessen Sie nicht, RETURM zu drücken, Die Schildkröte hat sich tatsächlich nach oben bewegt und, wie es sich für einen vernünftigen Zeichenstift gehört, einen weißen Strich nach sich gezogen. Tatsächlich heißt »FORWARD« auf Deutsch »VORWÄRTS« Die Zahl hinter dem Wort »FORWARD« sagt Logo, wie lang der Strich sein soll, den die Schildkröte zeichnet,
Wenn man viele derartige Geraden zeichnen will, wird es recht seitaufwendig, immer das relativ lange Wort »FORWARD« zu schreiben. Man kann »FORWARD« deshalb auch mit den Buchstaben »FD« abkürzen. »FD 100« zeichnet ebenfalls einen Strich der Länge 100.
Die Spitze des Zeichenstiftes zeigt immer noch nach oben. Gibt man jetzt zum Beispiel »FD 60« ein, so zeichnet die Schildkröte einen Strich mit der Länge 60 und hängt diesen an den vorher gezeichneten an. Interessanterweise kümmert sich die Schildkröte nicht darum, ob sie vom Zeichenbrett herunterfährt oder nicht. Wenn der Strich zu lang wird, um auf dem Grafikschirm noch Platz zu haben, kommt die Schildkröte einfach von der unteren Bildschirmkante wieder zum Vorschein und zeichnet dort weiter. Man nennt diesen Effekt Wickelbetrieb. Probieren Sie das aus, indem Sie mehrmals hintereinander Kommandos wie »FD 70« geben.
Das Kommando »FORWARD« ist sicherlich nicht dazu geeignet, extrem aussagekräftige Grafiken zu erzeugen Eine Gerade allein, selbst im Wickelbetrieb, ist langweilig. Die Schildkröte kann aber mehr als nur vorwärts zeichnen. Sie kann sich drehen, um sich mit dem nächsten »FORWARD«-Befehl in eine andere Richtung zu bewegen. Geben Sie Logo den Befehl »RIGHT 60« ein und das Dreieck dreht sich nach rechts. »RIGHT« steht für »rechts« und die Zahl hinter dem Wort »RIGHT« für die Anzahl der Winkelgrade, um die sich die Schildkröte drehen soll. »RIGHT 60« dreht also die Schildkröte um 60 Grad nach rechts. Die Buchstaben »RT« können als Abkürzung verwendet werden,
Analog dazu kann man mit »LEFT 70« die Schildkröte dazu bewegen, sich um 70 Grad nach links zu drehen. »LT« ist die Abkürzung für »LEFT« Die Kommandos »FORWARD« oder »FD«; »RIGHT« oder »RT«, »LEFT« oder »LT« sind die grundlegenden Grafikbefehle von Logo. Mit ihnen kann man den Zeichenstift steuern und Geraden zeichnen lassen, »RT« und »LT« dreht dabei den Zeichenstift in eine neue Richtung, »FD« bewegt ihn geradlinig in diese Richtung. Durch Aneinanderreihen mehrerer dieser Befehle lassen sich bereits einfache Zeichnungen anfertigen.
Schon die alten Ägypter erkannten das Quadrat mit seinen rechten Winkeln als die ideale Grundfläche ihrer Pyramiden, Noch heute setzen sich Baupläne oft aus geraden Linien und dazwischenliegenden rechten Winkeln zusammen, Mit den bisher bekannten Kommandos der Sprache Logo ist es kein Problem, Rechtecke auf den Bildschirm zu zeichnen. Löschen Sie den Bildschirm zunächst mit dem Kommando »DRAW«, Nun veranlassen Sie die Schildkröte, eine Gerade der Länge 60 zu zeichnen. Das Kommando lautet »FD 60«.
Der Zeichenstift befindet sich jetzt am Ende der Geraden und weist nach oben. Um einen rechten Winkel zu erzeugen, muß er sich um 90 Grad nach rechts oder nach links drehen: »RT 90«. Mit der Anweisung »FD 40« wird die Oberseite des Rechtecks gezeichnet. Auf dem Bildschirm ist jetzt ein rechter Winkel zu sehen, Das Rechteck wird mit den Befehlen
RT90 FD 60 RT90 FD 40
vervollständigt. Es ist recht langwierig, nach jeder Eingabe eines Kommandos RETURN drücken zu müssen. Um die Eingabe zu beschleunigen, kann man die Befehle in Logo auch hintereinander, ohne RETURN zu drücken, eingeben. Erst nach der Eingabe aller Befehle drückt man kann die RETURN-Taste und befiehlt Logo damit, die Befehle auszuführen. Gibt man also »DRAW FD 60 RT 90 FD 40 RT 90 FD 60 RT 90 FD 40«, RETURN ein, so wird auf dem Bildschirm ebenfalls ein Rechteck mit den Kantenlängen 60 und 40 gezeichnet.
Das Rechteck soll nun zu einem Haus ausgebaut werden, Häuser haben im allgemeinen Dächer und diese befinden sich normalerweise oben. Die Schildkröte aber sitzt derzeit an der unteren linken Ecke des Rechtecks und zeigt mit ihrer Spitze nach links. Um das Dach zu zeichnen muß die Schildkröte an die obere linke Ecke des Rechtecks bewegt werden. Sie muß dazu zunächst um 90 Grad nach rechts (oder um 270 Grand nach links) gedreht werden, so daß ihre Spitze nach oben (zur linken oberen Ecke) zeigt, und dann um eine Entfernung von 60 Einheiten an die linke obere Ecke des Rechtecks bewegt werden. Geben Sie daher die Kommandos »RT 90 FD 60« ein,
Die Schildkröte befindet sich jetzt an der linken oberen Ecke des Rechtecks. Bauen wir das Dach mit »RT 30 FD 40 RT 120 FD 40«, Es ist mit den vier bisher bekannten Logo-Befehlen, »DRAW«, »FD«, »RT«, »LT« möglich, ein einfaches Bild zu erzeugen. Der Zeichenstift, dargestellt durch das weiße Dreieck auf dem Bildschirm, laßt sich dazu mit dem Befehl »FD«
Seymour Papert ist der bekannteste Vater der Schildkröte
Versuchen Sie mit diesen Befehlen, in das Haus einen Türe einzubauen! Das Ergebnis sollte so aussehen wie das Beispiel in der Abbildung,
Als die Schildkröte das Haus (ohne Türe) zeichnete, mußten wir ihr mit insgesamt 13 Befehlen unter die Arme greifen. Wollten wir ein zweites Haus zeichnen, so müßten wir diese 13 Befehle wieder eingeben. Sicherlich ist das mit der Zeit recht arbeitsintensiv und es wäre sein nützlich, wenn man diese Prozedur abkürzen könnte Logo bietet diese Möglichkeit, indem man einen neuen Befehl »definiert«, der die 13 Kommandos zum Zeichnen des Hauses automatisch ausführt. Man faßt also die 13 Befehle unter einem neuen Namen, zum Beispiel »Haus«, zusammen. Geben Sie »TO HAUS« ein und drücken Sie die RETURN-Taste. Das hat zur Folge, daß sich der Bildschirm wieder einmal verändert. Er ist nun dunkelgrau und in der oberen linken Ecke lesen wir die Worte TO HAUS«. Am unteren Bildschirmrand steht außerdem schwarz auf weiß »EDIT; CTRL-C TO DEFINE, CTRL-G TO ABORT«.
Wir werden später auf die Bedeutung dieser Zeile zurückkommen. Der Cursor, das blinkende weiße Rechteck, befindet sich direkt unter dem »T« des Wortes »TO«. Geben Sie nun die 13 Befehle ein, die notwendig waren, um das Haus zu zeichnen.
TO HAUS FD 60 RT 90 FD 40 RT 90 FD 60 RT 90 FD 40 RT 90 FD 60 RT 30 FD 40 RT 120 FD 40
Schließen Sie Ihre Eingabe mit RETURN ab und drücken Sie dann die Taste mit der Aufschrift RUN/STOP ein Tastendruck mit Folgen. Der Bildschirm schaltet wieder auf den gewohnten blauen Textmodus um und Logo erfreut uns mit der Bitte »PLEASE WAIT...«. Oder, auf deutsch, »BITTE WARTEN...«, Kurz darauf erhält der erstaunte Programmierer die Mitteilung »HAUS DEFINED« und das gewohnte Fragezeichen mit dem blinkenden Cursor im Gefolge erscheint auf dem Bildschirm. Logo teilt damit mit, daß es sich die 13 Kommandos gemerkt hat und immer dann ausführen wird, wenn wir das Kommando »HAUS« geben, Probieren Sie es aus!
Im übrigen ist es absolut nicht notwendig, die 13 Kommandos, die ein Haus zeichnen, als »HAUS« zu definieren. Logo, der Commodore 64 und. unsere Schildkröte wissen nämlich nicht, was ein Haus ist. Sie machen nichts weiter, als 13 bestimmte Befehle auszuführen, wann immer der Befehl »HAUS« gegeben wird. Es ist der Schildkröte völlig egal, ob diese 13 Befehle etwas zeichnen, das für uns Menschen wie ein Haus, ein Flugzeug, oder Gekritzel aussieht. Es wäre demnach auch ohne weiteres möglich, folgendes einzugeben: TO FISCH
FD 60 RT 90 Fd 40 RT 90 FD 60 RT 90 FD 40 RT 90 FD 60 ET 30 FD 40 RT 120 FD 40
Schließen Sie die Eingabe mit RUN/STOP ab. Logo erklärt nun »FISCH DEFINED«. Geben Sie nun den Befehl »FISCH« und, oh Wunder, ein Haus erscheint auf dem Bildschirm. Der Befehl »TO« hat also keine andere Aufgabe als die, Logo zu veranlassen, eine Anzahl von Kommandos unter einem Namen zusammenzufassen und sie immer dann nacheinander auszuführen, wenn man diesen Namen als Kommando verwendet. Man programmiert den Computer, eine Anzahl Befehle auszuführen, wenn ein bestimmtes Kommando gegeben wird.
left
Leider hat ein Computer eine schlechte Eigenschaft. Sobald er ab geschaltet wird, »vergißt« er alles, was Sie ihm in mühsamer, zeitaufwendiger Arbeit eingegeben haben. Sie müssen also, wenn Sie das nächste Mal, nach zum Beispiel mehreren Tagen, wieder Ihr Haus zeichnen wollen, wieder ein Kommando wie »HAUS« oder Ähnliches aus den einzelnen Befehlen programmieren. Um Ihnen diese Arbeit zu ersparen, haben Ingenieure ein Gerät entwickelt, mit dem man Programme speichert, bevor der Strom abgeschaltet wird. Dieses Gerät ist das Diskettenlaufwerk. Das Laufwerk arbeitet ähnlich einem Tonbandgerät, mit dem Sie Musik auf ein Magnetband aufzeichnen können. Die Station ist in der Lage, Ihre Programme auf einer Magnetplatte, der Floppy-Disk, aufzuzeichnen, Nehmen Sie zur Speicherung der Programme nicht die Diskette mit der Aufschrift »LOGO« oder der Aufschrift »LOGO Utilities«, sondern eine neue Diskette, die Sie entsprechend den Hinweisen des Logo-Handbuchs vorbereiten.
Legen Sie die neue Diskette ein und geben Sie den Befehl »SAVE "LOGO1" und drücken Sie die RETURN-Taste. Das Diskettenlaufwerk wird aktiv, es dreht sich etwas und klickt, schließlich erscheint auf dem Bildschirm wieder ein Fragezeichen und der blinkende Cursor. Sie können den Rechner nun beruhigt abschalten.
Probieren Sie anschließend, die gespeicherten Kommandos wieder in den Computer einzulesen. Schalten Sie den Computer also wieder ein und laden Sie, wie beschrieben, Logo. Legen Sie nun die Diskette ein, auf die Sie »LOGO1« gespeichert haben und geben Sie dann den Befehl »READ "LOGO1"
Logo revanchiert sich nach einigen Geräuschen im Laufwerk mit den Meldungen
HAUS DEFINED FISCH DEFINED
und fügt zum Zeichen, daß es bereit ist, neue Kommandos zu empfangen, ein Fragezeichen und den Cursor hinzu. Sie können jetzt mit dem Befehl »HAUS« wieder ein Haus zeichnen. In der nächsten Folge geht es um Farben, Positionen und Variablen in Logo.
(Herbert W. Neunteufel/wg)