LibreLogo
LibreLogo ist eine einfache, lokalisierte, Logo-artige Programmierumgebung mit Turtle-Vektorgrafiken für den Informatikunterricht (Programmierung und Textverarbeitung), DTP und Grafikdesign. Lesen Sie mehr unter http://www.numbertext.org/logo/librelogo.pdf (englisch).
Symbolleiste LibreLogo
Die Symbolleiste LibreLogo (wählen Sie
) enthält Schaltflächen für Turtle-Bewegungen, Programmstart und -stopp, Anfang, Bildschirm säubern, Programmeditor, Syntaxhervorhebung, Übersetzen des Programmcodes und eine Eingabezeile (Befehlszeile).Schaltflächen für Turtle-Bewegungen
Es gibt Schaltflächen für die Logo-Befehle "VOR 10", "ZURÜCK 10", "LINKS 15" und "RECHTS 15". Ein Klick auf eine der Schaltflächen setzt auch den Fokus auf den Turtle-Umriss und rollt die Seite zu dessen Position.
Logo-Programm starten
Klicken Sie auf die Schaltfläche „Logo-Programm starten“, um den Text (oder nur den Text) des Writer-Dokuments als Logo-Programm auszuführen. In einem leeren Dokument wird ein Beispieltext eingefügt und ausgeführt.
Klicken Sie auf die Schaltfläche „Stopp“, um die Programmausführung anzuhalten.
Anfang
Klicken Sie auf die Schaltfläche „Anfang“, um die Position und Einstellungen des Turtles zurückzusetzen.
Bildschirm leeren
Klicken Sie auf die Schaltfläche „Bildschirm leeren“, um die Zeichnungsobjekte aus dem Dokument zu entfernen.
Programmeditor/Syntaxhervorhebung/Übersetzen
Das Icon mit dem Zauberstab setzt ein doppelseitiges Layout für die Programmbearbeitung, erweitert abgekürzte Logo-Begehle und konvertiert Logo-Befehle innerhalb eines Writer Dokuments in Großbuchstaben. Wechseln Sie die Sprache des Dokuments (wählen Sie
) und klicken Sie auf diese Schaltfläche, um den Logo-Programmcode in die gewählte Sprache zu übersetzten.Befehlszeile
Betätigen Sie die Eingabetaste innerhalb der Befehlszeile, um dessen Inhalt auszuführen. Um das Programm anzuhalten, klicken Sie auf die Schaltfläche „Stopp“.
Halten Sie die Eingabetaste gedrückt, um den Inhalt der Befehlszeile wiederholt auszuführen, beispielsweise mit der folgenden Befehlsfolge:
VOR 200 LINKS 89
Um die Befehlszeile zu löschen, klicken Sie dreifach in diese oder verwenden Sie Strg+A, um alles zu markieren und mit der neuen Befehlsfolge zu überschreiben.
Grafische Benutzeroberfläche für Grundeinstellungen des Turtles
Der Turtle in LibreLogo ist ein normales Zeichnungsobjekt mit fester Größe. Sie können dieses auf dem Standardweg positionieren und drehen, aber auch, indem Sie die Maus und das Symbol Drehen der Symbolleiste Zeichnungsobjekt-Eigenschaften verwenden. Ändern Sie die Eigenschaften Linienbreite, Linienfarbe und Flächenfarbe des Turtles, so werden auch die Attribute STIFTBREITE, STIFTFARBE und FÜLLFARBE von LibreLogo gesetzt.
Bearbeitung des Programmcodes
LibreLogo-Zeichnungen und -Programmcode benutzen dasselbe Writer Dokument. Die LibreLogo-Zeichenfläche befindet sich auf der ersten Seite des Writer Dokuments. Sie können einen Seitenumbruch vor dem LibreLogo-Programmcode einfügen und mittels des Icons mit dem Zauberstab aus der Symbolleiste Logo die Ansicht so optimieren, dass ein komfortables doppelseitiges Layout für die Ansicht der LibreLogo-Programmierung zur Verfügung steht: Links (erste Seite) die Zeichenfläche, rechts (zweite Seite) der LibreLogo-Programmcode.
LibreLogo Programmiersprache
LibreLogo ist eine leicht zu lokalisierende, Logo-artige Programmiersprache und durch die LibreOffice-Community bereits in diverse Sprachen übersetzt. Es ist abwärtskompatibel zum älteren Logo-System, beispielsweise um es in der Bildung als einfache Programmiersprache zu verwenden.
ZU Dreieck :Größe
WIEDERHOLE 3 [
VOR :Größe
LINKS 120
]
ENDE
Dreieck 10 Dreieck 100 Dreieck 200
Unterschiede zur Logo-Programmiersprache
-
Listenelemente werden durch Kommata getrennt: POSITION [0, 0]
-
Programmblöcke und Listen werden unterschiedlich gehandhabt
-
-
Programmblöcke benötigen Leerstellen oder Zeilenumbrüche bei Klammern: WIEDERHOLE 10 [ VOR 10 LINKS 36 ]
-
Listen benötigen anliegende Klammern: POSITION [0, 0] und nicht POSITION [ 0, 0 ]
-
-
Einzeilige Funktionsdeklarationen werden nicht unterstützt (ZU und ENDE benötigen neue Zeilen).
Weitere Eigenschaften von LibreLogo
-
Doppelpunkte vor Variablennamen sind optional.
ZU Dreieck Größe
WIEDERHOLE 3 [ VOR Größe LINKS 120 ]
ENDE -
Zeichenketten können auch in Anführungszeichen oder in Python-Schreibweise notiert werden.
AUSGABE "Wort" ; Original Logo-Syntax
AUSGABE „Beliebiger Text.” ; Writer-Schreibweise
AUSGABE 'Beliebiger Text.' ; Python-Syntax -
Handhabung von Python-Listen und -Zeichenketten
AUSGABE „Text”[2] ; gibt „x” zurück
AUSGABE „Text”[1:3] ; gibt „ex” zurück -
Python-artige FÜR-Schleifen
-
Python-artige Variablendeklaration:
x = 15
AUSGABE x -
Es gibt keine weiteren Suchfunktionen:
AUSGABE FÜLLFARBE
p = POSITION
AUSGABE p
WIEDERHOLE 10 [ POSITION BELIEBIG POSITION p ] -
Alternative Klammersetzung in Funktionsaufrufen
ZU Stern Größe Farbe
FÜLLFARBE Farbe
WIEDERHOLE 5 [ LINKS 72 VOR Größe RECHTS 144 VOR Größe ]
FÜLLEN
ENDE
Stern 100 „rot”
Stern (100, „grün”)
Stern(100, „blau”)
LibreLogo-Befehle
Grundsyntax
Groß- und Kleinschreibung
Bei Befehlen und Farben ist die Groß- und Kleinschreibung irrelevant:
AUSGABE „Hallo, Welt!”
gibt „Hallo, Welt, noch einmal!” zurück
Bei Variablennamen ist die Groß- und Kleinschreibung relevant:
a = 5
A = 7
AUSGABE a
AUSGABE A
Programmzeilen
Absätze in einem Writer-Dokument sind LibreLogo-Programmzeilen. Eine Programmzeile kann dabei mehrere Befehle enthalten:
AUSGABE „Hallo, Welt!“ AUSGABE „LibreLogo“
Befehle
Kommentare sind Zeilen oder Teilzeilen ab einem Semikolon und bis zum Ende der Zeile (des Absatzes).
; ein Kommentar
AUSGABE 5 * 5 ; ein Kommentar
Befehlszeilen auf mehrere Absätze umbrechen
Es ist möglich, Programmzeilen auf mehrere Absätze umzubrechen, indem das Zeichen Tilde (~) am Zeilenende notiert wird:
AUSGABE „Dies ist eine sehr lange” + ~
„Warnmeldung”
Turtle-Bewegungen
VOR (VR)
VOR 10 ; Bewegung vorwärts um 10 pt (1 pt ≈ 0,373 mm)
VOR 10pt ; wie zuvor
VOR 0,5in ; Bewegung vorwärts um 0,5 inch (1 inch = 2,54 cm)
VOR 1" ; wie zuvor
VR 1mm
VR 1cm
ZURÜCK (ZK)
ZURÜCK 10 ; Bewegung rückwärts um 10 pt
LINKS (LI)
LINKS 90 ; Drehung um 90° gegen den Uhrzeigersinn
LINKS 90° ; wie zuvor
LI 3h ; wie zuvor (Uhrzeigerposition)
LI BEL ; Drehung um einen zufälligen Winkel
RECHTS (RE)
RECHTS 90 ; Drehung um 90° mit dem Uhrzeigersinn
FLIEGEN
FLIEGEN ; Turtle wird sich bewegen, ohne zu zeichnen
LAUFEN
LAUFEN ; Turtle wird sich zeichnend bewegen
POSITION (POS)
POSITION [0, 0] ; Drehung und Bewegung zur oberen linken Ecke
POSITION SEITE ; Drehung und Bewegung zur unteren rechte Ecke
POSITION [SEITE[0], 0] ; Drehung und Bewegung zur oberen rechten Ecke
POS BEL ; Drehung und Bewegung zu einer zufälligen Position auf der Seite
RICHTUNG (RI)
RICHTUNG 0 ; Drehung nach Norden
RICHTUNG 12h ; wie oben
RICHTUNG [0, 0] ; Drehung zur Ecke oben links
RI BEL ; Drehung in eine zufällige Richtung
Weitere Turtle-Befehle
VERBERGEN
VERBERGEN ; Verbirgt Turtle (bis der Befehl ZEIGEN aufgerufen wird)
ZEIGEN
ZEIGEN ; Zeigt Turtle an
ANFANG
ANFANG ; Setzt Turtle auf die Anfangsposition zurück
SÄUBERN
SÄUBERN ; entfernt alle Zeichnungsobjekte aus dem Dokument
FÜLLEN und SCHLIESSEN
FÜLLEN ; Schließt die aktuelle Form oder Kurve und füllt sie
SCHLIESSEN ; Schließt die aktuelle Form oder Kurve
Beispiel: ein gefülltes gleichzeitiges Dreieck:
VOR 50 LINKS 120 VOR 50 FÜLLEN
Beispiel: ein gleichseitiges Dreieck:
VOR 50 LINKS 120 VOR 50 SCHLIESSEN
Stifteinstellungen
STIFTBREITE/LINIENBREITE (SB/LB)
STIFTBREITE 100 ; Linie mit 100 pt Breite
STIFTBREITE BELIEBIG ; Genauso wie SB ZUFÄLLIG 10
STIFTFARBE/LINIENFARBE (SF/LF)
STIFTFARBE „rot“ ; Verändert die Schriftfarbe in rot (für mögliche Farben schlagen Sie unter Farbkonstanten nach)
STIFTFARBE [255, 255, 0] ; Verändert die Stiftfarbe in gelb (wie in der RGB-Tafel)
STIFTFARBE 0xffff00 ; Verändert die Stiftfarbe in gelb (Hexadezimalcode)
STIFTFARBE 0 ; Verändert die Stiftfarbe in schwarz (0x000000)
STIFTFARBE BELIEBIG ; Verändert die Stiftfarbe in eine zufällige Farbe
STIFTFARBE [5] ; Verändert die Schriftfarbe in rot (für Farb-IDs schlagen Sie unter Farbkonstanten nach)
STIFTFARBE „ohne“ ; Ohne Farbe, um Formen ohne Umrandung zu zeichnen
SF „~rot“ ; Verändert die Schriftfarbe in einen beliebigen roten Farbton
STIFTTRANSPARENZ/LINIENTRANSPARENZ (ST/LT)
STIFTTRANSPARENZ 80 ; Setzt die Transparenz der aktuellen Stiftfarbe auf 80 %
STIFTENDE/LINIENENDE (SE/LE)
STIFTENDE „kein“ ; Ohne Linienende (Standard)
STIFTENDE „rund“ ; Rundes Linienende
SE „quadrat“ ; Quadratisches Linienende
STIFTÜBERGANG/LINIENÜBERGANG (SÜ/LÜ)
STIFTÜBERGANG „rund“ ; Abgerundeter Linenübergang (Standard)
STIFTÜBERGANG „gehrung“ ; Scharfe Kante als Linienübergang
STIFTÜBERGANG „schräg“ ; Gerade Kante als Linienübergang
SÜ „kein“ ; Kein Linienübergang
STIFTSTIL/LINIENSTIL (SS|LS)
STIFTSTIL „durchgezogen“ ; Durchgezogene Linie (Standard)
STIFTSTIL „gepunktet“ ; Gepunktete Linie
STIFTSTIL „gestrichelt“ ; Gestrichelte Linie
; Benutzerdefinierte Punkt-Strich Muster können mit folgenden Argumenten erzeugt werden:
; – Anzahl der benachbarten Punkte
; – Länge der Punkte
; – Anzahl der benachbarten Striche
; – Länge der Striche
; – Abstand der Punkte/Linien vom Nachbarn
; – Typ (optional):
; 0: Punkte als Rechtecke (Standard)
; 2: Punkte als Kreise (Länge und Abstand sind abhängig von der Stiftbreite)
SS [3, 1mm, 2, 4mm, 2mm, 2] ; ···––···––···––
Fülleinstellungen
FÜLLFARBE (FF)
FÜLLFARBE „blau“ ; Mit blauer Farbe gefüllt, vergleichen Sie STIFTFARBE
FÜLLFARBE „ohne“ KREIS 10 ; Nicht gefüllter Kreis
FÜLLFARBE [„blau“, „rot“] ; Farbverlauf von rot nach blau
FÜLLFARBE [[255, 255, 255], [255, 128, 0]] ; Farbverlauf von weiß nach orange
FÜLLFARBE [„blau“, „rot“, 1, 0, 0] ; Axialer Farbverlauf (zuzüglich der erforderlichen Einstellungen für Drehung und Umrandung), mögliche Werte sind: 0-5 = linear, axial, radial, elliptisch, quadratisch und rechteckig
FÜLLFARBE [„rot“, „blau“, 0, 90, 20] ; Linearer Farbverlauf, um 90° gedreht zur derzeitigen Turtleausrichtung und 20 % Rahmen
FÜLLFARBE [„rot“, „blau“, 0, 90, 20, 0, 0, 200, 50] ; Farbverlauf mit von 200 % zu 50 % abnehmender Farbintensität
FF [BEL, BEL, 2, 0, 0, 50, 50] ; Radialer Farbverlauf mit zufälligen Farben, 50 % horizontaler und 50 % vertikaler Ausrichtung des Zentrums
FÜLLTRANSPARENZ (FT)
FÜLLTRANSPARENZ 80 ; Legt die Transparenz der aktuellen Füllfarbe auf 80 % fest
FÜLLTRANSPARENZ [80] ; Ergibt einen Transparenzverlauf von 80 % auf 0 % abnehmend
FÜLLTRANSPARENZ [80, 20] ; Ergibt einen Transparenzverlauf von 80 % auf 20 % abnehmend
FÜLLTRANSPARENZ [80, 20, 1, 90] ; Ergibt einen axialen Transparenzverlauf, um 90° gedreht zur derzeitigen Turtleausrichtung
FT [80, 20, 2, 0, 20, 50, 50] ; Ergibt einen radialen Transparenzverlauf von außen 80 % auf innen 20 % Transparenz, mit 20 % Rahmen und 50 % horizontaler und 50% vertikaler Ausrichtung des Zentrums
FÜLLSTIL (FS)
FÜLLSTIL 0 ; Ohne Schraffuren (Standard)
FÜLLSTIL 1 ; Einfache schwarze Schraffur (horizontal)
FÜLLSTIL 2 ; Einfache schwarze Schraffur (45° nach rechts geneigt)
FÜLLSTIL 3 ; Einfache schwarze Schraffur (45° nach links geneigt)
FÜLLSTIL 4 ; Einfache schwarze Schraffur (vertikal)
FÜLLSTIL 5 ; Gekreuzte rote Schraffur (45° geneigt)
FÜLLSTIL 6 ; Gekreuzte rote Schraffur (horizontal/vertikal)
FÜLLSTIL 7 ; Gekreuzte blaue Schraffur (45° geneigt)
FÜLLSTIL 8 ; Gekreuzte blaue Schraffur (horizontal/vertikal)
FÜLLSTIL 9 ; Dreifach gekreuzte blaue Schraffur
FÜLLSTIL 10 ; Einfache schwarze Schraffur mit großen Abständen (45° nach rechts geneigt)
; Benutzerdefinierte Schraffuren sind mit der Liste folgender Argumente möglich:
; – Stil (1: einfache, 2: doppelte, 3: dreifache Schraffur)
; – Farbe
; – Abstand
; – Neigung
FS [2, „grün“, 3 pt, 15°] ; Gekreuzte grüne Schraffur (15° Neigung nach rechts)
Zeichnungsobjekte
KREIS
KREIS 100 ; Zeichnet den Umriss eines Kreises (Durchmesser: 100 pt)
ELLIPSE
ELLIPSE [50, 100] ; Zeichnet eine Ellipse mit 50 pt und 100 pt in den Durchmessern
ELLIPSE [50, 100, 2h, 12h] ; Zeichnet einen Ellipsensektor (Ausschnitt) (von Position 2 Uhr bis Position 12 Uhr im Uhrzeigersinn)
ELLIPSE [50, 100, 2h, 12h, 2] ; Zeichnet eine Ellipsensegment (Abschnitt)
ELLIPSE [50, 100, 2h, 12h, 3] ; Zeichnet einen Ellipsenbogen
QUADRAT
QUADRAT 100 ; Zeichnet den Umriss eines Quadrates (Kantenlänge 100 pt)
RECHTECK
RECHTECK [50, 100] ; Zeichnet den Umriss eines Rechtecks (Kantenlängen 50 pt und 100 pt)
RECHTECK [50, 100, 10] ; Zeichnet ein Rechteck mit abgerundeten Ecken
PUNKT
PUNKT ; Zeichnet einen Punkt in Größe und Farbe des Stiftes
SCHLIESSEN kann den letzten Punkt verbinden, FÜLLEN kann eine Form aus Punkten füllen. Beispielsweise kann man so einfach einen „flachen“ Stern, ausgehend vom Zentrum, zeichnen:
FLIEGEN
WIEDERHOLE 5 [
VOR 80
PUNKT
ZURÜCK 80
RECHTS 36
VOR 50
PUNKT
ZURÜCK 50
RECHTS 36
] FÜLLEN
SCHREIBE
SCHREIBE „Text“ ; Gibt "Text" an der Position des Turtles zurück
SCHREIBE "Text" ; Wie oberhalb
SCHREIBE ‚Text‘ ; Wie oberhalb
SCHREIBE 'Text' ; Wie oberhalb
SCHREIBE "Text ; Wie oberhalb (nur für einzelne Worte)
TEXT
KREIS 10 TEXT „Text“ ; Fügt einem Zeichnungsobjekt Text hinzu
Schrifteinstellungen
SCHRIFTFARBE/TEXTFARBE (SCHF/TF)
SCHRIFTFARBE „grün“ ; Ändert die Schriftfarbe auf grün
SCHRIFTART (SCHA)
SCHRIFTART „Linux Libertine G“ ; Ändert die Schriftart auf die angegebene
SCHRIFTART „Linux Libertine G:smcp=1“ ; Setzt zusätzlich Schrifteinstellungen (hier: Kapitälchen)
SCHA „Linux Libertine G:smcp=1&onum=1“ ; Kapitälchen & alte Zahlen
SCHRIFTGRÖSSE/TEXTGRÖSSE (SCHG/TG)
SCHRIFTGRÖSSE 12 ; Ändert die Schriftgröße auf 12 pt
SCHRIFTGEWICHT (SCHG)
SCHRIFTGEWICHT „fett“ ; Ändert das Schriftgewicht auf "fett"
SCHG „normal“ ; Setzt das Schriftgewicht zurück
SCHRIFTSTIL (SCHS)
SCHRIFTSTIL „kursiv“ ; Ändert den Schriftstil auf "kursiv"
SCHS „normal“ ; Setzt den Schriftstil zurück
BILD
BILD kann verwendet werden für
-
gruppierte Formen;
-
den Beginn neuer Linienformen;
-
das Speichern von SVG-Bildern und SVG/SMIL-Animationen;
-
Konsistenz bei Position und Linienform am linken Seitenrand.
Gruppierte Form
; BILD [ LibreLogo_Befehle ]
BILD [ VOR 100 Kreis 100 ] ; Eine Baum-ähnliche gruppierte Form
Schlagen Sie auch unter "Gruppierung" in der LibreOffice Writer-Hilfe nach.
ZU Baum Ort
FLIEGEN POSITION Ort RICHTUNG 0 FAHREN
BILD [ VOR 100 KREIS 100 ] ; Eine Baum-ähnliche gruppierte Form
ENDE
BILD [ Baum [230, 400] Baum [300, 400] ] ; Eine gruppierte Form innerhalb einer gruppierten Form
Neue Linienform beginnen
BILD ; Beginn einer neuen Linienform
VOR 10 BILD VOR 10 ; Zwei Linienformen
SVG-Bilderer speichern
BILD „Beispiel.svg“ [ KREIS 5 ] ; Speichert das Bild als SVG-Bilddatei im Benutzerordner
BILD „Desktop/Beispiel.svg“ [ VOR 100 KREIS 5 ] ; Wie oben, mit relativem Dateipfad
BILD „/home/user/Beispiel.svg“ [ KREIS 5 ] ; Mit absolutem Dateipfad unter Unix/Linux
BILD „C:\Beispiel.svg“ [ KREIS 5 ] ; Mit absolutem Pfad unter Windows
SVG/SMIL-Animationen speichern
BILD „Animation.svg“ [ KREIS 5 WARTE 1000 KREIS 99 ] ; Speichert eine SVG/SMIL-Animation (beachten Sie WARTE)
BILD „Animation2.svg“ [ KREIS 5 WARTE 1000 KREIS 99 WARTE 2000 ] ; Wie oben, aber die Verwendung von WARTE nach dem letzten Objekt bewirkt eine Schleife: Nach 2 Sekunden wird die Animation im SMIL-konformen Browser neu gestartet
Konsistenz am linken Seitenrand
Sie können BILD benutzen, um die Konsistenz von Position und Linienform am linken Seitenrand eines Writer-Dokuments zu erhalten:
BILD [ KREIS 20 POSITION [-100, 100] KREIS 20 ]
Schleifen
WIEDERHOLE (WDH)
; WIEDERHOLE Anzahl [ Befehle ]
WIEDERHOLE 10 [ VOR 10 LINKS 45 KREIS 10 ] ; Führt die Anweisungen 10-mal aus
; Anzahl ist optional
WDH [ POS BEL ] ; Endlosschleife
ZÄHLER
Zählvariable für Schleifen (auch mit FÜR und SOLANGE zu verwenden).
WIEDERHOLE 100 [ VOR ZÄHLER LINKS 90 ]
FÜR IN
Schleife für Listenelemente:
FÜR i IN [1, 5, 7, 9, 11] [
VOR i
LINKS 90
]
Schleife für Buchstaben in einer Zeichenkette:
FÜR i IN „Text“ [
SCHREIBE i
VOR 10
]
SOLANGE
SOLANGE WAHR [ POSITION BELIEBIG ] ; Endlosschleife
SOLANGE ZÄHLER <= 10 [ VOR 50 LINKS 36 ]; Wie WIEDERHOLE 10 [ ... ]
ABBRUCH
Beendet die Ausführung der Schleife.
WIEDERHOLE [ ; Endlosschleife
POSITION BELIEBIG
WENN ZÄHLER = 100 [ ABBRUCH ] ; Wie WIEDERHOLE 100 [ ... ]
]
WEITER
Springt zur nächsten Wiederholung der Schleife.
WIEDERHOLE 100 [
POSITION BELIEBIG
WENN ZÄHLER % 2 = 0 [ WEITER ]
KREIS 10 ; Zeichnet an jeder zweiten Position einen Kreis
]
Bedingungen
WENN
; WENN Bedingung [ wenn wahr ]
; WENN Bedingung [ wenn wahr ] [ wenn falsch ]
WENN a < 10 [ GIB „klein“ ]
WENN a < 10 [ AUSGABE „klein“ ] [ AUSGABE „groß“ ]
UND, ODER, NICHT
Logische Operatoren.
WENN a < 10 UND NICHT a = 5 [ AUSGABE „0, 1, 2, 3, 4, 6, 7, 8 oder 9“ ]
WENN a < 10 UND a != 5 [ AUSGABE „0, 1, 2, 3, 4, 6, 7, 8 oder 9“ ] ; Wie oben
Unterprogramme
ZU, ENDE
Neues Wort (oder neues Programm).
ZU Dreieck
WIEDERHOLE 2 [ VOR 100 RECHTS 120 ] FÜLLEN
ENDE
WIEDERHOLE 10 [ Dreieck FLIEGEN POSITION BELIEBIG LAUFEN ]
RÜCKGABE
Gibt den Wert einer Funktion zurück.
ZU Zufallsbuchstabe
RÜCKGABE ZUFÄLLIG „qwertzuiopasdfghjklyxcvbnm“
ENDE
AUSGABE Zufallsbuchstabe + Zufallsbuchstabe + Zufallsbuchstabe ; Gibt eine Zeichenkette aus 3 zufälligen Buchstaben zurück
STOPP
Beendet einen Prozess.
ZU Beispiel Zahl
WENN Zahl < 0 [ STOPP ]
AUSGABE WURZEL Zahl ; Gibt die Quadratwurzel zurück
]
Beispiel 100
Beispiel -1 ; Ohne Ausgabe und ohne Fehlermeldung
Beispiel 25
Standardvariablen
BELIEBIG (BEL)
Standard-Zufallswert für Farben und anderes.
STIFTFARBE BELIEBIG ; Zufällige Stiftfarbe
WAHR
Wahrheitswert.
SOLANGE WAHR [ POSITION BELIEBIG ] ; Endlosschleife
AUSGABE WAHR ; Gibt WAHR zurück
FALSCH
Wahrheitswert.
SOLANGE NICHT FALSCH [ POSITION BELIEBIG ] ; Endlosschleife
AUSGABE FALSCH ; Gibt FALSCH zurück
SEITE
AUSGABE SEITE ; Gibt eine Liste mit den Seitenmaßen in Points zurück, beispielsweise [595.30, 841.89]
PI/π
AUSGABE PI ; Gibt 3,14159265359 zurück
Ein-/Ausgabe
AUSGABE
AUSGABE „Text“ ; Gibt "Text" in einer Dialogbox zurück
AUSGABE 5 + 10 ; Gibt 15 zurück
EINGABE
AUSGABE EINGABE „Eingabewert?“ ; Gibt den Text zurück und fragt nach einer Eingabe in einer Dialogbox
AUSGABE DEZIMAL (EINGABE „Erste Zahl?“) + DEZIMAL (EINGABE „Zweite Zahl“) ; Einfacher Rechner
WARTE
WARTE 1000 ; Hält die Programmausführung für 1000 ms (1 Sekunde) an
GLOBAL
Setzt globale Variablen in Prozessen.
GLOBAL über
über = „LibreLogo“
ZU Beispiel
AUSGABE über
GLOBAL über ; Um die globale Variable neu zu belegen
über = „Neuer Wert für die globale Variable“
ENDE
Beispiel
AUSGABE über
Funktionen
ZUFÄLLIG
AUSGABE ZUFÄLLIG 100 ; Zufallszahl (0 <= x <= 100)
AUSGABE ZUFÄLLIG „Text“ ; Gibt zufällig einen Buchstaben aus der Zeichenkette "Text" zurück
AUSGABE ZUFÄLLIG [1, 2] ; Zufälliges Element aus der Liste (1 oder 2)
GANZ
AUSGABE GANZ 3,8 ; Gibt 3 zurück (ganzzahliger Anteil von 3,8)
AUSGABE GANZ ZUFÄLLIG 100 ; Ganzzahlige Zufallszahl (0 <= x <= 100)
AUSGABE GANZ „7“ ; Ändert eine Ziffernfolge in eine ganze Zahl um
DEZIMAL
; Wandelt eine Ziffernfolge in eine Dezimalzahl um
AUSGABE 2 * DEZIMAL „5,5“ ; Gibt 11,0 zurück
ZEICHEN
; Wandelt eine Zahl in eine Zeichenkette um
AUSGABE „Ergebnis: “ + ZEICHEN 5 ; Gibt "Ergebnis: 5" zurück
AUSGABE 10 * ZEICHEN 5 ; Gibt 5555555555 zurück
WURZEL
AUSGABE WURZEL 100 ; Gibt 10 zurück, die Quadratwurzel aus 100
SIN
AUSGABE SIN 90 * PI/180 ; Gibt 1,0 zurück (Sinus von 90° im Bogenmaß)
COS
AUSGABE COS 0 * PI/180 ; Gibt 1,0 zurück (Kosinus von 0° im Bogenmaß)
LOG10
AUSGABE LOG10 100 ; Gibt 2,0 zurück (den Logarithmus von 100 zur Basis 10)
RUNDE
AUSGABE RUNDE 3,8 ; Gibt 4 zurück (den gerundeten Wert von 3,8)
AUSGABE RUNDE ZUFÄLLIG 100 ; Zufallszahl (0 <= x <= 100)
BETRAG
AUSGABE BETRAG -10 ; Gibt 10 zurück, den Betrag des Wertes -10
ZÄHLE
AUSGABE ZÄHLE „Text“ ; Gibt 4 zurück, die Anzahl der Buchstaben in "Text"
AUSGABE ZÄHLE [1, 2, 3] ; Gibt 3 zurück, die Anzahl der Elemente der Liste
MENGE
; Wandelt eine Liste in eine Python-Menge (eine Liste einmaliger Elemente) um
AUSGABE MENGE [4, 5, 6, 6] ; Gibt {4, 5, 6} zurück
AUSGABE MENGE [4, 5, 6, 6] | MENGE [4, 1, 9] ; Gibt {1, 4, 5, 6, 9} zurück, die vereinigte Menge beider Listen
AUSGABE MENGE [4, 5, 6, 6] & MENGE [4, 1, 9] ; Gibt {4} zurück, die Schnittmenge beider Listen
AUSGABE MENGE ([4, 5, 6, 6]) - MENGE [4, 1, 9] ; Gibt {5, 6} zurück, die Differenz beider Listen
AUSGABE MENGE [4, 5, 6, 6] ^ MENGE [4, 1, 9] ; Gibt {1, 5, 6, 9} zurück, die symmetrische Differenz beider Listen
FOLGE
; Python-artige Listengeneration (eine Folge von Zahlen)
AUSGABE FOLGE 10 ; Gibt [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] zurück, die Folge mit den Zahlen von 0 bis 9
AUSGABE FOLGE 3 10 ; Gibt [3, 4, 5, 6, 7, 8, 9] zurück, die Folge mit den Zahlen von 3 bis 9
AUSGABE FOLGE 3 10 3 ; Gibt [3, 6, 9] zurück, die Folge mit den Zahlen von 3 bis 9 in 3er Intervallen
FÜR i IN FOLGE 10 50 10 [ ; Schleife mit den Zahlen [10, 20, 30, 40]
VOR i
LINKS 90
]
LISTE
; Entfernt doppelte Elemente aus einer Liste
AUSGABE LISTE (MENGE [1, 3, 5, 5, 2, 1]) ; Gibt [1, 3, 5, 2] zurück
TUPEL
Konvertierung in ein Python-Tupel (eine nicht änderbare Liste)
AUSGABE TUPEL [4, 5]
SORTIERT
Gibt eine sortierte Liste zurück.
AUSGABE SORTIERT [5, 1, 3, 4]; Gibt [1, 3, 4, 5] zurück
ERSETZT
Ersetzt eine Zeichenkette mittels regex-Mustern (reguläre Ausdrücke).
AUSGABE ERSETZT (“t”, “T”, “text”) ; Gibt “Text” zurück, wobei “t” durch “T” ersetzt wurde
AUSGABE ERSETZT (“(.)”, “\\1\\1”, “text”) ; Gibt “tteexxtt” zurück, wobei jeder Buchstabe verdoppelt wurde
SUCHE
Sucht nach einer Zeichenkette mittels regex-Mustern.
WENN SUCHE („\t”, „Wort“) [ AUSGABE „Buchstabe ist im Wort.” ]
FINDEALLE
Findet alle Zeichenketten innerhalb der Eingabezeichenkette, die dem angegebenen regex-Muster entsprechen.
AUSGABE FINDEALLE (“\w+”, “Hunde, Katzen.”) ; Gibt [“Hunde”, “Katzen”] zurück, die Liste aller Worte.
MIN
AUSGABE MIN [1, 2, 3] ; Gibt 1 zurück, das kleinste Element der Liste
MAX
AUSGABE MAX [1, 2, 3] ; Gibt 3 zurück, das größte Element der Liste
Farbkonstanten
STIFTFARBE „SILBER“ ; Setzt die angegebene Farbe
STIFTFARBE [1] ; Setzt die Farbe über IDs
STIFTFARBE „~SILBER“ ; Setzt einen zufälligen Silberton
ID |
Name |
0 |
schwarz |
1 |
silber |
2 |
grau |
3 |
weiß |
4 |
rotbraun |
5 |
rot |
6 |
lila |
7 |
magenta |
8 |
grün |
9 |
hellgrün |
10 |
dunkelgrün |
11 |
gelb |
12 |
dunkelblau |
13 |
blau |
14 |
blaugrün |
15 |
türkis/cyan |
16 |
rosa |
17 |
dunkelrot |
18 |
orange |
19 |
gold |
20 |
violett |
21 |
hellblau |
22 |
dunkelbraun |
23 |
braun |
24 |
ohne |