28
WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI AUTOR: mgr ADAM BARANOWSKI DLACZEGO LOGO JAK WCHODZIMY DO LOGO PIERWSZE PROCEDURY ELEMENTARNE PROCEDURY ZŁOŻONE POJĘCIE REKURENCJI LOGO JEST JĘZYKIEM ROZSZERZALNYM LISTA I OPIS PROCEDUR ELEMENTARNYCH ZALETY LOGO WYJŚCIE WYJŚCIE

WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

  • Upload
    jude

  • View
    27

  • Download
    0

Embed Size (px)

DESCRIPTION

WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI. AUTOR: mgr ADAM BARANOWSKI. PIERWSZE PROCEDURY ELEMENTARNE. DLACZEGO LOGO. JAK WCHODZIMY DO LOGO. PROCEDURY ZŁOŻONE. LOGO JEST JĘZYKIEM ROZSZERZALNYM. POJĘCIE REKURENCJI. LISTA I OPIS PROCEDUR ELEMENTARNYCH. ZALETY LOGO. WYJŚCIE. Dlaczego Logo? - PowerPoint PPT Presentation

Citation preview

Page 1: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

AUTOR: mgr ADAM BARANOWSKI

DLACZEGO LOGO

JAK WCHODZIMY DO LOGO

PIERWSZE PROCEDURY ELEMENTARNE

PROCEDURY ZŁOŻONE

POJĘCIE REKURENCJILOGO JEST JĘZYKIEM ROZSZERZALNYM

LISTA I OPIS PROCEDUR ELEMENTARNYCH ZALETY LOGO

WYJŚCIEWYJŚCIE

Page 2: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

 

   Dlaczego Logo? Dzieci używają Logo z wielu powodów; język ten zachęca je do

dzielenia rozwiązywanych problemów na mniejsze, prostsze części. Pozwala on dzieciom na matematyczne przekształcanie wzorków i obrazków, co umożliwia doskonalenie matematycznych umiejętności bez żmudnego odrabiania słupków. Przede wszystkim jednak Logo daje dzieciom władzę nad jednym z najwspanialszych wynalazków człowieka — komputerem. Dorosłym, Logo stwarza możliwość poznania programowania strukturalnego w sposób mniej onieśmielający niż w wielu innych zastosowaniach komputerów. Ponieważ większość błędów daje się dość łatwo poprawić, a małe, proste procedury mogą dać ciekawe rezultaty, Logo jest językiem nadającym się dla samouków i można wtedy się nie obawiać śmieszności z powodu popełnienia błędu. Najważniejszą rzeczą jest zrozumienie konieczności projektowania rozwiązań skomplikowanych problemów i dzielenia ich na pod problemy.

Page 3: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

W przeciwieństwie do innych języków dostępnych dla mikrokomputerów, Logo zostało zaprojektowane nie jako narzędzie do tworzenia oprogramowania, lecz jako środek do nauczania informatyki i matematyki.

Mimo tego, że działanie Logo opiera się na operacjach na listach (Logo jest w pewnym sensie dialektem języka sztucznej inteligencji). Poświęconym w całości tzw.: grafice żółwia – części Logo najbardziej atrakcyjnej dla początkujących programistów. Język Logo został zaprojektowany tak, aby mogły go używać dzieci: nie oznacza to jednak, że jest on dziecinadą. Naprawdę dobre implementacje tego języka pozwalają użytkownikowi zgłębić podstawy programowania, a także badać złożone problemy.

Graficzne możliwości Logo są czymś bardzo specjalnym dlatego, że opierają się nie na bazie współrzędnych kartezjańskich (x,y) jak to się dzieje w większości języków programowania, lecz na tzw. geometrii żółwia. Żółwiem nazwano małego robota, przezroczystą plastykową kopułkę na kółkach, używaną zazwyczaj przez dzieci do rysowania

różnych linii i figur na kawałku papieru leżącym na podłodze.

