Lernpfad:LibreLogo für Fortgeschrittene/Eigene Befehle programmieren: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „Um eine Reihe von Anweisungen mehrmals hintereinander zu benutzen kann man {{Pfad|Wiederholungen benutzen}}. Allerdings werden die Anweisungen dann mehrmals di…“)
 
Keine Bearbeitungszusammenfassung
Zeile 28: Zeile 28:
FENSTER
FENSTER
</pre>
</pre>
== 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 <code>VOR</code> 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: <code>VOR 2,5cm</code>.
Die Längenangabe in der <code>VOR</code> Anweisung nennt man einen '''Parameter'''. Und deine eigenen Anweisungen können auch solche '''Parameter''' besitzen.
Damit unsere <code>FENSTER</code> 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 <code>VOR</code> Anweisung nutzen.
<pre>
ZU FENSTER :Größe
  WIEDERHOLE 4 [
    VOR :Größe
    RE 90
  ]
ENDE
</pre>
Probier es ruhig aus.

Version vom 13. November 2018, 14:15 Uhr

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.