LibreLogo
LibreLogo on yksinkertainen, suomenkielinen, Logo-tyylinen ohjelmointiympäristö, jossa on vektoripohjainen konnagrafiikka. Se soveltuu tietotekniikan opetukseen (ohjelmointi), DTP:een ja graafiseen suunnitteluun. Englanninkielinen esittely: http://www.numbertext.org/logo/librelogo.pdf.
LibreLogo-palkki
The LibreLogo toolbar (
) contains turtle moving, program start, stop, home, clear screen, program editor/syntax highlighting/translating icons and an input bar (command line).Konnan liikuttelun kuvakkeet
Kuvakkeet vastaavat Logo-komentoja: "ETEEN 10", "taakse 10", "vasemmalle 15", "oikealle 15. Kuvakkeen napsautus siirtää myös kohdistuksen konnakuvioon sivua vierittäen.
Käynnistä Logo-ohjelma
Napsauta kuvaketta "Käynnistä Logo-ohjelma" suorittaaksesi Writer-asiakirjassa olevan tekstin (tai vain valitun tekstin). Jos asiakirja on tyhjä, siihen lisätään esimerkkiohjelma, joka suoritetaan.
Ohjelman suorittamisen lopettamiseksi napsauta Pysäytä-kuvaketta
Kotiin
Konnan aseman ja asetusten palauttamiseksi alkutilaansa napsauta Kotiin-kuvaketta.
Näytön tyhjennys
Piirrosobjektien poistamiseksi asiakirjasta napsauta Tyhjennä näyttö -kuvaketta.
Ohjelman muokkaus / Syntaksikorostus / Kääntäminen
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.Komentorivi
Paina Enteriä komentorivillä sen sisällön suorittamiseksi. Ohjelman pysäyttämiseen käytä Pysäytä-kuvaketta.
Pidä Enter-näppäin painettuna toistaaksesi komentorivin, esimerkkiksi seuraavan komentosarjan:
ETEEN 200 VASEMMALLE 89
Komentorivin palauttamiseksi alkutilaansa kolmoisnapsauta sitä tai paina Ctrl-A vanhentuneiden komentojen valitsemiseksi. Kirjoita sitten uudet komennot.
Graafinen käyttöliittymä konnan perusasetuksille
LibreLogon konna on myös tavallinen vakiokokoinen piirrosobjekti. Sitä voi siirtää tai kiertää normaalilla tavalla myös hiirellä ja käyttämällä kierrä-kuvaketta piirrosobjektin ominaisuudet -työkalupalkissa. Muuttamalla konna-kuvion viivan leveyttä, viivan väriä ja täyttöväriä muuttuvat myös LibreLogon KYNÄNLEVEYS, KYNÄNVÄRI ja TÄYTTÖVÄRI.
Ohjelman muokkaus
LibreLogon piirrokset ja ohjelma käyttävät samaa Writer-asiakirjaa. LibreLogon piirtoalue on Writer-asiakirjan ensimmäisellä sivulla. Logo-työkalupalkin "taikasauvakuvakkeella" voidaan lisätä sivunvaihto LibreLogo-ohjelmien edelle ja säätää fonttikoko sopivaksi kahden sivun asettelulle LibreLogo-ohjelmointia varten; vasen (ensimmäinen) sivu on piirtoalusta ja oikea (toinen) sivu on LibreLogo-ohjelmille.
LibreLogo-ohjelmointikieli
LibreLogo on helposti eri kielille mukautettava, Logo-tyylinen ohjelmointikieli, jonka LibreOfficen kieliyhteisöt ovat kääntäneet usealle eri kielelle. Se on taaksepäin yhteensopiva vanhempien Logo-toteutusten kanssa, eli vanhoista opetusmateriaaleista löytyvät Logo-ohjelmat toimivat siinä usein sellaisenaan.
TEE kolmio :koko
TOISTA 3 [
ETEEN :koko
VASEMMALLE 120
]
LOPPU
kolmio 10 kolmio 100 kolmio 200
LibreLogon erot Logo-ohjelmointikielestä
-
Listan jäsenet eli alkiot on erotettu pilkuin: PAIKKA [0, 0]
-
Ohjelmalohkot ja listat eroavat toisistaan
-
-
Ohjelmalohkot vaativat välilyönnin tai rivinvaihdon sulkeisiin: TOISTA 10 [ ETEEN 10 VASEMMALLE 36 ]
-
Listat vaativat välittömät sulkeet, näin: PAIKKA [0, 0], ei näin: PAIKKA [ 0, 0 ]
-
-
Yksiriviset funktion esittelyt eivät ole tuettuja (TEE ja LOPPU vaativat rivinvaihdon).
LibreLogon muita piirteitä
-
Kaksoispiste on valinnainen muuttujanimien edellä.
TEE kolmio koko
TOISTA 3 [ ETEEN koko VASEMMALLE 120 ]
LOPPU -
Merkkijonojen merkintätapana tuetaan sekä kieliopillista että Python-merkintää.
TULOSTA "sana ; alkuperäinen Logo-merkintätapa
TULOSTA ”Jotain tekstiä.” ; Writer-merkintätapa
TULOSTA 'Jotain tekstiä.' ; Python-merkintätapa -
Pythonin listojen ja merkkijonojen käsittely
TULOSTA "text"2] ; tulostus: x
TULOSTA "text"[1:3] ; tulostus: ex -
Python-tyylinen JOKAISELLE-silmukka (FOR)
-
Python-tyylinen muuttujien esittely:
x = 15
TULOSTA x -
Ylimääräisiä kyselytoimintoja ei ole:
TULOSTA TÄYTTÖVÄRI
p = PAIKKA
TULOSTA p
TOISTA 10 [ PAIKKA JOKIN PAIKKA p ] -
Funktiokutsujen sulkeiden vaihtoehdot
TEE tähti koko väri
TÄYTTÖVÄRI väri
TOISTA 5 [ VASEMMALLE 72 ETEEN koko OIKEALLE 144 ETEEN koko ]
TÄYTÄ
LOPPU
tähti 100 'punainen'
tähti (100, "vihreä")
tähti(100, "sininen")
LibreLogo-komennot
Peruskielioppi
Kirjainkoon huomiointi
Komennot ja värivakiot ovat kirjainkokoa huomioimattomia:
TULOSTA "Heippa, maailma!"
tulosta "Heippa taas, maailma!"
Muuttujien nimet ovat kirjainkoon huomioivia:
a = 5
A = 7
TULOSTA a
TULOSTA A
Ohjelmarivit
LibreLogon ohjelmarivit ovat LibreOffice Writer -asiakirjan kappaleita. Yhdellä ohjelmarivillä voi olla lukuisia komentoja eli käskyjä:
TULOSTA "Heippa, maailma!" TULOSTA "LibreLogo"
Huomautukset
Kommentit alkavat riviltä puolipisteestä ja jatkuvat rivin (kappaleen) loppuun:
; joitain kommentteja
PRINT 5 * 5 ; joitain kommentteja
Ohjelmarivien jakaminen useisiin kappaleisiin
Ohjelmarivin jakaminen tai jatkaminen useammalle kappaleelle on mahdollista käyttämällä rivin lopussa aaltoviivaa eli tilde-merkkiä:
TULOSTA "Tässä on hyvin pitkä " + ~
"varoitusviesti"
Konnan liikkuminen
ETEEN (et)
ETEEN 10 ; eteenpäin 10pt (1pt = 1/72 tuumaa)
ETEEN 10pt ; katso ylempää
ETEEN 0,5tuuma ; eteenpäin 0,5 tuuma (1 tuuma = 2.54 cm)
ETEEN 1" ; katso ylempää
ET 1mm
ET 1cm
TAAKSE (tk)
TAAKSE 10 ; liikutaan taaksepäin 10pt
VASEMMALLE (vas)
VASEMMALLE 90 ; käännytään vastapäivään 90 astetta
VASEMMALLE 90° ; see above
;LT 3t ; see above (tuntiviisari)
;LT jokin ; käännytään satunnaiseen suuntaan
OIKEALLE (oik)
OIKEALLE 90 ; käännytään myötäpäivään 90 astetta
KYNÄYLÖS (ky)
KYNÄYLÖS ; konna liikkuu piirtämättä
KYNÄALAS (ka)
KYNÄALAS ; konna liikkuu piirtäen
PAIKKA
PAIKKA [0, 0] ; käännytään ja siirrytään vasempaan yläkulmaan
PAIKKA SIVUKOKO ; käännytään ja siirrytään oikeaan alakulmaan
PAIKKA [SIVUKOKO[0], 0] ; käännytään ja siirrytään oikeaan yläkulmaan
;PAIKKA ANY ; turn and move to a random position
SUUNTA
SUUNTA 0 ; käänny pohjoiseen
SUUNTA 12t ; katso ylempää
SUUNTA [0, 0] ; käänny vasempaa ylänurkkaa kohti
SUUNTA JOKIN ; käännytään satunnaisen asentoon
Muut konnakomennot
PIILOTAKONNA (pk)
PIILOTAKONNA ; kätketään konna (seuraavaan näytäkonna-komentoon saakka)
NÄYTÄKONNA (nk)
NÄYTÄKONNA ; konna näkyväksi
KOTIIN
HOME ; reset initial turtle position
TYHJENNÄNÄYTTÖ (tn)
TYHJENNÄNÄYTTÖ ; poistetaan asiakirjan piirrosobjektit
TÄYTÄ ja SULJE
TÄYTÄ ; suljetaan ja täytetään käsiteltävä viivakuvio tai pisteet
SULJE ; suljetaan käsiteltävä viivakuvio tai yhdistetään käsiteltävät pisteet
Esimerkki: tasasivuisen kolmion täyttö:
ETEEN 50 VASEMMALLE 120 ETEEN 50 TÄYTÄ
Esimerkki: tasasivuisen kolmion piirtäminen:
ETEEN 50 VASEMMALLE 120 ETEEN 50 SULJE
Kynän asetukset
KYNÄNLEVEYS (kl)
KYNÄNLEVEYS 100 ; viivan paksuus on 100 pistettä
KYNÄNLEVEYS JOKIN ; sama kuin KYNÄNLEVEYS SATUNNAINEN 10
KYNÄNVÄRI (kv)
KYNÄNVÄRI 'punainen'; asetetaan kynän väri punaiseksi (värien nimistä, katso värivakiot)
KYNÄNVÄRI [255, 255, 0] ; väri keltaiseksi (RGB-luettelo)
KYNÄNVÄRI 0xffff00 ; väri keltaiseksi (heksakoodi)
KYNÄNVÄRI 0 ; väri mustaksi (0x000000)
KYNÄNVÄRI JOKIN ; satunnaiseksi väriksi
KYNÄNVÄRI [5] ; väri punaiseksi (väritunnuksesta, katso värivakiot)
KYNÄNVÄRI "näkymätön" ; kynän väri näkymättömäksi kuvioille ilman näkyvää ääriviivaa
KYNÄNVÄRI '~punainen' ; satunnaiseksi punaiseksi väriksi
KYNÄNLÄPINÄKYVYYS
KYNÄNLÄPINÄKYVYYS 80 ; asettaa kynän värin läpinäkyvyydeksi 80%
VIIVANPÄÄ
VIIVANPÄÄ "eimitään" ; ei kuviota viivan päässä (oletus)
VIIVANPÄÄ "pyöreä" ; pyöristetty viivan pää
VIIVANPÄÄ "neliö" ; kulmikas viivan pää
KYNÄNMUOTO
KYNÄNMUOTO "pyöreä" ; pyöristetty viivaliitos (oletus)
KYNÄNMUOTO "jiiri" ; terävä viivaliitos
KYNÄNMUOTO "viisto" ; viistottu viivaliitos
KYNÄNMUOTO "eimitään" ; ilman liitosmuotoilua
KYNÄNTYYLI
KYNÄNTYYLI "yhtenäinen"; katkeamaton viiva (oletus)
KYNÄNTYYLI "pisteistä" ; pisteviiva
KYNÄNTYYLI "katkonainen" ; katkoviiva
; mukautettu piste-viiva-kuvio määritetään seuraavien argumenttien listalla:
; – peräkkäisten pisteiden lukumäärä
; – pisteen pituus
; – peräkkäisten viivojen määrä
; – viivan pituus
; – pisteiden ja viivojen väli
; – tyyppi (valinnainen):
; 0 = pisteet ovat suorakulmioita (oletus)
; 2 = pisteet ovat neliöitä (pituus ja väli ovat suhteessa kynänleveyteen)
KYNÄNTYYLI [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––
Täyttöasetukset
TÄYTTÖVÄRI (tv)
TÄYTTÖVÄRI ”sininen” ; täytä sinisellä värillä, katso myös KYNÄNVÄRI
TÄYTTÖVÄRI ”näkymätön” YMPYRÄ 10 ; ympyrä ilman täyttöväriä
TÄYTTÖVÄRI [”sininen”, ”punainen”] ; liukuvärjäys punaisen ja sinisen välillä
TÄYTTÖVÄRI [[255, 255, 255], [255, 128, 0]] ; valkoisen ja oranssin välillä
TÄYTTÖVÄRI [”sininen”, ”punainen”, 1, 0, 0] ; asettaa aksiaalinen liukuvärin (kierto- ja reunusasetuksilla), mahdolliset arvot: 0-5 = lineaarinen, aksiaalinen, säteittäinen, elliptinen, neliö ja suorakulmio liukuvärjäyksen suuntana
TÄYTTÖVÄRI [”punainen”, ”sininen”, 0, 90, 20] ; lineaarinen 20% reunuksella, kierrettynä 90 astetta konnan kulkusuuntaan nähden
TÄYTTÖVÄRI [”punainen”, ”sininen”, 0, 90, 20, 0, 0, 200, 50] ; intensiteetti 200% - 50%
TÄYTTÖVÄRI [JOKIN, JOKIN, 2, 0, 0, 50, 50] ; säteittäinen liukuväri satunnaisilla väreillä ja 50-50% keskipisteen vaaka- ja pystysuuntaisella sijainnilla
TÄYTTÖLÄPINÄKYVYYS
TÄYTTÖLÄPINÄKYVYYS 80 ; asettaa täyttövärin läpinäkyvyydeksi 80%
TÄYTTÖLÄPINÄKYVYYS [80] ; asettaa lineaarisen läpinäkyvyysgradientin 80% - 0%
TÄYTTÖLÄPINÄKYVYYS [80, 20] ; asettaa lineaarisen läpinäkyvyysgradientin 80% - 20%
TÄYTTÖLÄPINÄKYVYYS [80, 20, 1, 90] ; asettaa aksiaalisen läpinäkyvyysgradientin kierrettynä 90 astetta konnan kulkusuuntaan nähden
TÄYTTÖLÄPINÄKYVYYS [80, 20, 2, 0, 20, 50, 50] ; asettaa säteittäisen läpinäkyvyysgradientin ulkopuolen 80%:n sisäpuolen 20%:n läpinäkyvyyteen 20% reunuksella ja 50-50% vaaka- ja pystysuuntaisella keskipisteen sijainnilla
TÄYTTÖTYYLI
TÄYTTÖTYYLI 0 ; täyttö ilman viivoitusta (oletus)
TÄYTTÖTYYLI 1 ; musta vaakaviivoitus
TÄYTTÖTYYLI 2 ; musta vinoviivoitus (45 astetta)
TÄYTTÖTYYLI 3 ; musta vinoviivoitus (-45 astetta)
TÄYTTÖTYYLI 4 ; musta pystyviivoitus
TÄYTTÖTYYLI 5 ; punainen ristikko (45 astetta)
TÄYTTÖTYYLI 6 ; punainen ristikko (0 astetta)
TÄYTTÖTYYLI 7 ; sininen ristikko (45 astetta)
TÄYTTÖTYYLI 8 ; sininen ristikko (0 astetta)
TÄYTTÖTYYLI 9 ; sininen kolmiverkko
TÄYTTÖTYYLI 10 ; musta vinoviivoitus (harva)
; mukautettu viivoitus, joka määritetään seuraavalla argumenttilistalla:
; – tyyli (1 = yksinkertainen, 2 = kaksois-, 3 = kolmoisviivoitus)
; – väri
; – väli
; – aste
TÄYTTÖTYYLI [2, "vihreä", 3pt, 15°] ; vihreä ristikko (15 astetta)
Piirrosobjektit
YMPYRÄ
YMPYRÄ 100 ; piirtää ympyräkuvion (halkaisija = 100pt)
ELLIPSI
ELLIPSI [50, 100] ; piirtää soikion 50 ja 100 pisteen akselein
ELLIPSI [50, 100, 2t, 12t] ; piirtää soikiosektorin (alkaen klo 2:sta klo 12:een)
ELLIPSI [50, 100, 2t, 12t, 2] ; piirtää soikiosegmentin
ELLIPSI [50, 100, 2h, 12h, 3] ; draw an elliptical arc
NELIÖ
NELIÖ 100 ; piirtää neliökuvion (koko = 100pt)
SUORAKULMIO
SUORAKULMIO [50, 100] ; piirtää suorakulmion (50×100pt)
SUORAKULMIO [50, 100, 10] ; piirtää kulmista pyöristetyn suorakulmion
PISTE
PISTE ; piirtää kynän koon ja värin mukaisen pisteen
SULJE yhdistää viimeisimmät pisteet, TÄYTÄ täyttää pisteiden määrittämän kuvion. Esimerkiksi ”litteän” tähden piirtäminen lähtien sen keskipisteestä on helppoa:
KYNÄYLÖS
TOISTA 5 [
ETEEN 80
PISTE
TAAKSE 80
OIKEALLE 36
ETEEN 50
PISTE
TAAKSE 50
OIKEALLE 120
] TÄYTÄ
SELITE
SELITE "teksti" ; tulostaa tekstn konnan kohdalle
SELITE 'teksti' ; katso ylempää
SELITE "teksti; katso ylempää (vain yksittäisille sanoille)
TEKSTI
YMPYRÄ 10 TEKSTI "tekstiä" ; tekstittää käsiteltävän piirrosobjektin
Fonttiasetukset
FONTINVÄRI
FONTINVÄRI "vihreä" ; asettaa kirjainten värin
FONTTIPERHE
FONTTIPERHE “Linux Libertine G” ; asettaa fontin (perheen)
FONTTIPERHE “Linux Libertine G:smcp=1” ; asettaa myös fontin ominaisuuden (kapiteeli)
FONTTIPERHE “Linux Libertine G:smcp=1&onum=1” ; kapiteeli + vanhat kuviot
FONTTIKOKO
FONTTIKOKO 12 ; kirjainkooksi 12pt
FONTINPAKSUUS
FONTINPAKSUUS "lihavoitu" ; asettaa lihavoinnin
FONTINPAKSUUS "tavallinen" ; asettaa paksuuden normaaliksi
FONTTITYYLI
FONTTITYYLI "kursivointi" ; asetetaan kursivointi
FONTTITYYLI "tavallinen" ; asetetaan normaali tekstityyli
KUVA
Kuvan käyttökohteet:
-
kuvioryhmittely;
-
uuden viivakuvion aloitus;
-
SVG-kuvien ja SVG/SMIL-animaatioiden tallennus;
-
pitäen asentojen yhtenäisyyden ja viivakuviot vasemmassa reunassa.
Kuvioryhmittely
; KUVA [ LibreLogo_komennot ]
KUVA [ ETEEN 100 YMPYRÄ 100 ] ; puumainen kuvioryhmä
Katso myös "Ryhmä" LibreOffice Writerin ohjeista.
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
Uuden viivakuvion aloittaminen
KUVA ; aloittaa uuden viivakuvion
ETEEN 10 KUVA ETEEN 10 ; kaksi erillistä viivakuviota
SVG-kuvien tallennus
KUVA "esimerkki.svg" [ YMPYRÄ 5 ] ; tallenna kuva SVG-muodossa käyttäjän kansioon
KUVA "Työpöytä/esimerkki.svg" [ ETEEN 100 YMPYRÄ 5 ] ; kuten yllä, mutta suhteellisella kansiopolulla
KUVA "/home/käyttäjätunnus/esimerkki.svg" [ YMPYRÄ 5 ] ; absoluuttinen polku Unixissa tai Linuxissa
KUVA "C:\esimerkki.svg" [ YMPYRÄ 5 ] ; absoluuttinen polku Windowsissa
SVG/SMIL-animaatioiden tallennus (piirtäminen NUKU-komennoilla)
KUVA "animaatio.svg" [ YMPYRÄ 5 NUKU 1000 YMPYRÄ 99 ] ; tallenna SVG/SMIL-animaatio (katso myös NUKU)
KUVA "anomaatio2.svg" [ YMPYRÄ 5 NUKU 1000 YMPYRÄ 99 NUKU 2000 ] ; kuten edellä, mutta NUKU viimeisenä komentona johtaa toistoon: kahden sekunnin jälkeen SVG-animaatio käynnistyy uudelleen SMIL-yhteensopivissa selaimissa
Yhtenäisyys vasemmassa reunassa
Use PICTURE to keep the consistency of positions and line shapes at the left border of Writer:
KUVA [ YMPYRÄ 20 PAIKKA [-100, 100] YMPYRÄ 20 ]
Silmukat
TOISTA
; TOISTA luku [ komennot ]
TOISTA 10 [ ETEEN 10 VASEMMALLE 45 YMPYRÄ 10 ] ; toistetaan 10 kertaa
; luku on valinnainen
TOISTA [ PAIKKA JOKIN ] ; päättymätön silmukka
TOISTOKERRAT
Silmukkamuuttuja (myös JOKAISELLE- ja KUNHAN-silmukoissa).
TOISTA 100 [ ETEEN TOISTOKERRAT VASEMMALLE 90 ]
jokaiselle
Silmukka listan alkioille:
JOKAISELLE i [1, 5, 7, 9, 11]:SSA [
ETEEN i
VASEMMALLE 90
]
Silmukka merkkijoukon merkeille:
JOKAISELLE i "teksti":SSÄ [
SELITE i
ETEEN 10
]
KUNHAN
KUNHAN TOSI [ PAIKKA JOKIN ] ; loputon silmukka
KUNHAN TOISTOKERRAT <= 10 [ ETEEN 50 VASEMMALLE 36 ] ; sama kuin TOISTA 10 [ ... ]
KESKEYTÄ
Pysäytä silmukassa.
TOISTA [ ; loputon silmukka
PAIKKA JOKIN
JOS TOISTOKERRAT = 100 [ KESKEYTÄ ] ; vastaava kuin TOISTA 100 [ ... ]
]
JATKA
Hyppää seuraavaan silmukan kierrokseen.
TOISTA 100 [
PAIKKA JOKIN
JOS TOISTOKERRAT % 2 = 0 [ JATKA ]
YMPYRÄ 10 ; piirretään ympyrä joka toiseen paikkaan
]
Ehdot
JOS
; JOS ehto [ tosi-lohko ]
; JOS ehto [ tosi-lohko ] [ epätosi-lohko ]
JOS a < 10 [ TULOSTA 'pieni' ]
JOS a < 10 [ TULOSTA 'pieni' ] [ TULOSTA 'suuri' ]
JA, TAI, EI
Loogiset operaattorit.
JOS a < 10 JA EI a = 5 [ TULOSTA "0, 1, 2, 3, 4, 6, 7, 8 tai 9" ]
JOS a < 10 JA a != 5 [ TULOSTA "0, 1, 2, 3, 4, 6, 7, 8 tai 9" ] ; kuten edellä
Aliohjelmat
TO, LOPPU
Uusi sana (tai aliohjelma).
TO triangle
REPEAT 2 [ FORWARD 100 RIGHT 120 ] FILL
END
REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]
KIRJOITA
Funktion paluuarvo.
TEE randomletter
KIRJOITA SATUNNAINEN "qwertzuiopasdfghjklyxcvbnm"
LOPPU
TULOSTA randomletter + randomletter + randomletter ; tuloste: 3-kirjaiminen satunnainen merkkijono
PYSÄYTÄ
Aliohjelmasta palaaminen.
TEE esimerkki luku
JOS luku < 0 [ PYSÄYTÄ ]
TULOSTA NELIÖJUURI luku ; tuloste: neliöjuuri
]
esimerkki 100
esimerkki -1 ; ei tulosta tai virhettä
esimerkki 25
Oletusmuuttujat
JOKIN
Oletussatunnaisarvo väreille jne.
KYNÄNVÄRI JOKIN ; satunnainen kynän väri
TOSI
Looginen arvo.
KUNHAN TOSI [ PAIKKA JOKIN ] ; loputon silmukka
TULOSTA TOSI ; tuloste: tosi
EPÄTOSI
Looginen arvo.
KUNHAN EI EPÄTOSI [ PAIKKA JOKIN ] ; loputon silmukka
TULOSTA EPÄTOSI ; tuloste: epätosi
SIVUKOKO
TULOSTA SIVUKOKO ; tuloste: lista sivun mitoista pisteinä, esim. [595 ,30, 841,89]
PII/π
TULOSTA PII ; tuloste: 3,14159265359
Syöttö ja tulostus
TULOSTA
TULOSTA 'text'; tuloste: 'text' valintaikkunassa
TULOSTA 5 + 10 ; tuloste: 15
SYÖTÄ
TULOSTA SYÖTÄ 'Syötä arvo?' ; kysytään ja tulostetaan merkkijono kyselyruudun avulla
TULOSTA DESIMAALIL (SYÖTÄ "Ensimmäinen luku?") + DESIMAALIL (SYÖTÄ "Toinen luku?") ; yksinkertainen laskin
NUKU
NUKU 1000 ; odotetaan 1000 ms (1 s)
YHTEINEN
Aseta yhteiset muuttujat käytettäviksi aliohjelmissa.
YHTEINEN about
about = “LibreLogo”
TEE example
TULOSTA about
YHTEINEN about ; kun haluamme lisätä uuden arvon
about = “new value for the global variable”
LOPPU
example
TULOSTA about
Funktiot
SATUNNAINEN
TULOSTA SATUNNAINEN 100 ; satunnainen desimaaliluku (0 <= x < 100)
TULOSTA SATUNNAINEN 'text' ; satunnainen kirjain text-sanasta
TULOSTA SATUNNAINEN [1, 2] ; satunnainen listan alkio (1 tai 2)
KOKONAISL
TULOSTA KOKONAISL 3,8 ; tuloste: 3 (kokonaisosa 3,8:sta)
TULOSTA KOKONAISL SATUNNAINEN 100 ; satunnainen kokonaisluku (0 <= x < 100)
TULOSTA KOKONAISL "7" ; muunnetaan merkkijonoparametri kokonaisluvuksi
DESIMAALIL
; muunna merkkijonoparametrin desimaaliluvuksi
TULOSTA 2 * DESIMAALIL “5,5” ; tuloste: 11,0
MJONO
; muunna lukuparametrin merkkijonoksi
TULOSTA “Result: ” + MJONO 5 ; tuloste: Result: 5
TULOSTA 10 * MJONO 5 ; tuloste: 5555555555
NELIÖJUURI
TULOSTA NELIÖJUURI 100 ; tuloste: 10, neliöjuuri 100:sta
SINI
TULOSTA SINI 90 * PII/180 ; tuloste: 1,0 (sini 90° radiaaneina)
KOSINI
TULOSTA KOSINI 0 * PII/180 ; tuloste: 1,0 (kosini 0° radiaaneina)
LOG10
TULOSTA LOG10 100 ; tulostaa 2,0 (kymmenkantainen logaritmi luvusta 100)
PYÖRISTÄ
TULOSTA PYÖRISTÄ 3,8 ; tuloste: 4 (3,8 pyöristettynä)
TULOSTAT PYÖRISTÄ SATUNNAINEN 100 ; satunnainen kokonaisluku (0 <= x <= 100)
ITSEISARVO
TULOSTA ITSEISARVO -10 ; tuloste: 10, itseisarvo luvusta -10
LUKUMÄÄRÄ
TULOSTA LUKUMÄÄRÄ “text” ; tuloste: 4, sanan “text” kirjainmäärä
TULOSTA LUKUMÄÄRÄ [1, 2, 3] ; tuloste: 3, listan koko
JOUKKO
; Muunna listan Python-joukoksi
TULOSTA JOUKKO [4, 5, 6, 6] ; tuloste: {4, 5, 6}
TULOSTA JOUKKO [4, 5, 6, 6] | SET [4, 1, 9] ; tuloste: {1, 4, 5, 6, 9}, yhdiste
TULOSTA JOUKKO [4, 5, 6, 6] & JOUKKO [4, 1, 9] ; tuloste: {4}, leikkaus
TULOSTA SET ([4, 5, 6, 6]) - JOUKKO [4, 1, 9] ; tuloste: {5, 6}, joukkoerotus
TULOSTA JOUKKO [4, 5, 6, 6] ^ JOUKKO [4, 1, 9] ; tuloste: {1, 5, 6, 9}, symmetrinen erotus
ALUE
; Python-tyylinen listaus
TULOSTA ALUE 10 ; tuloste: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
TULOSTA ALUE 3 10 ; tuloste: [3, 4, 5, 6, 7, 8, 9]
TULOSTA ALUE 3 10 3 ; tuloste: [3, 6, 9]
JOKAISELLE i ALUE:SSA 10 50 10 [ ; silmukassa [10, 20, 30, 40]
ETEEN i
VASEMMALLE 90
]
LISTA
; poista listan toistuvat alkiot käyttäen joukkoa ja listan muunnosta
TULOSTA LISTA (JOUKKO [1, 3, 5, 5, 2, 1]) ; tuloste: [1, 3, 5, 2]
PARI
Muunnos Python-pariksi (ei-muokattava lista)
TULOSTA PARI [4, 5]
LAJITELTU
Komento palauttaa lajitellun listan.
TULOSTA LAJITELTU [5, 1, 3, 4] ; tulostetaan [1, 3, 4, 5]
KORVAA
Korvaa merkkisarjoja käyttäen säännöllisiä lausekkeita (regex).
TULOSTA KORVAA ('t', 'T', "text") ; tuloste: TexT, t korvattu T:llä
TULOSTA KORVAA ("(.)", “\\1\\1", "text") ; tuloste: tteexxtt, jokainen kirjan kahdennettu
ETSI
Etsitään merkkisarjoja käyttäen säännöllisiä lausekkeita.
IF SEARCH (“\w”, "word") [ PRINT “Letter in the word.” ]
ETSIKAIKKI
Haetaan syötemerkkijonon kaikki merkkisarjat, jotka vastaavat annettua säännöllistä lauseketta (regex).
TULOSTA ETSIKAIKKI("\w+", "Koirat, kissat.") ; tulosteena ['Koirat', 'kissat'], sanojen luettelo.
MIN
TULOSTA PIENIN [1, 2, 3] ; tulosteena 1, listan pienin alkio
MAKS
TULOSTA SUURIN [1, 2, 3] ; tulosteena 3, listan suurin alkio
Värivakiot
KYNÄNVÄRI "HOPEA" ; asetus nimellä
KYNÄNVÄRI [1] ; asetus tunnisteella
KYNÄNVÄRI "~HOPEA" ; satunnainen hopeaväri
Tunniste |
Nimi |
0 |
MUSTA |
1 |
HOPEA |
2 |
HARMAA |
3 |
VALKOINEN |
4 |
PUNARUSKEA |
5 |
PUNAINEN |
6 |
PURPPURA |
7 |
FUKSIA |
8 |
VIHREÄ |
9 |
LIMETTI |
10 |
OLIIVI |
11 |
KELTAINEN |
12 |
LAIVASTO |
13 |
SININEN |
14 |
SINIVIHREÄ |
15 |
SYAANI |
16 |
PINKKI |
17 |
TOMAATTI |
18 |
ORANSSI |
19 |
KULTA |
20 |
VIOLETTI |
21 |
TAIVAANSININEN |
22 |
SUKLAA |
23 |
RUSKEA |
24 |
NÄKYMÄTÖN |