Page 4: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

W zrozumiałym dla nich języku, dzieci wydają żółwiowi proste instrukcje NAPRZÓD, WSTECZ, LEWO, PRAWO, a robot je wykonuje. Polecenia POD (podnieś pióro) i OPU (opuść pióro) sterują piórem zaznaczającym drogę żółwia. W realizacji ekranowej Logo używa się umownego żółwia, o pozycji na ekranie zaznaczonej stylizowaną strzałką, którą zazwyczaj można ukryć. Tego ekranowego żółwia steruje się takimi samymi poleceniami, jak żółwia-robota. Polecenia POD i OPU nie sterują jednak ustawieniem pióra. Skutek działania poleceń PRAWO i LEWO wymaga nieco wyobraźni, ale zasada pozostaje taka sama.

Jest wiele implementacji Logo i programów na wyrost nazwanych Logo. Niektóre z nich są pełnymi implementacjami języka, zawierającymi narzędzia do przetwarzania list, wiele jest okrojonymi wersjami zawierającymi jedynie grafikę żółwia. Przy okazji: zakładamy, że w naszym minimalnym Logo żółw startuje ze środka ekranu i jest skierowany w prawo (aczkolwiek często jest on na początku zwrócony ku górze).

Page 5: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

     Logo jest językiem rozszerzalnym

 Język Logo składa się z gotowych procedur elementarnych oraz procedur definiowanych przez użytkownika. Zdefiniowane procedury można przechowywać na dysku, a następnie w miarę potrzeb można ich używać oddzielnie lub w połączeniu z innymi procedurami. Dzięki temu właśnie Logo jest językiem rozszerzalnym, który łatwo jest dostosować do konkretnych potrzeb.

W Logo nie istnieje pojęcie programu; nawet bardzo złożone projekty realizuje się budując strukturę procedur zawierających wywołania innych procedur. Trudny projekt można rozbić na małe części i każdą z nich pisać i uruchamiać oddzielnie, przed wcieleniem jej do całości. Oczywiście, jest możliwe opisanie całego dużego systemu jedną procedurą. Nie jest to jednak postępowanie ani proste, ani rozsądne.

Page 6: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Procedurę Logo — zarówno elementarną, jak i zdefiniowaną — wywołuje się podając jej nazwę. Niektóre procedury wymagają podania argumentów; wpisuje się je po nazwie procedury, oddzielając od niej spacją (odstępem); na przykład procedura

NAPRZÓD 50przesuwa żółwia o 50 jednostek do przodu. Jednostkami są tzw. piksle (punkty) na ekranie o dużej rozdzielczości. Rozmiar takiej jednostki jest całkowicie umowny, nie ma to jednak większego znaczenia, ponieważ w Logo długości traktuje się względnie, a nie bezwzględnie.

Page 7: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Lista procedur elementarnychLista procedur elementarnych

Page 8: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Start/Program/ComlogoStart/Program/Comlogo

Page 9: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Okno/pokaż pamięćOkno/pokaż pamięć

Page 10: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Obiekty/dodaj proceduręObiekty/dodaj procedurę

Page 11: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

W okienko wpisujemy nazwę proceduryW okienko wpisujemy nazwę procedury

Page 12: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

 

Pierwsze procedury elementarne

W zasadzie wszystkie możliwe do uzyskania żółwiowe rysunki można stworzyć używając sześciu poleceń — procedur elementarnych NAPRZÓD, WSTECZ, PRAWO, LEWO, POD, OPU. Większość implementacji Logo dopuszcza skrócone formy tych poleceń. Oto przykład prostej procedury wg. której żółw rysuje kwadrat.

 

Pierwsze procedury elementarne

