Logo Komeniusz. Operacje na słowach i listach
Transkrypt
Logo Komeniusz. Operacje na słowach i listach
Słowniczek poleceń i funkcji Logomocji 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. bo dana dana to słowo lub lista Wynikiem jest słowo bez ostatniego znaku lub lista bez ostatniego elementu. bp dana dana to słowo lub lista Wynikiem jest słowo bez pierwszego znaku lub lista bez pierwszego elementu. długość dana dana to słowo lub lista Wynikiem jest liczba elementów danej (znaków w słowie lub elementów w liście). pokaŜ bo "kotek kote pokaŜ bo [Ala ma psa] [Ala ma] pokaŜ bp "kotek otek pokaŜ bp [Ala ma psa] [ma psa] pokaŜ długość "kotek 5 pokaŜ długość [Ala ma kota] 3 pokaŜ długość [ [a b] [98 87] ] 2 be znak słowo be dana lista dana to słowo lub lista 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. pokaŜ be "a "abrakadabra brkdbr pokaŜ be 1 [ [1] [2] [3] ] [ [1] [2] [3] ] pokaŜ be 1 [1 2 3 1 2 3] [2 3 2 3] element liczba dana dana to słowo lub lista 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). pokaŜ element 4 "kotek e pokaŜ element 2 [lew łoś kot] łoś Operacje na słowach i listach Strona 1 element? słowo1 słowo2 element? dana lista dana to słowo lub lista 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 Wynikiem jest prawda jeśli dana jest liczbą. W przeciwnym przypadku wynikiem jest fałsz. lista? dana 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 Wynikiem jest lista, której elementami są wszystkie dane. zdanie dana1 dana2 (zdanie dana1 dana2 ...) dana to słowo lub lista 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 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. Operacje na słowach i listach pokaŜ element? "a "trasa prawda pokaŜ element? "a "xyz fałsz pokaŜ element? "as [d tu as] prawda pokaŜ element? [ab] [ [a] [ab] [abc] ] prawda pokaŜ element? [ab] [ [a] [ba] [abc] ] fałsz pokaŜ liczba? 123 prawda pokaŜ liczba? -123 prawda pokaŜ liczba? "kot fałsz pokaŜ liczba? [1] fałsz pokaŜ liczba? [1 2 3] fałsz pokaŜ lista? "kotek fałsz pokaŜ lista? [kot mysz] prawda pokaŜ lista? pierw [kot mysz] fałsz pokaŜ lista? ost [ [kot] [lis] ] prawda pokaŜ lista [x y] "d [[x y] d] pokaŜ (lista "ab "bc "cd "de) [ab bc cd de] pokaŜ lista [ [1 lis] [2 kot] [3 mysz] ] "Ŝółw [ [ [1 lis] [2 kot] [3 mysz] ] Ŝółw] pokaŜ zdanie [x y] "d [x y d] pokaŜ (zdanie "ab "bc "cd "de) [ab bc cd de] pokaŜ zdanie [ [1 lis] [2 kot] [3 mysz] ] "Ŝółw [ [1 lis] [2 kot] [3 mysz] Ŝółw] pokaŜ nak "kot "łos łoskot pokaŜ nak "kot [noc dzień] [noc dzień kot] pokaŜ nak [a b] [x y] [x y [a b] ] Strona 2 nap dana lista nap słowo1 słowo2 dana to słowo lub lista 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 Wynikiem jest ostatni znak słowa lub ostatni element listy. pierw dana dana to słowo lub lista Wynikiem jest pierwszy znak słowa lub pierwszy element listy. pokaŜ nap "kot "łos kotłos pokaŜ nap "kot [noc dzień] [kot noc dzień] pokaŜ nap [a b] [x y] [ [a b] x y] pokaŜ ost "kot t pokaŜ ost [Ala ma psa] psa pokaŜ pierw "kot k pokaŜ pierw [Ala ma psa] Ala pisz dana dana to słowo lub lista (pisz dana1 dana2 ...) Wypisuje daną na ekranie tekstowym i przenosi kursor do następnego wiersza. Jeśli dana jest listą wypisana zostanie zawartość listy. wpisz dana dana to słowo lub lista (wpisz dana1 dana2 ...) Wypisuje daną na ekranie tekstowym, kursor zostaje w tej samym wierszu. Jeśli dana jest listą wypisana zostanie zawartość listy. pisz "Ala Ala pisz [Ala ma kota] Ala ma kota (pisz "Ala "ma "kota) Ala ma kota pokaŜ dana pokaŜ "las las 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 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 ...) 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. Operacje na słowach i listach Tak jak wyŜej, tylko kursor zostaje w tej samej linii. pokaŜ puste? fałsz pokaŜ puste? prawda pokaŜ puste? prawda pokaŜ puste? fałsz pokaŜ puste? prawda pokaŜ puste? prawda "lis bp bo "ab bp bo [ala kot] [ala pies kot] " [] pokaŜ słowo "nie "wola niewola pokaŜ (słowo "ka "sz "tan) kasztan Strona 3 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. pokaŜ słowo? "kotek prawda pokaŜ słowo? [kot mysz] fałsz pokaŜ słowo? ost [kot mysz] prawda pokaŜ tasuj "hokuspokus pskusuokho pokaŜ tasuj [a b c d e] [c a e d b] pokaŜ tasuj [a [x y z] e] [ [x y z] a e] wynik dana dana to słowo lub lista Zatrzymuje wykonywanie funkcji i przekazuje wynik (słowo, listę) do miejsca, gdzie wykonywana funkcja została wywołana. oto kwadrat :a wynik :a * :a juŜ pokaŜ kwadrat 5 25 słowo? dana Wynikiem jest prawda jeśli dana jest słowem. W przeciwnym przypadku wynikiem jest fałsz. tasuj dana dana to słowo lub lista zastąp liczba lista cokolwiek 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 Wynikiem jest dana odwrócona wspak. Ostatni element jest pierwszym, przedostatni drugim... itd numel słowo dana dana to słowo lub lista 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 Wynikiem jest dana bez elementu o numerze równym liczbie. sortuj zdanie 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. Operacje na słowach i listach pokaŜ zastąp 3 [ala ma dwa koty] "trzy [ala ma trzy koty] pokaŜ wspak "kotek ketok pokaŜ wspak [Ala ma kota] [kota ma Ala] pokaŜ numel "d "abcdedcba 4 pokaŜ numel "dom [Ala ma dom i Ela ma dom] 3 pokaŜ numel "de "abcdedcba 4 pokaŜ numel "dc "abcdedcba 6 pokaŜ bezelnum 5 "ala ala pokaŜ bezelnum 1 "ala la pokaŜ bezelnum 3 [dom 23 Ela kotek1] [dom 23 kotek1] 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] Strona 4