Startseite Lektion 1 Lektion 2 Lektion 3 Lektion 4 Lektion 5 Lektion 6 Lektion 7 Lektion 8 Lektion 9 Lektion 10 Befehlsübersicht

Ein Bild von LOGO

zur vorherigen Lektion

Lektion 5
Parameter

zur nächsten Lektion

LOGO

So weit so gut. Doch, wirklich. Wenn Du bis hier gekommen bist, hast Du schon Deine ersten Schritte in Richtung wirklicher Programmierung gemacht. Ein gutes Programm sagt dem Computer nämlich nicht nur, was er machen soll, sondern benutzt auch möglichst viele Prozeduren, um es dem Programmierer zu erleichtern und das Programm kleinzuhalten. Wenn Du nur eine endlose Liste aus "vorwärts" und "rechts"-Befehlen hast, wirst Du wohl kaum verstehen, was LOGO zeichnen soll. In Prozeduren geordnet weißt Du sofort: "Aha ! Die Prozedur Quadrat zeichnet ein Quadrat."

Was ist nun aber, wenn Du fünf verschieden große Quadrate malen willst ? Bis jetzt kannst Du LOGO ja noch nicht sagen, "zeichne ein großes Quadrat" oder so ähnlich.

Hierfür kannst Du in Prozeduren sogenannte Variablen übergeben: Eine Variable ist einfach ein Wort, das für eine Zahl steht. Du mußt Dir das so vorstellen: die Variable ist eine Schublade mit einem Namen, und diese Schublade enthält nun eine Zahl, die sich ändern kann. Für LOGO schreibst Du einfach den Namen der Variablen statt einer Zahl hin und LOGO ersetzt für sich den Namen der Variablen mit der Zahl, die sich gerade in der Schublade befindet.

Zum Beispiel die Größe eines Quadrats könnte eine Varibale sein. Wenn Du ein Quadrat mit einer beliebigen Seitenlänge zeichen willst, sieht die dazugehörige Prozedur so aus:

prozedur quadrat
vw breite
re 90
vw breite
re 90
vw breite
re 90
vw breite
re 90
ende

Wenn Du diese Prozedur mit den vorhergehenden vergleichst, bemerkst Du das komische Wort "breite". Das ist eine Variable. Die Strecke, die LOGO nach jeder Drehung vorwärts geht, verändert sich also. Wie sagst Du LOGO nun, wie groß er das Quadrat dann wirklich zeichnen soll ?

Der Befehl für ein solches Quadrat lautet dann zum Beispiel:

prozedur main
gehezu quadrat,breite=100
ende

LOGO ersetzt sozusagen jedesmal das Wort breite durch den Wert der Variable. Führe das Beispiel einmal Schritt für Schritt durch, dann siehst Du, daß LOGO wirklich die Prozedur hintereinander liest.

Probiere nun einmal, eine Prozedur Rechteck zu programmieren. Dazu brauchst Du natürlich mehr als eine Variable. Du kannst sie einfach breite une länge nennen.

Der Befehl "gehezu" sieht dann zum Beispiel so aus:

gehezu rechteck breite=100,laenge=50

Alle Werte trennst Du einfach durch Kommas. Beachte, daß Du das Komma von Zahlen mit Nachkommastellen, falls Du diese schon kennst, durch einen Punkt ersetzen mußt. Nachkommastellen sind aber eigentlich noch nicht wichtig, da LOGO ja keine halben Schritte gehen kann.

Nun verwende mal Deine Prozedur Rechteck in einer weiteren Prozedur Haus. Dazu setze einfach wieder ein Dreieck auf das Rechteck. Daran siehst Du, daß Du Prozeduren auch beliebig kombinieren und verschachteln kannst. Behalte die Prozedur "Haus" für die nächste Lektion. Wir werden dann damit eine ganze Stadt zeichnen.

Paß jedoch auf, daß Du aus der Prozedur Dreieck nicht wieder die Prozedur Rechteck aufrufst. Dann würde LOGO nämlich immer wieder vom Dreieck zum Quadrat und zurück wechseln, ohne jemals an ein Ende zu kommen. In der Programmierersprache nennt man so etwas Endlosschleife.

Dein Browser unterstützt kein Java. Mit Java würdest Du hier nun Logo auf seinem Blatt Papier und den Logo Interpreter sehen. Du mußt Java aktivieren oder einen externen Interpreter benutzen, den Du unter "Download" bekommst.