W zasadzie wszystkie możliwe do uzyskania żółwiowe rysunki można stworzyć używając sześciu poleceń — procedur elementarnych NAPRZÓD, WSTECZ, PRAWO, LEWO, POD, OPU. Większość implementacji Logo dopuszcza skrócone formy tych poleceń. Oto przykład prostej procedury wg. której żółw rysuje kwadrat.

Rysunek przedstawia procedurę na rysowanie kwadratuRysunek przedstawia procedurę na rysowanie kwadratu.

Page 13: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Rysunek przedstawia wykonanie procedury o nazwie kwadrat.Rysunek przedstawia wykonanie procedury o nazwie kwadrat.

Page 14: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Wartość 200 (przekazywaną do poleceń NAPRZÓD) wybrałem tylko, dlatego, że na ekranie używanego przeze mnie monitora otrzymuję w ten sposób sensownych rozmiarów kwadrat. Po narysowaniu całego kwadratu, ostatnie polecenie PRAWO 90 kończy rysowanie, ustawiając żółwia w tej samej pozycji, w której się znajdował przed rozpoczęciem rysowania.

Zobaczywszy, w jaki sposób tworzy się kwadrat, wiele osób spodziewa się że, polecenia pozwalające narysować trójkąt równoboczny wyglądają tak:

NAPRZÓD 50, LEWO 60, NAPRZÓD 50, LEWO 60, NAPRZÓD 50, LEWO 60

Ponieważ przywykli do określania wewnętrznych kątów w wielokącie. Nasze postępowanie będzie jednak inne, gdyż geometria żółwia jest oparta na obchodzeniu wokół rysowanych kształtów. Jeśli pójdziesz na spacer dookoła trójkąta równobocznego wyrysowanego na ziemi, będziesz się obracał nie o 60 stopni, lecz o 120 stopni. Żółwie — zarówno na ekranie, jak i na ziemi — zachowują się tak samo.

Wartość 200 (przekazywaną do poleceń NAPRZÓD) wybrałem tylko, dlatego, że na ekranie używanego przeze mnie monitora otrzymuję w ten sposób sensownych rozmiarów kwadrat. Po narysowaniu całego kwadratu, ostatnie polecenie PRAWO 90 kończy rysowanie, ustawiając żółwia w tej samej pozycji, w której się znajdował przed rozpoczęciem rysowania.

Zobaczywszy, w jaki sposób tworzy się kwadrat, wiele osób spodziewa się że, polecenia pozwalające narysować trójkąt równoboczny wyglądają tak:

NAPRZÓD 50, LEWO 60, NAPRZÓD 50, LEWO 60, NAPRZÓD 50, LEWO 60

Ponieważ przywykli do określania wewnętrznych kątów w wielokącie. Nasze postępowanie będzie jednak inne, gdyż geometria żółwia jest oparta na obchodzeniu wokół rysowanych kształtów. Jeśli pójdziesz na spacer dookoła trójkąta równobocznego wyrysowanego na ziemi, będziesz się obracał nie o 60 stopni, lecz o 120 stopni. Żółwie — zarówno na ekranie, jak i na ziemi — zachowują się tak samo.

Page 15: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Wszystkie zdefiniowane przez nas do tej pory procedury mają jedną wspólną cechę: mogą rysować kształty o stałych, znanych uprzednio rozmiarach. Procedury elementarne, takie jak WSTECZ i LEWO, przesuwają lub obracają żółwia o ileś jednostek. Procedurom zdefiniowanym przez użytkownika również można przekazywać pewne wartości, wpływające na wynik wykonania procedury. Jeśli chcemy, żeby tak było, pierwszy wiersz tekstu definiowanej procedury musi zawierać nazwy wszystkich parametrów, którymi się ta procedura posłuży. A więc procedura z parametrem służąca do rysowania trójkąta równobocznego o boku np. a wygląda następująco:

