LibreLogo
LibreLogo to zlokalizowane i nieskomplikowane środowisko programistyczne podobne do Logo, z żółwią grafiką wektorową do nauki informatyki (programowania i obróbki tekstu), DTP i projektowania graficznego. http://www.numbertext.org/logo/librelogo.pdf.
Pasek narzędzi LibreLogo
The LibreLogo toolbar (
) contains turtle moving, program start, stop, home, clear screen, program editor/syntax highlighting/translating icons and an input bar (command line).Ikony poruszania żółwiem
To odpowiedniki poleceń języka Logo “FORWARD 10”, “BACK 10”, “LEFT 15”, “RIGHT 15”. Kliknięcie na ikonie spowoduje przeniesienie widoku na żółwiu, przewijając stronę do miejsca, w którym się znajduje.
Uruchomienie programu Logo
Kliknij ikonę "Uruchomienie programu Logo", aby uruchomić program zapisany w języku LibreLogo zawarty w tekście dokumentu lub zaznaczonym obszarze. W pustym dokumencie zostanie wklejony i uruchomiony przykładowy program.
Kliknij ikonę “Zatrzymaj”, aby zatrzymać wykonywanie programu.
Początek
Kliknij ikonę “Początek”, aby zresetować pozycję i ustawienia żółwia.
Wyczyść ekran
Kliknij ikonę “Wyczyść ekran”, aby usunąć obiekty rysunkowe z dokumentu.
Edytor programu/Wyróżnianie składni/Tłumaczenie
The “magic wand” icon sets 2-page layout for program editing, expands and converts to uppercase the abbreviated, lowercase Logo commands in the Writer document. Change the language of the document (
) and click on this icon to translate the Logo program to the selected language.Wiersz poleceń
Naciśnij Enter w wierszu poleceń, aby wykonać program. Aby zatrzymać program, użyj ikony “Zatrzymaj”.
Przytrzymaj Enter, aby powtarzać zawartość wiersza poleceń, na przykład taką sekwencję poleceń:
FORWARD 200 LEFT 89
Aby zresetować wiersz poleceń, kliknij wewnątrz trzykrotnie lub naciśnij Ctrl-A, aby wybrać poprzednie polecenia lub wpisać nowe.
Graficzny interfejs użytkownika podstawowych ustawień żółwia
Kształt żółwia z LibreLogo jest normalnym stałych rozmiarów obiektem rysunkowym. Możesz zmieniać pozycję i obracać nim w standardowy sposób, za pomocą myszy i ikony Obróć na pasku narzędzi właściwości obiektu rysunkowego. Modyfikować szerokość linii, kolor i ustawienia koloru obszaru kształtu żółwia, opcje PENSIZE, PENCOLOR i FILLCOLOR atrybutów LibreLogo.
Edycja programu
Rysunki i programy LibreLogo używają tego samego dokumentu Writera. Płótno LibreLogo znajduje się na pierwszej stronie dokumentu Writera. Można wstawić podział strony przed programem LibreLogo i ustawić powiększenie używając ikony "magicznej różdżki" widocznej na pasku narzędzi Logo oraz zmienić rozmiar czcionki dla wygodnego widoku dwóch stron w trakcie programowania w LibreLogo: lewa (pierwsza) strona będzie płótnem, a prawa (druga) przeznaczona będzie na programy LibreLogo.
Język programowania LibreLogo
LibreLogo jest łatwo lokalizowalny, język programowania jak Logo, zlokalizowany jest w kilku językach LibreOffice rodzimych społeczności językowych. Jest kompatybilny wstecz ze starszymi systemami Logo w przypadku prostych programów Logo wykorzystywanych w edukacji, na przykład.
TO trójkąt :rozmiar
REPEAT 3 [
FORWARD :rozmiar
LEFT 120
]
END
trójkąt 10 trójkąt 100 trójkąt 200
Różnice w stosunku do języka programowania Logo
-
Elementy listy są oddzielane przecinkami: POSITION [0, 0]
-
Bloki i listy programu różnią się
-
-
Bloki programu należy oddzielać spacją lub nowym wierszem w nawiasach: REPEAT 10 [ FORWARD 10 LEFT 36 ]
-
W listach należy stosować bliskie nawiasy: POSITION [0, 0], a nie POSITION [ 0, 0 ]
-
-
Deklaracje funkcji jednoliniowej nie są obsługiwane (TO i END wymagają nowych wierszy).
Pozostałe funkcje LibreLogo
-
Dwukropek jest opcjonalny przed nazwami zmiennych.
TO rozmiar trójkąta
REPEAT 3 [ FORWARD rozmiar LEFT 120 ]
END -
Notacja ciągów wspiera ortografię i składnię Pythona.
PRINT "słowo ; oryginalna składnia Logo
PRINT “Dowolny tekst.” ; ortografia, Writer
PRINT 'Dowolny tekst.' ; składnia Pythona -
Obsługa list i ciągów Pythona
PRINT “text”[2] ; drukuj “x”
PRINT “text”[1:3] ; drukuj “ex” -
Pętla FOR jak w Pythonie
-
Deklaracja zmiennych jak w Pythonie:
x = 15
PRINT x -
Nie istnieją żadne dodatkowe funkcje kwerend:
PRINT FILLCOLOR
p = POSITION
PRINT p
REPEAT 10 [ POSITION ANY POSITION p ] -
Alternatywne formy nawiasowania w wywołaniach funkcji
TO kolor i rozmiar gwiazdy
FILLCOLOR kolor
REPEAT 5 [ LEFT 72 FORWARD rozmiar RIGHT 144 FORWARD rozmiar ]
FILL
END
gwiazda 100 “red”
gwiazda (100, “green”)
gwiazda(100, “blue”)
Polecenia LibreLogo
Podstawowa składnia
Uwzględnia wielkość litrer
W poleceniach i stałych kolorów rozróżniana jest wielkość liter:
PRINT “Hello, World!”
print “Hello, World, again!”
W nazwach zmiennych rozróżniana jest wielkość liter:
a = 5
A = 7
PRINT a
PRINT A
Wiersze programu
Wiersze programu LibreLogo są akapitami w dokumencie programu LibreOffice Writer. Wiersz programu może zawierać wiele poleceń:
PRINT “Hello, World!” PRINT “LibreLogo”
Komentarze
Wierze lub ich fragmenty staję się komentarzami od miejsca wstawienia średnika do końca wiersza (akapitu):
; jakieś komentarze
PRINT 5 * 5 ; jakieś komentarze
Łamanie wierszy programu na kilka akapitów
Możliwe jest złamanie wiersza programu na kilka akapitów stawiając tyldę na końcu wiersza:
PRINT “To jest bardzo długa ” + ~
“wiadomość ostrzegawcza”
Poruszanie żółwiem
FORWARD (fd)
FORWARD 10 ; przesuń do przodu o 10 pkt. (1 pkt. = 1/72 cala)
FORWARD 10pt ; patrz wyżej
FORWARD 0.5in ; przesuń do przodu o 0,5 cala (1 cal = 2,54 cm)
FORWARD 1" ; patrz wyżej
FD 1mm
FD 1cm
BACK (bk)
BACK 10 ; przesuń do tyłu o 10 pkt.
LEFT (lt)
LEFT 90 ; obróć w kierunku przeciwnym do wskazówek zegara o 90 stopni
LEFT 90° ; patrz wyżej
LT 3h ; patrz wyżej (pozycja na zegarze)
LT any ; obróć losowo
RIGHT (rt)
RIGHT 90 ; obróć w kierunku wskazówek zegara o 90 stopni
PENUP (pu)
PENUP ; żółw poruszy się bez rysowania
PENDOWN (pd)
PENDOWN ; żółw poruszy się rysując
POSITION (pos)
POSITION [0, 0] ; obróć i przesuń do lewego górnego rogu
POSITION PAGESIZE ; obróć i przesuń do dolnego prawego rogu
POSITION [PAGESIZE[0], 0] ; obróć i przesuń do górnego prawego rogu
POSITION ANY ; obróć i przesuń do losowego położenia
HEADING (seth)
HEADING 0 ; obróć na północ
HEADING 12h ; patrz wyżej
HEADING [0, 0] ; obróć do górnego lewego rogu
HEADING ANY ; obróć w losową stronę
Pozostałe polecenia żółwia
HIDETURTLE (ht)
HIDETURTLE ; ukryj żółwia (do momentu wywołania polecenia showturtle)
SHOWTURTLE (st)
SHOWTURTLE ; wyświetl żółwia
HOME
HOME ; reset initial turtle position
CLEARSCREEN (cs)
CLEARSCREEN ; usuwa elementy rysunkowe z dokumentu
FILL i CLOSE
FILL ; zamknij i wypełnij obecny kształt linii lub punktów
CLOSE ; zamknij obecny kształt linii lub połącz obecne punkty
Przykład: wypełnienie trójkąta równobocznego:
FORWARD 50 LEFT 120 FORWARD 50 FILL
Przykład: rysowanie trójkąta równobocznego:
FORWARD 50 LEFT 120 FORWARD 50 CLOSE
Ustawienia pióra
PENSIZE (ps)
PENSIZE 100 ; szerokość linii to 100 punktów
PENSIZE ANY ; odpowiednik polecenia PENSIZE RANDOM 10
PENCOLOR/PENCOLOUR (pc)
PENCOLOR “red” ; ustaw kolor pióra na czerwony (wg nazwy koloru ze stałych kolorów)
PENCOLOR [255, 255, 0] ; ustaw kolor żółty (lista RGB)
PENCOLOR 0xffff00 ; ustaw kolor żółty (kod szesnastkowy)
PENCOLOR 0 ; ustaw kolor czarny (0x000000)
PENCOLOR ANY ; losowy kolor
PENCOLOR [5] ; ustaw kolor czerwony (wg identyfikatora koloru, zobacz stałe kolorów)
PENCOLOR “invisible” ; niewidoczny kolor pióra, dla kształtów bez widocznego obramowania
PENCOLOR “~red” ; ustaw losowy kolor czerwony
PENTRANSPARENCY
PENTRANSPARENCY 80 ; ustawia przezroczystość śladu pióra na 80%
PENCAP/LINECAP
PENCAP “none” ; bez zakończenia linii (domyślnie)
PENCAP “round” ; zaokrąglone zakończenie linii
PENCAP “square” ; kwadratowe zakończenie linii
PENJOINT/LINEJOINT
PENJOINT “rounded” ; zaokrąglone łączenie linii (domyślne)
PENJOINT “miter” ; kątowe łączenie linii
PENJOINT “bevel” ; ukośne łączenie linii
PENJOINT “none” ; bez łączenia
PENSTYLE
PENSTYLE “solid” ; linia ciągła (domyślna)
PENSTYLE “dotted” ; linia kropkowana
PENSTYLE “dashed” ; linia kreskowana
; niestandardowy wzór z kropek i kresek określony listą zawierającą następujące argumenty:
; – liczba sąsiadujących kropek
; – długość kropki
; – liczba sąsiadujących kresek
; – długość kreski
; – odstępy między kropkami/kreskami
; – typ (opcjonalnie):
; 0 = prostokątne kropki (domyślne)
; 2 = kwadratowe kropki (długości i odległości są względne do pensize)
PENSTYLE [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––
Ustawienia wypełniania
FILLCOLOR/FILLCOLOUR (fc)
FILLCOLOR “blue” ; wypełnienie niebieskim kolorem, zobacz również PENCOLOR
FILLCOLOR “invisible” CIRCLE 10 ; niewypełnione koło
FILLCOLOR [“blue”, “red”] ; gradient między niebieskim i czerwonym
FILLCOLOR [[255, 255, 255], [255, 128, 0]] ; między białym i pomarańczowym
FILLCOLOR [“blue”, “red”, 1, 0, 0] ; ustawia gradient osiowy (z wymaganymi ustawieniami obrotu i obramowania), dostępne wartości to: 0-5 = liniowy, osiowy, promieniowy, eliptyczny, kwadratowy i prostokątny gradient
FILLCOLOR [“red”, “blue”, 0, 90, 20] ; liniowy z 20% obramowaniem, obrócony o 90 stopni w stosunku do kierunku, w który skierowana jest głowa żółwia
FILLCOLOR [“red”, “blue”, 0, 90, 20, 0, 0, 200, 50] ; od natężenia 200% do 50%
FILLCOLOR [ANY, ANY, 2, 0, 0, 50, 50] ; gradient promieniowy między losowymi kolorami i 50%-50% poziomym i pionowym rozmieszczeniem w stosunku do środka
FILLTRANSPARENCY
FILLTRANSPARENCY 80 ; ustawia przezroczystość aktualnego koloru wypełnienia na 80%
FILLTRANSPARENCY [80] ; ustawia liniowy gradient przezroczystości od 80% do 0%
FILLTRANSPARENCY [80, 20] ; ustawia liniowy gradient przezroczystości od 80% do 20%
FILLTRANSPARENCY [80, 20, 1, 90] ; ustawia osiowy gradient przezroczystości obrócony o 90 stopni w stosunku do kierunku, w którym skierowana jest głowa żółwia
FILLTRANSPARENCY [80, 20, 2, 0, 20, 50, 50] ; ustawia promieniowy gradient przezroczystości z zewnętrznego 80% do wewnętrznego 20% z 20% obramowaniem i 50%-50% poziomą i pionową pozycją w stosunku do środka
FILLSTYLE
FILLSTYLE 0 ; wypełnij bez kreskowania (domyślne)
FILLSTYLE 1 ; czarne pojedyncze kreski (poziomo)
FILLSTYLE 2 ; czarne pojedyncze kreski (45 stopni)
FILLSTYLE 3 ; czarne pojedyncze kreski (-45 stopni)
FILLSTYLE 4 ; czarne pojedyncze kreski (pionowo)
FILLSTYLE 5 ; czerwone kreskowanie krzyżowe (45 stopni)
FILLSTYLE 6 ; czerwone kreskowanie krzyżowe (0 stopnii)
FILLSTYLE 7 ; niebieskie kreskowanie krzyżowe (45 stopni)
FILLSTYLE 8 ; niebieskie kreskowanie krzyżowe (0 stopni)
FILLSTYLE 9 ; niebieskie potrójnie krzyżowane
FILLSTYLE 10 ; czarne, szerokie, pojedyncze kreskowanie (45 stopnii)
; niestandardowe kreskowanie określone listą następujących argumentów:
; – styl (1 = pojedyncze , 2 = podwójne , 3 = potrójne kreskowanie)
; – kolor
; – odległość
; – stopień
FILLSTYLE [2, “green”, 3pt, 15°] ; zielone kreskowanie krzyżowe (15 stopnii)
Obiekty rysunkowe
CIRCLE
CIRCLE 100 ; rysuje kształt koła (średnica = 100 pkt.)
ELLIPSE
ELLIPSE [50, 100] ; narysuj elipsę o średnicach 50 i 100
ELLIPSE [50, 100, 2h, 12h] ; narysuj eliptyczny wycinek (od 2 do 12 godziny)
ELLIPSE [50, 100, 2h, 12h, 2] ; narysuj eliptyczny wycinek
ELLIPSE [50, 100, 2h, 12h, 3] ; narysuj łuk eliptyczny
SQUARE
SQUARE 100 ; narysuj kwadrat (rozmiar = 100 pkt.)
RECTANGLE
RECTANGLE [50, 100] ; narysuj prostokąt (50×100 pkt.)
RECTANGLE [50, 100, 10] ; narysuj prostokąt z zaokrąglonymi narożnikami
POINT
POINT ; narysuj punkt o rozmiarze i kolorze pióra
CLOSE potrafi połączyć ostatnie punkty, FILL potrafi wypełnić zdefiniowany kształt przez punkty. Dla przykładu, prosta do narysowania płaska gwiazda mająca początek od środka:
PENUP
REPEAT 5 [
FORWARD 80
POINT
BACK 80
RIGHT 36
FORWARD 50
POINT
BACK 50
RIGHT 120
] FILL
LABEL
LABEL “tekst” ; wydrukuj tekst w obecnym położeniu żółwia
LABEL 'tekst' ; patrz wyżej
LABEL "tekst; patrz wyżej (tylko dla pojedynczych słów)
Tekst
CIRCLE 10 TEXT “tekst” ; ustaw tekst jako obiekt rysunkowy
Ustawienia czcionki
FONTCOLOR/FONTCOLOUR
FONTCOLOR “green” ; ustawia kolor czcionki na zielony
FONTFAMILY
FONTFAMILY “Linux Libertine G” ; ustaw czcionkę (rodzinę czcionek)
FONTFAMILY “Linux Libertine G:smcp=1” ; ustaw również cechę czcionki (kapitaliki)
FONTFAMILY “Linux Libertine G:smcp=1&onum=1” ; kapitaliki + stare figury
FONTSIZE
FONTSIZE 12 ; ustaw 12 pkt.
FONTWEIGHT
FONTWEIGHT “bold” ; ustaw grubą czcionkę
FONTWEIGHT “normal” ; ustaw normalną wagę
FONTSTYLE
FONTSTYLE “italic” ; ustaw kursywę
FONTSTYLE “normal” ; ustaw normalną
PICTURE (pic)
PICTURE służy do
-
grupowania kształtów;
-
tworzenia kształtów nowych linii;
-
zapisywanie obrazów SVG i animacji SVG/SMIL;
-
utrzymanie spójności położenia i kształtów linii w stosunku do lewego boku.
Grupowanie kształtów
; PICTURE [ Polecenia_LibreLogo]
PICTURE [ FORWARD 100 CIRCLE 100 ] ; pogrupowany kształt podobny do drzewa
Zobacz również hasło “Grupa” w pomocy programu LibreOffice Writer.
TO tree location
PENUP POSITION location HEADING 0 PENDOWN
PICTURE [ FORWARD 100 CIRCLE 100 ] ; tree-like grouped shape
END
PICTURE [ tree [230, 400] tree [300, 400] ] ; grouped shapes in a grouped shape
Tworzenie nowych kształtów linii
PICTURE ; utwórz nowy kształt linii
FORWARD 10 PICTURE FORWARD 10 ; kształty dwuliniowe
Zapisywanie obrazów SVG
PICTURE “example.svg” [ CIRCLE 5 ] ; zapisze zdjęcie jako plik obrazu SVG w folderze użytkownika
PICTURE “Desktop/example.svg” [ FORWARD 100 CIRCLE 5 ] ; jak wyżej, ze ścieżką względną
PICTURE “/home/user/example.svg” [ CIRCLE 5 ] ; ścieżka bezwzględna dla systemów Unix/Linux
PICTURE “C:\example.svg” [ CIRCLE 5 ] ; ścieżka bezwzględna dla systemów Windows
Zapisywanie animacji SVG/SMIL (rysowanie z komendą SLEEP)
PICTURE “animation.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 ] ; zapisze jako animację SVG/SMIL (zobacz również SLEEP)
PICTURE “animation2.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 SLEEP 2000 ] ; jak wyżej, ale użycie SLEEP po ostatnim obiekcie zapętli rezultat: po 2 sekundach animacja SVG się powtórzy w kompatybilnych przeglądarkach ze SMIL
Spójność na lewej krawędzi
Use PICTURE to keep the consistency of positions and line shapes at the left border of Writer:
PICTURE [ CIRCLE 20 POSITION [-100, 100] CIRCLE 20 ]
Pętle
REPEAT
; REPEAT liczba [ polecenia ]
REPEAT 10 [ FORWARD 10 LEFT 45 CIRCLE 10 ] ; powtórz 10 razy
; liczba jest opcjonalna
REPEAT [ POSITION ANY ] ; nieskończona pętla
REPCOUNT
Zmienna pętli (również w pętlach FOR i WHILE).
REPEAT 100 [ FORWARD REPCOUNT LEFT 90 ]
FOR IN
Pętla dla elementów z listy:
FOR i IN [1, 5, 7, 9, 11] [
FORWARD i
LEFT 90
]
Pętla znaków w sekwencji znaków:
FOR i IN “tekst” [
LABEL i
FORWARD 10
]
WHILE
WHILE TRUE [ POSITION ANY ] ; pętla nieskończona
WHILE REPCOUNT <= 10 [ FORWARD 50 LEFT 36 ] ; jako REPEAT 10 [ ... ]
BREAK
Zatrzymaj pętlę.
REPEAT [ ; nieskończona pętla
POSITION ANY
IF REPCOUNT = 100 [ BREAK ] ; odpowiednik polecenia REPEAT 100 [ ... ]
]
CONTINUE
Przejdź do następnego powtórzenia pętli.
REPEAT 100 [
POSITION ANY
IF REPCOUNT % 2 <> 0 [ CONTINUE ]
CIRCLE 10 ; rysuj koła co dwie pozycje
]
Warunki
IF
; IF warunek [ prawdziwy blok ]
; IF warunek [ prawdziwy blok ] [ fałszywy blok ]
IF a < 10 [ PRINT “Małe” ]
IF a < 10 [ PRINT “Małe” ] [ PRINT “Duże” ]
AND, OR, NOT
Operatory logiczne.
IF a < 10 AND NOT a = 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 or 9” ]
IF a < 10 AND a != 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 or 9” ] ; jak wyżej
Podprogramy
TO, END
Nowe słowo (lub procedura).
TO triangle
REPEAT 2 [ FORWARD 100 RIGHT 120 ] FILL
END
REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]
OUTPUT
Zwróć wartość funkcji.
TO losowalitera
OUTPUT RANDOM “qwertzuiopasdfghjklyxcvbnm”
END
PRINT losowalitera + losowalitera + losowalitera; wydrukuj sekwencję trzech losowych liter
STOP
Powrót z procedury.
TO przykładowa liczba
IF liczba< 0 [ STOP ]
PRINT SQRT liczba ; wydrukuj pierwiastek kwadratowy
]
przykład 100
przykład -1 ; bez wyjścia i błędu
przykład 25
Domyślne zmienne
ANY
Domyślna losowa wartość koloru, itd.
PENCOLOR ANY ; losowy kolor pióra
TRUE
Wartość logiczna.
WHILE TRUE [ POSITION ANY ] ; nieskończona pętla
PRINT TRUE ; drukuj prawdę
FALSE
Wartość logiczna.
WHILE NOT FALSE [ POSITION ANY ] ; nieskończona pętla
PRINT FALSE ; wydrukuj fałsz
PAGESIZE
PRINT PAGESIZE ; wydrukuj listę rozmiarów stron w punktach [595.30, 841.89]
PI/π
PRINT PI ; wydrukuj 3.14159265359
Input/Output
PRINT “tekst” ; drukuje “tekst” w oknie dialogowym
PRINT 5 + 10 ; wydrukuj 15
INPUT
PRINT INPUT “Wartość wejściowa?” ; zapytaj i wydrukuj ciąg w oknie kwerendy
PRINT FLOAT (INPUT “Pierwsza liczba?”) + FLOAT (INPUT “Druga liczba?”) ; prosty kalkulator
SLEEP
SLEEP 1000 ; odczekaj 1000 ms (1 sek.)
GLOBAL
Ustaw globalne zmienne używane w procedurach.
GLOBAL informacje
informacje = “LibreLogo”
TO przyklad
PRINT informacje
GLOBAL informacje ; gdy chcemy dodać nową wartość
informacje = “nowa wartość zmiennej globalnej”
END
przyklad
PRINT informacje
Funkcje
RANDOM
PRINT RANDOM 100 ; losowa liczba zmiennoprzecinkowa (0 <= x < 100)
PRINT RANDOM “tekst” ; losowa litera z tekstu “tekst”
PRINT RANDOM [1, 2] ; losowy element z listy (1 lub 2)
INT
PRINT INT 3.8 ; drukuje 3 (całkowita część liczby 3,8)
PRINT INT RANDOM 100 ; losowa liczba całkowita (0 <= x < 100)
PRINT INT “7” ; skonwertuj parametr ciągu na liczbę całkowitą
FLOAT
; konwertuj parametr ciągu na liczbę zmiennoprzecinkową
PRINT 2 * FLOAT “5.5” ; wydrukuj 11.0
STR
; konwertuj parametr liczby na ciąg
PRINT “Wynik: ” + STR 5 ; drukuj “Wynik: 5”
PRINT 10 * STR 5 ; drukuj 5555555555
SQRT
PRINT SQRT 100 ; drukuj 10, pierwiastek kwadratowy z 100
SIN
PRINT SIN 90 * PI/180 ; wydrukuj 1,0 (sinus z 90° w radianach)
COS
PRINT COS 0 * PI/180 ; wydrukuj 1,0 (cosinus z 0° w radianach)
LOG10
PRINT LOG10 100 ; drukuje 2.0 (logarytm dziesiętny ze 100)
ROUND
PRINT ROUND 3.8 ; drukuj 4 (zaokrąglenie 3,8)
PRINT ROUND RANDOM 100 ; losowa liczba całkowita (0 <= x <= 100)
ABS
PRINT ABS -10 ; drukuj 10, wartość absolutna z -10
COUNT
PRINT COUNT “tekst” ; drukuj 5, liczba znaków w “tekst”
PRINT COUNT [1, 2, 3] ; drukuj 3, rozmiar listy
SET
; konwertuj listę na zestaw Pythona
PRINT SET [4, 5, 6, 6] ; drukuj {4, 5, 6}
PRINT SET [4, 5, 6, 6] | SET [4, 1, 9] ; drukuj sumę zbiorów {1, 4, 5, 6, 9}
PRINT SET [4, 5, 6, 6] & SET [4, 1, 9] ; drukuj iloczyn zbiorów {4}
PRINT SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; drukuj różnicę zbiorów {5, 6}
PRINT SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; print {1, 5, 6, 9}, różnica symetryczna
RANGE
; generowanie list jak w Pythonie
PRINT RANGE 10 ; wydrukuj [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 ; wydrukuj [3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 3 ; wydrukuj [3, 6, 9]
FOR i IN RANGE 10 50 10 [ ; pętla dla [10, 20, 30, 40]
FORWARD i
LEFT 90
]
LIST
; usuń powtarzające się elementy w liście używając konwersji zestawu i listy
PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; drukuj [1, 3, 5, 2]
TUPLE
Konwersja do spójnej kolekcji Pythona (lista niemodyfikowalna)
PRINT TUPLE [4, 5]
SORTED
Zwraca posortowaną listę.
PRINT SORTED [5, 1, 3, 4] ; wydrukuj [1, 3, 4, 5]
SUB
Zastępuj sekwencje znaków za pomocą wyrażeń wzorów wyrażeń regex (wyrażenie regularne) .
PRINT SUB (“t”, “T”, “tekst”) ; wydrukuj “tekst”, zamiast “t” z “T”
PRINT SUB (“(.)”, “\\1\\1”, “tekst”) ; print “tteekksstt”, podwajanie każdego znaku
SEARCH
Znajdź sekwencje wzorców używając wzorców regex.
IF SEARCH (“\w”, "word") [ PRINT “Letter in the word.” ]
FINDALL
Znajdź wszystkie sekwencje znaków w ciągu wejściowym pasujące do wzorca regex.
PRINT FINDALL(“\w+”, “Psy, koty.”) ; drukuj [“Psy”, “koty”], listę słów.
MIN
PRINT MIN [1, 2, 3] ; drukuj 1, najmniejszy element z listy
MAX
PRINT MIN [1, 2, 3] ; drukuj 3, największy element z listy
Stałe kolorów
PENCOLOR “SILVER” ; ustaw wg nazwy
PENCOLOR [1] ; ustaw wg identyfikatora
PENCOLOR “~SILVER” ; losowy kolor srebrny
Identyfikator |
Nazwa |
0 |
BLACK |
1 |
SILVER |
2 |
GRAY/GREY |
3 |
WHITE |
4 |
MAROON |
5 |
RED |
6 |
PURPLE |
7 |
FUCHSIA/MAGENTA |
8 |
GREEN |
9 |
LIME |
10 |
OLIVE |
11 |
YELLOW |
12 |
NAVY |
13 |
BLUE |
14 |
TEAL |
15 |
AQUA |
16 |
PINK |
17 |
TOMATO |
18 |
ORANGE |
19 |
GOLD |
20 |
VIOLET |
21 |
SKYBLUE |
22 |
CHOCOLATE |
23 |
BROWN |
24 |
INVISIBLE |