Słowniczek poleceń i funkcji Logomocji
Grafika żółwia
Polecenie Parametr | Opis | Przykład Wynik działania |
---|---|---|
np liczba | Przesuwa żółwia w aktualnym kierunku o podaną liczbę kroków. | np 50 |
ws liczba | Przesuwa żółwia przeciwnie do aktualnego kierunku o podaną liczbę kroków. | ws 50 |
pw kąt | Obraca żółwia w prawo o podany kąt. | pw 90 |
lw kąt | Obraca żółwia w lewo o podany kąt. | lw 90 |
cs | Czyści ekran graficzny (żółw wraca do swojej pozycji początkowej i kierunku początkowego). | |
wróć | żółw wraca do swojej pozycji początkowej i kierunku początkowego – nie rysuje linii nawet jeśli ma opuszczony pisak. Ekran nie jest czyszczony. | |
sż | Chowa postać żółwia. | |
pż | Pokazuje postać żółwia. | |
ukp kolor | Ustala kolor pisaka żółwia. | ukp "zielony ukp jld |
ukm kolor | Ustala kolor malowania. | ukm "czerwony ukm jld |
ugp liczba | Ustala grubość pisaka żółwia. | ugp 2 |
pod | żółw podnosi pisak (przestaje rysować). | |
opu | żółw opuszcza pisak (wraca do rysowania). | |
zamaluj | żółw zamalowuje otaczający go obszar ograniczony najbliższymi liniami, używając koloru malowania. | |
wielokąt kod_rys | żółw rysuje wypełniony wielokąt na podstawie kodu rysunku. | wielokąt [powtórz 4 [np 50 pw 90]] wielokąt [powtórz 5 [np 90 pw 144]] |
okrąg średnica | Żółw rysuje okrąg o podanej średnicy. Środek okręgu jest w miejscu, w którym stoi żółw. | okrąg 100 |
koło średnica | Żółw rysuje koło o podanej średnicy używając swojego aktualnego koloru pisaka oraz koloru malowania. Środek koła jest w miejscu, w którym stoi żółw. | koło 100 |
Przydatne polecenia
Polecenie Parametr Opis | Przykład Wynik działania |
---|---|
jld | ukp jld – ustali kolor pisaka na wylosowany przez komputer ugp jld – ustali w sposób losowy grubość pisaka, wybrana w ten sposób grubość może przyjąć wartości od 1 do 20 |
Wynikiem jest losowo wybrana wartość potrzebna poleceniu, po którym nastąpiło jld. Nazwa powstała od „jak los da”. | |
losowa liczba | losowa 3 - może wylosować następujące liczby 0, 1 lub 2 losowa 2 - może wylosować liczbę 0 lub 1 |
Wynikiem jest wylosowana liczba całkowita z zakresu od 0 do liczba-1. | |
npw | powtórz 40 [np npw*3 pw 90] |
Funkcja ma swoją wartość wewnątrz pętli (np. powtórz). Jej wynikiem jest numer aktualnego powtórzenia danej listy poleceń. | |
powtórz liczba lista_poleceń | powtórz 4 [np 78 pw 90] |
Powtarza listę poleceń podaną liczbę razy. | |
pwk liczba | pokaż pwk 2 1.41421 |
Wynikiem jest pierwiastek kwadratowy z danej liczby lub jego przybliżenie. | |
int liczba | pokaż int 3.1415 3 pokaż int -99.9-99 |
Wynikiem jest część całkowita danej liczby, jaką otrzymamy po odrzuceniu części ułamkowej. | |
jeśli warunek lista_poleceń | jeśli :a<30 [np 20] |
Jeśli warunek ma wartość prawda, to wykonywana jest lista poleceń, w przeciwnym przypadku nic się nie dzieje. | |
jeżeli warunek lista_poleceń1 lista_poleceń2 | jeżeli :a=0 [np 20] [np 30] |
Jeśli warunek ma wartość prawda, to wykonywana jest lista_poleceń1, w przeciwnym przypadku wykonywana jest lista_poleceń2. | |
pozx pozy | |
Wynikiem jest wartość x-owej lub y-owej współrzędnej pozycji żółwia. | |
ustalPozx liczba ustalPozy liczba | |
Żółw zmieni swoją pozycję x-ową (przesunie się w lewo lub prawo bez zmiany kierunku na podaną pozycję). Żółw zmieni swoją pozycję y-ową (przesunie się do góry lub do dołu bez zmiany kierunku na podaną pozycję). | |
wybierz słowo [przypadek1 lista1 przypadek2 lista2 ... przypadekn listan listaInaczej] | przypisz "x 100 wybierz :x [100 [pokaż 2*:x] 200 [pokaż 10*:x]] 200 przypisz "x 500 wybierz :x [100 [pokaż 2*:x] 200 [pokaż 10*:x] [pisz "OK]] OK przypisz "x 500 wybierz :x [100 [(zwiększ "x 1)] 200 [(zwiększ "x 2)] [(zwiększ "x 3)]] pokaż :x 503 |
Procedura wybierz oblicza wartość pierwszej danej i porównuje tę wartość ze słowami w każdym kolejnym przypadku. Gdy w jakimś przypadku napotka słowo identyczne, wykonuje listę poleceń tego przypadku lub oblicza wartość wyrażenia. Jeśli w wybranym przypadku jest lista poleceń, wybierz jest poleceniem. Jeśli wybrany przypadek zawiera wyrażenie, wybierz jest funkcją i jej wynikiem jest wartość tego wyrażenia. Jeśli w żadnym przypadku nie ma odpowiedniego słowa, ale istnieje przypadek inaczej zostanie wykonana lista poleceń lub obliczone wyrażenie tego przypadku. | |
dopóki [warunek] lista_poleceń | dopóki [:a<200] [np :a pw 90 niech "a :a+5] |
Dopóki warunek ma wartość prawda powtarzana jest lista poleceń. | |
dla słowo [n1 n2] lista dla słowo [n1 n2 n3] lista |
dla "x [1 5] [pokaż :x ] 1 2 3 4 5 dla "x [1 5 3] [pokaż :x] 1 4 dla "x [5 1] [pokaż :x ] 5 4 3 2 1 dla "x [5 1 -2] [pokaż :x ] 5 3 1 dla "x [2 2] [pokaż :x ] 2 |
Pętla znana w innych językach programowania pod nazwą for. Jeśli n1 < n2, to zmienna sterująca pętlą (nazwą tej zmiennej jest dane słowo) przyjmuje wartość początkową n1 i wykonywana jest lista poleceń. Następnie zwiększa się wartość zmiennej sterującej o 1 (albo o n3, jeśli jest określone) i ponownie wykonywana jest lista poleceń. Powtarza się to tak długo, dopóki wartość zmiennej sterującej jest n1 <= n2. Jeśli krok n3 nie jest określony i n1 > n2, wartość zmiennej sterującej jest za każdym razem zmniejszana o 1. Podobnie, gdy n3 jest ujemne, wartość zmiennej sterującej jest zmniejszana. Jeśli n3 ma wartość 0 lub n1 = n2, lista poleceń jest wykonywana jeden raz. W poleceniach listy, można używać funkcji npw, której wynikiem jest numer aktualnie wykonywanego powtórzenia. | |
ascii znak ascii słowo | pokaż ascii "a 97 pokaż ascii "A 65 pokaż ascii "Ala 65 |
Wynikiem jest kod numeryczny ASCII (liczba z zakresu od 0 do 255 włącznie) danego znaku lub pierwszego znaku danego słowa. | |
znak liczba | pokaż znak 65 A |
Wynikiem jest znak, którego kodem ASCII jest dana liczba (musi być z zakresu od 0 do 255 włącznie). | |
ilorazc liczba1 liczba2 | pokaż ilorazc 11 4 2 |
Wynikiem jest iloraz całkowity liczby1 przez liczbę2. Jeśli dane nie są liczbami całkowitymi, ich części ułamkowe są odrzucane. | |
reszta liczba1 liczba2 | pokaż reszta 10 3 1 pokaż reszta 11 3 2 |
Wynikiem jest reszta z dzielenia liczby1 przez liczbę2. | |
i warunek1 warunek2 (i warunek1 warunek2 warunek3 ...) | pokaż i 2>1 5>4 prawda pokaż i 2>1 5<4 fałsz pokaż i 2<1 5<4 fałsz pokaż (i 2>1 5>4 7>0) prawda pokaż (i 2>1 5<4 7>0) fałsz |
Wynikiem jest prawda jeżeli wszystkie warunki są prawdziwe. Wynikiem jest fałsz jeżeli przynajmniej jeden warunek jest fałszywy. | |
lub warunek1 warunek2 (lub warunek1 warunek2 warunek3 ...) | pokaż lub 2>1 5>4 prawda pokaż lub 2>1 5<4 prawda pokaż lub 2<1 5<4 fałsz pokaż (lub 2>1 5<4 7<0) prawda pokaż (lub 2<1 5<4 7<0) fałsz |
Wynikiem jest prawda jeżeli przynajmniej jeden warunek jest prawdziwy. Wynikiem jest fałsz jeżeli wszystkie warunki są fałszywe. | |
nie warunek | pokaż nie 1>2 prawda pokaż nie 1<2 fałsz |
Zaprzeczenie warunku (jeśli warunek daje prawda, to wynikiem jest fałsz i odwrotnie). | |
niech słowo dana | niech "a 5 oznacza, że od tej pory zmienna o nazwie "a będzie miała wartość 5 aż do zakończenia działania procedury w której została utworzona |
Tworzy zmienną lokalną, której nazwą jest słowo oraz przypisuje jej wartość, która podana jest jako drugi parametr. Zmienna lokalna jest znana tylko w procedurze, w której została utworzona oraz w procedurach wywołanych w niej. | |
przypisz słowo dana dana to słowo lub lista | przypisz "b 123 |
Tworzy zmienną globalną, której nazwą jest słowo oraz przypisuje jej wartość, która podana jest jako drugi parametr. | |
stop | |
Zatrzymuje działanie aktualnie wykonywanej procedury. Wraca do procedury nadrzędnej. | |
zwiększ nazwa (zwiększ nazwa wartość) | zwiększ "b Zwiększa wartość zmiennej "b o 1. (zwiększ "b 4) Zwiększa wartość zmiennej "b o 4 – konieczny nawias. |
Zwiększa wartość zmiennej o podanej nazwie o 1. Zwiększa wartość zmiennej o podanej nazwie o wartość podaną jako drugi parametr. | |
zmniejsz nazwa (zmniejsz nazwa wartość) | zmniejsz "b
Zmniejsza wartość zmiennej "b o 1. (zmniejsz "b 4) Zmniejsza wartość zmiennej "b o 4 – konieczny nawias. |
Zmniejsza wartość zmiennej o podanej nazwie o 1. Zmniejsza wartość zmiennej o podanej nazwie o wartość podaną jako drugi parametr. |
Operacje na słowach i listach
- Funkcje testujemy poprzedzając ich wywołanie słowem pokaż, na przykład pokaż długość "kotek.
- Danymi do większości poniższych funkcji może być również postać, ale tutaj nie zajmujemy się tym przypadkiem.
- W Logo liczba jest szczególnym przypadkiem słowa, więc tam gdzie występuje słowo, może wystąpić też liczba.
- Niektóre procedury (słowo, lista, zdanie, pisz, wpisz, pokaż) działają na dowolnej liczbie parametrów. Jeśli liczba parametrów jest inna niż standardowa, to całość, procedurę razem z parametrami, bierzemy w nawiasy.
Polecenie Parametr / Opis | Przykład Wynik działania |
---|---|
bo dana dana to słowo lub lista | pokaż bo "kotekkote pokaż bo [Ala ma psa][Ala ma] |
Wynikiem jest słowo bez ostatniego znaku lub lista bez ostatniego elementu. | |
bp dana dana to słowo lub lista | pokaż bp "kotekotek pokaż bp [Ala ma psa][ma psa] |
Wynikiem jest słowo bez pierwszego znaku lub lista bez pierwszego elementu. | |
długość dana dana to słowo lub lista | pokaż długość "kotek5 pokaż długość [Ala ma kota]3 pokaż długość [ [a b] [98 87] ]2 |
Wynikiem jest liczba elementów danej (znaków w słowie lub elementów w liście). | |
be znak słowo be dana lista dana to słowo lub lista | pokaż be "a "abrakadabrabrkdbr pokaż be 1 [[1] [2] [3]][[1] [2] [3]] pokaż be 1 [1 2 3 1 2 3][2 3 2 3] |
Jeśli druga dana to słowo, wynikiem jest dane słowo z usuniętymi wszystkimi wystąpieniami danego znaku. Jeśli druga dana to lista, wynikiem jest ta lista z usuniętymi wszystkimi elementami identycznymi jak pierwsza dana. | |
element liczba dana dana to słowo lub lista | pokaż element 4 "koteke pokaż element 2 [lew łoś kot]łoś |
Pierwszy parametr to liczba naturalna, wynikiem jest element występujący na pozycji o numerze równym liczbie (znak w przypadku słowa, element listy w przypadku listy). | |
element? słowo1 słowo2 element? dana lista dana to słowo lub lista | pokaż element? "a "trasaprawda pokaż element? "a "xyzfałsz pokaż element? "as [d tu as]prawda pokaż element? [ab] [ [a] [ab] [abc] ]prawda pokaż element? [ab] [ [a] [ba] [abc] ]fałsz |
Wynikiem jest prawda, jeśli słowo1 wchodzi w skład słowa2. W drugim przypadku wynikiem jest prawda jeśli dana jest elementem listy. | |
liczba? dana | pokaż liczba? 123prawda pokaż liczba? -123prawda pokaż liczba? "kotfałsz pokaż liczba? [1]fałsz pokaż liczba? [1 2 3]fałsz |
Wynikiem jest prawda jeśli dana jest liczbą. W przeciwnym przypadku wynikiem jest fałsz. | |
lista? dana | pokaż lista? "kotekfałsz pokaż lista? [kot mysz]prawda pokaż lista? pierw [kot mysz]fałsz pokaż lista? ost [ [kot] [lis] ]prawda |
Wynikiem jest prawda jeśli dana jest listą. W przeciwnym przypadku wynikiem jest fałsz. | |
lista dana1 dana2 (lista dana1 dana2 ...) dana to słowo lub lista | pokaż lista [x y] "d[[x y] d] pokaż (lista "ab "be "cd "de) [ab bc cd de] pokaż lista [ [1 lis] [2 kot] [3 mysz] ] "żółw [ [ [1 lis] [2 kot] [3 mysz] ] żółw] |
Wynikiem jest lista, której elementami są wszystkie dane. | |
zdanie dana1 dana2 (zdanie dana1 dana2 ...) dana to słowo lub lista | pokaż zdanie [x y] "d[x y d] pokaż (zdanie "ab "be "cd "de) [ab bc cd de] pokaż zdanie [ [1 lis] [2 kot] [3 mysz] ] "żółw[ [1 lis] [2 kot] [3 mysz] Żółw] |
Wynikiem jest lista składająca się z podanych danych. Jeśli dana jest listą, to na listę wynikową wstawiona zostaje bez nawiasów kwadratowych. Zwróć uwagę na różnicę między funkcjami zdanie i lista. | |
nak dana lista nak słowo1 słowo2 dana to słowo lub lista | pokaż nak "kot "łosłoskot pokaż nak "kot [noc dzień] [noc dzień kot] pokaż nak [a b] [x y][x y [a b] ] |
Wstawia daną na koniec listy. W drugim przypadku wynikiem jest słowo utworzone przez połączenie słowa2 i słowa1. Wyrażenie nak słowo1 słowo2 jest równoważne z słowo słowo2 słowo1. | |
nap dana lista nap słowo1 słowo2 dana to słowo lub lista | pokaż nap "kot "łoskotłos pokaż nap "kot [noc dzień] [kot noc dzień] pokaż nap [a b] [x y][ [a b] x y] |
Wstawia daną na początek listy. W drugim przypadku wynikiem jest słowo utworzone przez połączenie słowa1 i słowa2. Wyrażenie nap słowo1 słowo2 jest równoważne z słowo słowo1 słowo2. | |
ost dana dana to słowo lub lista | pokaż ost "kott pokaż ost [Ala ma psa]psa |
Wynikiem jest ostatni znak słowa lub ostatni element listy. | |
pierw dana dana to słowo lub lista | pokaż pierw "kotk pokaż pierw [Ala ma psa]Ala |
Wynikiem jest pierwszy znak słowa lub pierwszy element listy. | |
pisz dana (pisz dana1 dana2 ...) dana to słowo lub lista | pisz "AlaAla pisz [Ala ma kota]Ala ma kota (pisz "Ala "ma "kota)Ala ma kota |
Wypisuje daną na ekranie tekstowym i przenosi kursor do następnego wiersza. Jeśli dana jest listą wypisana zostanie zawartość listy. | |
wpisz dana (wpisz dana1 dana2 ...) dana to słowo lub lista | |
Tak jak wyżej, tylko kursor zostaje w tej samej linii. Wypisuje daną na ekranie tekstowym, kursor zostaje w tej samym wierszu. Jeśli dana jest listą wypisana zostanie zawartość listy. | |
pokaż dana | pokaż "laslas pokaż [las czas [nas was] ] [las czas [nas was] ] |
Wypisuje daną na ekranie tekstowym i przenosi kursor do następnego wiersza. Jeśli dana jest listą wypisana zostanie zawartość listy i nawiasy kwadratowe. | |
puste? dana dana to słowo lub lista | pokaż puste? "lisfałsz pokaż puste? bp bo "abprawda pokaż puste? bp bo [ala kot]prawda pokaż puste? [ala pies kot]fałsz pokaż puste? "prawda pokaż puste? [ ]prawda |
Funkcja logiczna. Wynikiem jest prawda jeśli dana jest pustym słowem lub pustą listą. W przeciwnym przypadku wynikiem jest fałsz. | |
słowo słowo1 słowo2 (słowo słowo1 słowo2 ...) | pokaż słowo "nie "wolaniewola pokaż (słowo "ka "sz "tan)kasztan |
Wynikiem jest słowo, utworzone przez złączenie podanych słów. Przy większej od dwóch liczbie słów całe polecenie bierzemy w nawiasy. | |
słowo? dana | pokaż słowo? "kotekprawda pokaż słowo? [kot mysz]fałsz pokaż słowo? ost [kot mysz]prawda |
Wynikiem jest prawda jeśli dana jest słowem. W przeciwnym przypadku wynikiem jest fałsz. | |
tasuj dana dana to słowo lub lista | pokaż tasuj "hokuspokuspskusuokho pokaż tasuj [a b c d e][c a e d b] pokaż tasuj [a [x y z] e][ [x y z] a e] |
Wynikiem jest dana ze zmienioną losowo kolejnością elementów. Jeśli dana jest listą i jakiś jej element jest również listą, to jej elementy nie zostaną potasowane. | |
wynik dana dana to słowo lub lista | oto kwadrat :a wynik :a * :a już pokaż kwadrat 525 |
Zatrzymuje wykonywanie funkcji i przekazuje wynik (słowo, listę) do miejsca, gdzie wykonywana funkcja została wywołana. | |
zastąp liczba lista cokolwiek | pokaż zastąp 3 [ala ma dwa koty] "trzy [ala ma trzy koty] |
Wynik jest taki jak druga dana, w której element liczba został zastąpiony przez trzecią daną. To tylko jedna, najczęściej stosowana postać tego polecenia. | |
wspak dana dana to słowo lub lista | pokaż wspak "kotekketok pokaż wspak [Ala ma kota][kota ma Ala] |
Wynikiem jest dana odwrócona wspak. Ostatni element jest pierwszym, przedostatni drugim... itd | |
numel słowo dana dana to słowo lub lista | pokaż numel "d "abcdedcba4 pokaż numel "dom [Ala ma dom i Ela ma dom]3 pokaż numel "de "abcdedcba4 pokaż numel "dc "abcdedcba6 |
Wynikiem jest liczba, która jest numerem pozycji, od której zaczyna się (pierwsze) wystąpienie słowo w danej , w przeciwnym przypadku wynikiem jest liczba 0. | |
bezelnum liczba dana dana to słowo lub lista | pokaż bezelnum 5 "alaala pokaż bezelnum 1 "alala pokaż bezelnum 3 [dom 23 Ela kotek1] [dom 23 kotek1] |
Wynikiem jest dana bez elementu o numerze równym liczbie. | |
sortuj zdanie | pokaż sortuj [Las dla nas][dla Las nas] pokaż sortuj [k o t e k][e k k o t] pokaż sortuj [Las 54 dla 120 3 nas] [3 54 120 dla Las nas] |
Wynikiem jest zdanie składające się z tych samych słów, co w danym zdaniu, uporządkowanych alfabetycznie. Jeśli w zdaniu występują liczby (słowa numeryczne), to po sortowaniu zdania poprzedzają one inne słowa. |