Wszystkie zdefiniowane przez nas do tej pory procedury mają jedną wspólną cechę: mogą rysować kształty o stałych, znanych uprzednio rozmiarach. Procedury elementarne, takie jak WSTECZ i LEWO, przesuwają lub obracają żółwia o ileś jednostek. Procedurom zdefiniowanym przez użytkownika również można przekazywać pewne wartości, wpływające na wynik wykonania procedury. Jeśli chcemy, żeby tak było, pierwszy wiersz tekstu definiowanej procedury musi zawierać nazwy wszystkich parametrów, którymi się ta procedura posłuży. A więc procedura z parametrem służąca do rysowania trójkąta równobocznego o boku np. a wygląda następująco:

Rysunek przedstawia procedurę o nazwie trójkąt.Rysunek przedstawia procedurę o nazwie trójkąt.

Page 16: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Rysunek przedstawia wykonanie procedury o nazwie trójkąt.Rysunek przedstawia wykonanie procedury o nazwie trójkąt.

Page 17: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Rysowanie wielokątów można wykonać za pomocą prostszych i krótszych procedur. Logo pozwala uniknąć kilkukrotnego wpisywania tej samej sekwencji. Procedura POWTÓRZ, w odróżnieniu od poznanych już procedur elementarnych, wymaga podania dwóch argumentów: liczby powtórzeń i listy powtarzanych czynności. Pokażę to na przykładzie ośmiokąta foremnego. W tej procedurze (ośmiokąt) wyrażenie :bok oznacza wartość jeszcze nie znaną, która może ulegać zmianie (a więc zmienną). Wyraz :bok jest poprzedzony dwukropkiem celem oznaczenia, że jest to pewna wartość, a nie nazwa procedury. W chwili użycia procedury ośmiokąt zmiennej :bok trzeba nadać wartość, pisząc np. Ośmiokąt 50. Po takim zdefiniowaniu naszej procedury interpretator Logo będzie oczekiwał podawania wartości przy każdym wywołaniu tej procedury, gdyż napisanie tylko wyrazu ośmiokąt oznacza bowiem “Narysuj ośmiokąt o nieokreślonych rozmiarach". A takiego polecenia Logo wykonać nie potrafi.

Rysunek przedstawia procedurę o Rysunek przedstawia procedurę o nazwie ośmiokąt.nazwie ośmiokąt.

Page 18: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Rysunek przedstawia wykonanie procedury o nazwie ośmiokąt.Rysunek przedstawia wykonanie procedury o nazwie ośmiokąt.

Page 19: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Żółw sam z siebie nie potrafi zbudować lub zdefiniować procedur, może je tylko wykonywać, z chwilą gdy mu się powie OTO wiesz JUŻ, jak zrobić. Pokażę to na prostym przykładzie gwiazdy. W procedurze gwiazda wykorzystam wcześniej napisaną procedurę na rysowanie trójkąta.

Żółw sam z siebie nie potrafi zbudować lub zdefiniować procedur, może je tylko wykonywać, z chwilą gdy mu się powie OTO wiesz JUŻ, jak zrobić. Pokażę to na prostym przykładzie gwiazdy. W procedurze gwiazda wykorzystam wcześniej napisaną procedurę na rysowanie trójkąta.

Rysunek przedstawia procedurę na o nazwie gwiazda.Rysunek przedstawia procedurę na o nazwie gwiazda.

PROCEDURY ZŁOŻONE

Page 20: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Rysunek przedstawia wykonanie procedury o nazwie gwiazda.Rysunek przedstawia wykonanie procedury o nazwie gwiazda.

Page 21: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Widać więc, że zdefiniowanych procedur można używać tak samo, jak procedur elementarnych. Oto inny przykład podwójnej procedury.

Widać więc, że zdefiniowanych procedur można używać tak samo, jak procedur elementarnych. Oto inny przykład podwójnej procedury.

Rysunek przedstawia procedurę o nazwie wzorekRysunek przedstawia procedurę o nazwie wzorek

Page 22: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Rysunek przedstawia Rysunek przedstawia wykonanie procedury wykonanie procedury o nazwie wzoreko nazwie wzorek

