Język programowania LOGO Opracowanie: Zuzanna Gawlas Na podstawie: http://pl.wikipedia.org/wiki http://konkurs.erisoftware.pl/news.php
WSTĘP Język programowania Logo powstał w Laboratorium Sztucznej Inteligencji w MIT (Massachusetts Institute of Technology) w latach siedemdziesiątych naszego stulecia. Został opracowany przez grupę uczonych pod kierownictwem Seymoura Paperta. Jest dialektem języka LISP. W pracach nad nim wykorzystano wyniki badań szwajcarskiego pedagoga i psychologa, profesora Jeana Piageta (09.08.1896 - 16.09.1980).
Sterowanie robotem Początkowo język Logo służył do sterowania robotem z wyglądu przypominającym żółwia. Robot po wpisaniu komendy przemieszczał się po podłodze w przód, w tył, obracał się w prawo i w lewo. „Żółw” wyposażony był także w specjalny pisak, dzięki któremu mógł znaczyć trasę swojej wędrówki. Z czasem żółw Logo przeniósł się na monitory komputerów.
Zalety programowania Logo jest językiem pierwszego kontaktu człowieka z komputerem. Jest nowoczesnym językiem wysokiego poziomu, umożliwiającym rozwiązywanie ważnych problemów z informatyki, matematyki i innych dziedzin. Prostota i przejrzystość języka powodują, że jest on łatwy w obsłudze, wyrabia dobre nawyki, uczy zasad poprawnego, strukturalnego programowania.
Programowanie strukturalne Programowanie strukturalne to takie, w którym złożone, trudne i skomplikowane problemy rozkładane są na mniejsze i mniejsze tak długo, aż staną się proste, łatwe i zrozumiałe. Jednym z istotnych założeń przyświecających twórcom języka LOGO było to, aby instrukcje w tym języku brzmiały podobnie do zdań w języku naturalnym (w tym wypadku angielskim).
LOGO w Polsce W Polsce język Logo jest powszechny od połowy lat osiemdziesiątych XX w. Ze względu na swoje szczególne zastosowanie słownik języka Logo ma liczne realizacje narodowe, w szczególności z użyciem wyrazów polskich, np.: AC-Logo Logo – Komeniusz Logomocja – Imagine Simba 3D
Okno programu Logo Komeniusz
Okno programu Logomocja
Okno programu Simba 3D
Postać Simby Simba (Żółw) porusza się po ekranie krokami. Jeden krok to jeden punkt graficzny tzw. piksel. Podczas wędrówki Simba może znaczyć swój ślad pisakiem. Technika programowania rysunków w Logo to grafika żółwia.
Procedury pierwotne Najprostsze czynności zostały zdefiniowane przez twórców języka logo. Nazywamy je procedurami pierwotnymi. Procedury pierwotne to inaczej polecenia, rozkazy, jakie można wydawać Simbie. Wystarczy wpisać dane polecenie w linii poleceń.
Procedury pierwotne CZYŚĆ skrót: CS Polecenie czyści rysunek i ustawia simbę na środku ekranu. Zwykle stosuje się to polecenie na początku programu lub w trybie wykonywania poleceń bezpośrednich. Przykład: CZYŚĆ
Procedury pierwotne IDŹ ile_kroków NAPRZÓD ile_kroków skrót: NP Przesuwa simbę o zadaną liczbę kroków do przodu. Simba poruszając się do przodu rysuję linię o długości podanej zamiast ile_kroków Przykład: IDŹ 100 NP 100 Efekt: Simba przesuwa się do przodu o 100 kroków i rysuję linie o długości 100.
Procedury pierwotne PRAWO kąt skrót: PW Obraca simbę w prawo o zadany kąt. Pełny obrót to 360 stopni Przykład: PRAWO 90 Efekt: Obraca simbę w prawo o 90 stopni. Od tego momentu simba będzie się poruszać w prawo względem poprzedniego ruchu naprzód.
Procedury pierwotne LEWO kąt skrót: LW Obraca simbę w lewo o zadany kąt. Pełny obrót to 360 stopni Przykład: LEWO 90 Efekt: Obraca simbę w lewo o 90 stopni. Od tego momentu simba będzie się poruszać w lewo względem poprzedniego ruchu naprzód.
Procedury pierwotne PODNIEŚ skrót: POD Użycie tego polecenia pozwala poruszać się simbą bez rysowania linii. Dzięki czemu możemy przestawić simbę w celu narysowanie drugiej figury. Przykład: PODNIEŚ NP 50 Efekt: Simba uniesie swój pisak i przesunie się do przodu o 50 kroków. Jeśli chcemy ponownie rysować musimy zastosować polecenie OPUŚĆ
Procedury pierwotne OPUŚĆ skrót: OPU Polecenie opuszcza pisak simby, dzięki czemu znowu możemy rysować. Zwykle stosujemy je po wykonaniu polecenia PODNIEŚ. Przykład: PODNIEŚ NP 50 OPUŚĆ Efekt: Simba uniesie swój pisak i przesunie się do przodu o 50 kroków, następnie opuści pisak i będzie gotowy do rysowania.
Procedury pierwotne KOLOR skrót: KOL Polecenie pozwala ustawić kolor pisaka. Można go używać z różnymi kombinacjami kolorów. Kolory można podawać na trzy sposoby: wpisując nazwę koloru. Przykład: KOLOR niebieski wpisując trzy składowe RGB. Przykład: KOLOR 45 90 255 Polecenie kolor można używać podając dwa kolory. Dzięki temu podczas rysowania uzyskamy przejście z jednego koloru do drugiego. Przykład: KOLOR biały czarny NP 10 Efekt: Simba narysuje linię, która na początku będzie miała kolor biały a na końcu kolor czarny. Przejście z jednego koloru do drugiego odbywa się w sposób płynny.
Kolory biały akwamaryna biskupi alabastrowy amarantowy akwamaryna alabastrowy amarantowy ametystowy antracytowy arbuzowy atramentowy bahama bananowy beżowy biały biskupi błękit_królewski błękit_paryski błękit_pruski błękit_Thénarda błękit_Turnbulla bordowy brązowy brunatny
Kolory brzoskwiniowy buraczkowy Burgund bursztynowy Bury Ceglasty brzoskwiniowy buraczkowy Burgund bursztynowy Bury Ceglasty Chabrowy Chamois Cielisty cyjan cyklamen cynamonowy cynobrowy cytrynowy czarny czekoladowy czerwień_wzrokowa czerwień_żelazowa czerwony ecru
Kolory eozyna feldgrau fioletowy fiołkowy fuksja gołębi grafitowy eozyna feldgrau fioletowy fiołkowy fuksja gołębi grafitowy granatowy groszkowy grynszpan heban herbaciany indygo jagodowy jaśminowy kakaowy kanarkowy kardynalski karmazynowy karminowy
Kolory kasztanowy kawowy khaki kobaltowy koniakowy koralowy kasztanowy kawowy khaki kobaltowy koniakowy koralowy kość_słoniowa kremowy krwisty lawendowy lapis-lazuli lazurowy lila lila_róż liliowy limonkowy łososiowy magenta mażenta mahoń
Kolory majtkowy makowy malachitowy malinowy marchewkowy marengo majtkowy makowy malachitowy malinowy marchewkowy marengo miedziany miętowy minia miodowy mleczny modry morelowy morski mosiądz mysi niebieski oberżynowy ochra oliwkowy
Kolory oranż orzechowy palisander patynowy pąsowy perłowy piaskowy oranż orzechowy palisander patynowy pąsowy perłowy piaskowy pistacjowy piwny platynowy płowy pomarańczowy popielaty porcelanowy poziomkowy purpurowy rdzawy róż_indyjski róż_pompejański
Kolory róż_wenecki różowy rubinowy rudy sadza_angielska seledynowy róż_wenecki różowy rubinowy rudy sadza_angielska seledynowy sepia siarkowy siny siwy siena_palona słomkowy smolisty spiżowy srebrny stalowy stare złoto szafirowy szafranowy szary
Kolory szkarłatny szmaragdowy śliwkowy tabaczkowy tango trawiasty szkarłatny szmaragdowy śliwkowy tabaczkowy tango trawiasty truskawkowy turkusowy tycjan ugier ultramaryna umbra winny wiśniowy woskowy wrzosowy zieleń_butelkowa zieleń_jaskrawa zieleń_Veronese zieleń_wiosenna zieleń_zgniła zielony złocisty złoty żółty
Procedury pierwotne DÓŁ kąt skrót: DL GÓRA kąt skrót: GR Obraca simbę w dół o zadany kąt. Pełny obrót to 360 stopni Przykład: DÓŁ 90 Efekt: Obraca simbę w dół o 90 stopni. Od tego momentu simba będzie się poruszać w dół względem poprzedniego ruchu naprzód. GÓRA kąt skrót: GR Obraca simbę w górę o zadany kąt. Pełny obrót to 360 stopni Przykład: GÓRA 90 Efekt: Obraca simbę w górę o 90 stopni. Od tego momentu simba będzie się poruszać w górę względem poprzedniego ruchu naprzód.
Procedury pierwotne POWTÓRZ ile [ … ] Polecenie pozwala wykonywać simbie takie same polecenia określoną ilość razy. Przykład: POWTÓRZ 4 [NP 100 PW 90] Efekt: Simba wykona 4 razy polecenia NP 100 i PW 90. Czego skutkiem będzie narysowanie kwadratu. Zastosowanie tego polecenia znacznie skraca ilość poleceń do narysowania takich figur jak koło lub sześciobok.
Procedury bez parametrów OTO nazwa ………… JUŻ Polecenie OTO pozwala nauczyć simbę wykonywać ciąg poleceń. Można określić to mianem podprogramu. Dzięki temu raz wykonane polecenia można wywoływać w dowolnej chwili. Polecenie OTO musimy zawsze zakończyć poleceniem JUŻ. Zastosowanie bloków OTO pozwala w znacznym stopniu skrócić nasz program, a zarazem uczynić go bardziej czytelnym. Przykład: OTO kwadrat POWTÓRZ 4 [NP 100 PW 90] JUŻ Efekt: Zdefiniowaliśmy podprogram kwadrat. Teraz za każdym razem, kiedy wpiszemy polecenie kwadrat simba go narysuje.
Procedury z parametrami OTO nazwa :n ………… JUŻ Dla bloków OTO możemy zdefiniować parametry. Przykład: OTO kwadrat :bok POWTÓRZ 4 [NP :bok PW 90] JUŻ Efekt: Tak zapisany podprogram możemy wywoływać poleceniem: kwadrat 50 lub kwadrat 100 Dzięki temu uzyskujemy możliwość sterowania wielkością kwadratu w zależności od potrzeb. Oczywiście liczba parametrów dla bloków OTO może być dowolna. W analogiczny sposób możemy zrobić podprogram prostokąt: OTO prostokąt :bokA :bokB POWTÓRZ 2 [NP :bokA PW 90 NP :bokB PW 90] JUŻ Wywołanie: prostokąt 150 50