Lernpfad:LibreLogo für Fortgeschrittene/Eigene Befehle programmieren

Aus Informatik-Box
Zur Navigation springen Zur Suche springen

Um eine Reihe von Anweisungen mehrmals hintereinander zu benutzen kann man Wiederholungen benutzen. Allerdings werden die Anweisungen dann mehrmals direkt hintereinander ausgeführt. Möchte man ein Fenster zeichnen, dann kann man so sehr leicht die vier Seiten malen:

WIEDERHOLE 4 [
  VOR 1cm
  RE 90
]

Es wird ein Quadrat mit der Seitenlänge 1 Zentimeter gezeichnet.

Soll nun ein zweites Fenster gezeichnet werden, dann muss der Turtle zuerst an die neue Position fahren, damit das Fenster an der richtigen Stelle erscheint, wenn man die Anweisungen erneut ausführt. Eine Schleife funktioniert hier nicht.

Eigene Anweisungen

Dafür erlaubt Logo das Programmieren eigener Anweisungen mit dem Wort ZU:

ZU FENSTER
  WIEDERHOLE 4 [
    VOR 1cm
    RE 90
  ]
ENDE

Nun gibt es eine neue Anweisung FENSTER, die ein quadratisches Fenster zeichnet, wenn sie benutzt wird.

FENSTER
RE 90
VOR 2cm
LI 90
FENSTER

Eigene Anweisungen mit Parametern

So eine neue Anweisung ist praktisch, aber noch praktischer wäre sie, wenn man mit ihr nicht nur einen Zentimeter große Fenster zeichnen könnte, sondern beliebig große.

Die VOR Anweisung zeichnet ja auch nicht immer eine ein Zentimeter lange Linie, sondern beliebig lange. Wie lang, das kann man durch eine Längenangabe selber festlegen: VOR 2,5cm.

Die Längenangabe in der VOR Anweisung nennt man einen Parameter. Und deine eigenen Anweisungen können auch solche Parameter besitzen.

Damit unsere FENSTER Anweisung beliebige Fenster zeichnen kann, fügen wir den Namen des Paramteres nach dem Namen der Anweisung ein. Den Namen des Parameters können wir dann in der Anweisung anstelle der Länge in der VOR Anweisung nutzen.

ZU FENSTER :Größe
  WIEDERHOLE 4 [
    VOR :Größe
    RE 90
  ]
ENDE

Probier es ruhig aus.

Mehrere Parameter

Man kann eine Anweisung auch mit mehreren Parametern versehen. Das Fenster oben ist immer ein Quadrat. Wir könnten aber auch ein sechseckiges Fenster zeichnen wollen. Die folgende Anweisung MEHRECK zeichnet eine Form mit einer Seitenlänge und einer beliebigen Anzahl Ecken:

ZU MEHRECK :Ecken :Größe
  WIEDERHOLE :Ecken [
    VOR :Größe
    RE 360/:Ecken
  ]
ENDE