Page 23: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Pojęcie rekurencji.

Zrozumienie mechanizmu rekurencji sprawia trudności wielu osobom. Rekurencja jest jednym ze sposobów powtarzania pewnych czynności w nieskończoność. Niektóre interpretatory Logo dopuszczają użycie polecenia powtarzaj, na zawsze i większość implementacji grafiki żółwia zezwala na użycie rekurencji. Oto poniżej prosty przykład procedury rysującej spiralę w kształcie kwadratu.

Pojęcie rekurencji.

Zrozumienie mechanizmu rekurencji sprawia trudności wielu osobom. Rekurencja jest jednym ze sposobów powtarzania pewnych czynności w nieskończoność. Niektóre interpretatory Logo dopuszczają użycie polecenia powtarzaj, na zawsze i większość implementacji grafiki żółwia zezwala na użycie rekurencji. Oto poniżej prosty przykład procedury rysującej spiralę w kształcie kwadratu.

Rysunek przedstawia Rysunek przedstawia procedurę o nazwie spiralaprocedurę o nazwie spirala.

Page 24: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Rysunek przedstawia wykonanie procedury o nazwie spirala.Rysunek przedstawia wykonanie procedury o nazwie spirala.

Page 25: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Procedura używa zmiennej :bok, której wartość początkową podaje użytkownik wywołując Procedurę. Do zmiennej :bok procedura dodaje 10, a więc w kolejnym samo wywołaniu zmienna :bok na nową, większą wartość, określającą długość rysowanej linii NAPRZÓD. Gdyby nie podano warunku “jeśli :bok >300 [stop]”, to żółw by wykonywałby tę czynność w nieskończoność, aż otrzymalibyśmy cały czarny ekran. Warunek “Jeśli”, nakazuje żółwiowi sprawdzanie pewnego warunku przed wykonaniem kolejnego polecenia. W odniesieniu do procedury spirala sprawdzanym warunkiem jest :bok<300. Jeżeli wartość zmiennej :bok jest mniejsza niż 300 jednostek, jest wykonywane polecenie “spirala :bok+10”. Jeśli natomiast wartość zmiennej :bok jest większa lub równa 300, są wykonywane polecenia znajdujące się w następnym wierszu tekstu procedury.

Procedura używa zmiennej :bok, której wartość początkową podaje użytkownik wywołując Procedurę. Do zmiennej :bok procedura dodaje 10, a więc w kolejnym samo wywołaniu zmienna :bok na nową, większą wartość, określającą długość rysowanej linii NAPRZÓD. Gdyby nie podano warunku “jeśli :bok >300 [stop]”, to żółw by wykonywałby tę czynność w nieskończoność, aż otrzymalibyśmy cały czarny ekran. Warunek “Jeśli”, nakazuje żółwiowi sprawdzanie pewnego warunku przed wykonaniem kolejnego polecenia. W odniesieniu do procedury spirala sprawdzanym warunkiem jest :bok<300. Jeżeli wartość zmiennej :bok jest mniejsza niż 300 jednostek, jest wykonywane polecenie “spirala :bok+10”. Jeśli natomiast wartość zmiennej :bok jest większa lub równa 300, są wykonywane polecenia znajdujące się w następnym wierszu tekstu procedury.

Page 26: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

ZALETY LOGO

Język Logo zawiera wiele mechanizmów programowania charakterystycznych dla języków strukturalnych, wysokiego poziomu. Ponieważ nie jest łatwo napisać procedurę nic nie robiącą, można powiedzieć, że wszystkie procedury zdefiniowane przez użytkownika coś robią - jeśli nawet nie służą do tego, do czego służyć powinny. Zasady działania grafiki żółwia są tak oczywiste, że wyszukiwanie błędów w procedurach graficznych jest zadaniem prostym. Większość interpretatorów Logo zawiera mechanizmy śledzenia przebiegu programu, co jeszcze bardziej upraszcza wyszukiwanie błędów.

