Spis treści
Indeks 🔎︎

# 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 (View - Toolbars - Logo) 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 (LibreOffice - Preferences Tools - Options - Language Settings - Languages - Western) 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

To reset the command line triple-click it or press Command Ctrl+A to select the previous commands, and type the new commands.

## Graficzny interfejs użytkownika podstawowych ustawień żółwia

Turtle shape of LibreLogo is a normal fixed size drawing object. You can position and rotate it on standard way, too, using the mouse and the Rotate icon of the Drawing Object Properties toolbar. Modify Line Width, Line Color and Area Color settings of the turtle shape to set PENSIZE, PENCOLOR and FILLCOLOR attributes of 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

     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

     ; Python-like list generation
     PRINT LIST RANGE 10 ; print [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     PRINT LIST RANGE 3 10 ; print [3, 4, 5, 6, 7, 8, 9]
     PRINT LIST RANGE 3 10 3 ; print [3, 6, 9]

     FOR i IN RANGE 10 50 10 [ ; loop for [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