|
|||||||
|
|||||||
|
|
||||||
Logo jest to język programowania stworzony jako środek do nauczania informatyki i matematyki. PRZYKŁADY LOGOSÓW UCZNIÓW NASZEJ SZKOŁY Składa się z gotowych elementarnych procedur, które służą do definiowania procedur użytkownika. Ten język programowania został zaprojektowany przez pracującego pod koniec lat 60. na MIT (Massachusetts Institute of Technology to jedna z najbardziej prestiżowych uczelni technicznych Ameryki) Seymoura Paperta. Jest on oparty o LISP, z zupełnie inną składnią i używa tzw. "grafiki żółwia" (ang. turtle graphics). Po grecku logos znaczy słowo. Grafika żółwiaPoczątkowo język Logo służył do sterowania robotem zwanym ze względu na swój wygląd "Żółwiem". Robot ten po wpisaniu komendy FORWARD 50 przemieszczał się po podłodze o pięćdziesiąt kroków albo np. obracał się w prawo o kąt prosty po komendzie RIGHT 90. "Żółw" wyposażony był także w specjalne pióro, za pomocą którego mógł znaczyć trasę swojej wędrówki. Wraz z upływem czasu, gdy powstały graficzne terminale komputerów żółw Logo przeniósł się z podłogi na ekran monitora. "Żółw ekranowy" jest znacznie tańszy w esploatacji, szybszy oraz posiada znacznie więcej możliwości. Mimo to, "żółwie podłogowe" są nadal interesujące chociażby ze względu na możliwość pomiaru właściwości otoczenia (np. temperatury, rozmieszczenia przeszkód itp.) PODSTAWOWE KOMENDY W JĘZYKU LOGO FORWARDDziałanie: przesuwa żółwia do przodu o zadaną ilość kroków Skrót: FD Składnia: FD ilekroków Przykłady: FD 100 FORWARD 150 BACKDziałanie: przesuwa żółwia do tyłu o zadaną ilość kroków Skrót: BK Składnia: BK ilekroków Przykłady: BK 100 BACK 150 LEFTDziałanie: obraca żółwia w lewo o zadaną liczbę stopni Skrót: LT Składnia: LT ilestopni Przykłady: LT 90 LEFT 120 RIGHTDziałanie: obraca żółwia w prawo o zadaną liczbę stopni Skrót: RT Składnia: RT ilestopni Przykłady: RT 90 RIGHT 120 CLEARSCREENDziałanie: czyści ekran i ustawia żółwia w pozycji wyjściowej Skrót: CS Składnia: CS Przykłady: CS Przykładowe zadania: 1. Narysować kwadrat FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 FD 100 RT 90 2. Narysować trójkąt FD 150 LT 120 FD 150 LT 120 FD 150 LT 120 3. Narysować pięciokąt: FD 30 LT 72 FD 30 LT 72 FD 30 LT 72 FD 30 LT 72 FD 30 LT 72 PENUPDziałanie: podnosi pisak Skrót: PU Składnia: PU Przykłady: PU PENDOWNDziałanie: opuszcza pisak Skrót: PD Składnia: PD Przykłady: PD PENERASEDziałanie: zmienia pisak w gumkę Skrót: PE Składnia: PE Przykłady: PE PENPAINTDziałanie: zmienia gumkę w pisak Skrót: PPT Składnia: PPT Przykłady: PPT PRINT PENDziałanie: wyświetla ustawienia pisaka Skrót: brak Składnia: PRINT PEN Przykłady: PRINT PEN Przykładowe zadania: 1. Przykład wycierania złej kreski FD 100 (rysujemy kreskę do wytarcia) PE (przestawiamy pisak w gumkę) BK 100 (wycieramy złą kreskę) PPT (przestawiamy gumkę w pisak)SETPENCOLORDziałanie: Ustawia kolor pisaka. Kolor podajemy jako listę trzech jednobajtowych wartości nasycenia kolorów Czerwonego R, Zielonego G, Niebieskiego B. Przykładowe wartości Czerwony [255 0 0] Zielony [0 255 0] Niebieski [0 0 255] Czarny [0 0 0] Biały [255 255 255] Ciemny czerwony [100 0 0 ] Możemy również operować kolorami z palety. Kolorów z palety jest 15 i mają one kolejne numery Czarny 0 Niebieski 1 Zielony 2 Błękitny 3 Itd. Skrót: SETPC Składnia: SETPC wektorRGB lub numerkoooru z palety Przykłady: SETPC [255 0 0] SETPC 2 SETSCREENCOLORDziałanie: Zmienia kolor tła. Kod koloru identyczny jak w procedurze SETPC. Skrót: SETSC Składnia: SETSC wektorRGB lub numerkoooru z palety Przykłady: SETSC 3 SETSC [0 255 0] SETFLOODCOLORDziałanie: Zmienia kolor wypełniania procedurą FILL. Kod koloru identyczny jak w procedurze SETPC. Skrót: SETFC Składnia: SETFC wektorRGB lub numerkoooru z palety Przykłady: SETFC 3 SETFC [0 255 0] FILLDziałanie: Wypełnia obszar kolorem. Składnia: FILL Przykłady: FILL SETPENSIZEDziałanie: Zmienia grubość rysowanej kreski. Składnia: SETPENSIZE grubość Przykłady: LSETPENSIZE T 90 LEFT 120 TODziałanie: definiowanie procedury Składnia: TO nazwaprocedury Przykłady: TO kwadrat EDDziałanie: edycja procedury Składnia: ED ”nazwaprocedury Przykłady: ED ”kwadrat REPEATDziałanie: procedura iteracyjna po Składnia: REPEAT n [ listainstrukcji ] Przykłady: REPEAT 4 [ FD 100 RT 90 ] REPEAT 3 [ FD 30 RT 120 ] OUTPUTDziałanie: Zwracanie wartości z procedury. Składnia: OUTPUT wartość Przykłady: Przykładowe procedury bezparametrowe: 1. Rysowanie kwadratu to kwadrat REPEAT 4 [FD 100 RT 90] end 2. Rysowanie trójkąta to trojkat REPEAT 3 [FD 50 RT 120] end 3. Procedury z parametrami to trojkat :bok REPEAT 3 [FD :bok RT 120] End
to wielokat :bok :n REPEAT :n [FD :bok RT 360/:n] End 4. Funkcja suma: to suma :dodajna :dodajnik OUTPUT :dodajna+:dodajnik End
Wywołanie: Print suma 2 6 MAKEDziałanie: definiuje zmienną globalną Składnia: MAKE nazwa wartość Przykłady: MAKE "a 5 MAKE "a :a+3 NAMEDziałanie: identyczne jak make, argumenty w odwrotnej kolejności Składnia: NAME wartość nazwa Przykłady: NAME 10 "b NAME :b+10 "b LOCALDziałanie: deklaracja zmiennej lokalnej Składnia: LOCAL nazwa Przykłady: LOCAL "a LOCALMAKEDziałanie: definicja wartości zmiennej lokalnej Składnia: LOCALMAKE nazwa wartość Przykłady: LOCALMAKE "rob 5 Działanie: Drukuje na ekranie wartość zmiennej Skrót: PR Składnia: PRINT nazwa Przykłady: PRINT "ala PRINT :a PRINT pen SHOWDziałanie: Identyczne jak print z tą różnicą, że jeśli parametr jest listą to przy wydrukowane słowa będą otoczone nawiasami kwadratowymi. Skrót: PR Składnia: PRINT nazwa Przykłady: PRINT "ala PRINT :a PRINT pen TYPEDziałanie: Identyczne jak print z tą różnicą, że po wydrukowanej wartości nie drukujemy białych znaków (spacja, nowa linia). Uwaga: wyjście jest buforowane (tj. nie drukujemy nic do znaku nowej linii lub do wczytywania). Skrót: PR Składnia: PRINT nazwa Przykłady: PRINT "ala PRINT :a PRINT pen READWORDDziałanie: Procedura wczytuje z klawiatury napis i zwraca jako wartość Skrót: RW Składnia: RW Przykłady: PRINT RW MAKE "a RW IFELSEDziałanie: Instrukcja selekcji Skrót: brak Składnia: IF [warunek] [instr. wykonywane gdy warunek jest prawdziwy][instr. wykonywane gdy warunek jest fałszywy] Przykłady: IF [2=5] [print Dwa jest rowne piec?][Dwa jest rozne od piec!] WHILEDziałanie: Instrukcja iteracyjna Skrót: brak Składnia: WHILE [warunek][instrukcje] Przykłady: MAKE "a 1 WHILE [:a<4][PRINT :a MAKE "a :a+1] Przykłady to nwd :a :b while [not (:a=:b)][ifelse :a>:b [make "a :a-:b][make "b :b-:a] ] print :a end
|
|||||||
redaguje Rafał Pastwa © 2004 |