Problemem napotykanym przez wielu początkujących programistów jest zaprojektowanie w danym języku czegoś interesującego, a jednocześnie łatwego w zapisie i dającego natychmiastowe rezultaty. Można realizować dość złożone pomysły używając dosłownie tylko kilku poleceń Logo, a rozbudowywanie tych pomysłów jest w tym języku programowania rzeczą naturalną. Opanowanie struktury Logo prowadzi do lepszego poznania podobnych struktur w innych, ogólniejszych językach wysokiego poziomu.

ZALETY LOGO

Język Logo zawiera wiele mechanizmów programowania charakterystycznych dla języków strukturalnych, wysokiego poziomu. Ponieważ nie jest łatwo napisać procedurę nic nie robiącą, można powiedzieć, że wszystkie procedury zdefiniowane przez użytkownika coś robią - jeśli nawet nie służą do tego, do czego służyć powinny. Zasady działania grafiki żółwia są tak oczywiste, że wyszukiwanie błędów w procedurach graficznych jest zadaniem prostym. Większość interpretatorów Logo zawiera mechanizmy śledzenia przebiegu programu, co jeszcze bardziej upraszcza wyszukiwanie błędów.

Problemem napotykanym przez wielu początkujących programistów jest zaprojektowanie w danym języku czegoś interesującego, a jednocześnie łatwego w zapisie i dającego natychmiastowe rezultaty. Można realizować dość złożone pomysły używając dosłownie tylko kilku poleceń Logo, a rozbudowywanie tych pomysłów jest w tym języku programowania rzeczą naturalną. Opanowanie struktury Logo prowadzi do lepszego poznania podobnych struktur w innych, ogólniejszych językach wysokiego poziomu.

Page 27: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

Mówi się, że główną zaletą języka Basic jest jego łatwa przyswajalność, jest to bez wątpienia prawda. Nie jest on jednak tak samo łatwy w użyciu jak inne, strukturalne języki programowania. Główną zaś zaletą Logo jest łatwość, z jaką można go nie tylko się nauczyć, lecz także używać. Ponadto jest to język, który wprowadza użytkownika w świat programowania strukturalnego, umiejętności, której w sposób naturalny nie można przyswoić sobie korzystając z Basicu.

Jako środek nauczania matematyki, rozwiązywania zadań, zwłaszcza przez małe dzieci. Logo jest niezastąpione. Pozwala dzieciom (i, rzecz jasna, dorosłym) uprawiać prostą matematykę, bez uciążliwych ćwiczeń i wprawek.

 

Mówi się, że główną zaletą języka Basic jest jego łatwa przyswajalność, jest to bez wątpienia prawda. Nie jest on jednak tak samo łatwy w użyciu jak inne, strukturalne języki programowania. Główną zaś zaletą Logo jest łatwość, z jaką można go nie tylko się nauczyć, lecz także używać. Ponadto jest to język, który wprowadza użytkownika w świat programowania strukturalnego, umiejętności, której w sposób naturalny nie można przyswoić sobie korzystając z Basicu.

Jako środek nauczania matematyki, rozwiązywania zadań, zwłaszcza przez małe dzieci. Logo jest niezastąpione. Pozwala dzieciom (i, rzecz jasna, dorosłym) uprawiać prostą matematykę, bez uciążliwych ćwiczeń i wprawek.

 

Page 28: WYKORZYSTANIE JĘZYKA LOGO W EDUKACJI

DZIĘKUJĘ ZA OBEJRZENIE DZIĘKUJĘ ZA OBEJRZENIE PREZENTACJIPREZENTACJI

DZIĘKUJĘ ZA OBEJRZENIE DZIĘKUJĘ ZA OBEJRZENIE PREZENTACJIPREZENTACJI

WYJŚCIE