1 / 33

Metodyka nauczania Informatyki

Metodyka nauczania Informatyki. Wykład 5 Kurs LOGO. Co to jest LOGO?. Środowisko do nauki programowania Środowisko do nauki za pomocą komputera Środowisko do poznania komputera Środowisko do eksperymentowania za pomocą komputera Środowisko edukacyjnej zabawy z komputerem.

keran
Télécharger la présentation

Metodyka nauczania Informatyki

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Metodyka nauczania Informatyki Wykład 5 Kurs LOGO

  2. Co to jest LOGO? • Środowisko do nauki programowania • Środowisko do nauki za pomocą komputera • Środowisko do poznania komputera • Środowisko do eksperymentowania za pomocą komputera • Środowisko edukacyjnej zabawy z komputerem To wszystko dla dzieci (?)

  3. Historia LOGO • Powstał w MIT 1967 (pierwsza wersja) • Za twórcę uznaje się Seymoura Paperta • Miał być narzędziem do uczenia dzieci matematyki za pomocą komputera Seymour Papert

  4. Seymour Papert • Podstawowe idee Paperta: • Relacja pomiędzy dzieckiem i komputerem powinna być taka, aby dziecku ułatwić programowanie komputera, nie zaś by komputer programował zachowanie i postępowanie dziecka. • Wszystkie dzieci w odpowiednich warunkach i w odpowiednim środowisku mogą nauczyć się programować. • Dzieci ucząc się stosowania komputerów mogą zmienić swój sposób uczenia się wszystkiego innego.

  5. Zasada „kół zębatych” • "Wszystko jest łatwe, jeżeli potrafisz to sprowadzić do swego zbioru modeli. Jeżeli nie możesz tego zrobić, wszystko może okazać się boleśnie trudne". • Proces uczenia się jest zależny od środowiska w którym dziecko się znajduje • Np. dzieci mieszkające we Francji bardzo łatwo uczą się języka francuskiego w przeciwieństwie do dzieci w innych krajach. Seymour Papert, Burze mózgów. Dzieci i komputery Wydanie I (w języku angielskim) 1980, Wydanie I (w języku polskim) 1996

  6. LOGO • Proceduralny/funkcyjny język programowania (nie ma programu jako osobnego bytu) • Interakcyjny, domyślny interfejs graficzny • Własne procedury i funkcje zachowują się tak jak procedury i funkcje wbudowane • Oparty na potocznym języku narodowym!

  7. LOGO - implementacje • LOGOMOCJA • Polska wersja LOGOMOCJA (rozszerzenie słowackiej wersji Logo Komeniusz o „obiekty”): • obiekty (żółw jest obiektem) • wiele żółwi • edytor postaci • http://logo.oeiizk.waw.pl • Licencja płatna ale niedroga.

  8. LOGO - implementacje • MSW Logo • Wersja angielska (duńska, niemiecka, …) • geometria 3D • nie ma wersji polskiej • bogata literatura • http://www.softronix.com • Program (i duża część literatury) bezpłatny

  9. LOGO podstawy • Logo – to po grecku „słowo” • Podstawową strukturą LOGO są słowa (napisy) oddzielane odstępami • Słowa mogą być: • Liczbami (gdy są napisem interpretowalnym jako liczba) • Procedurami lub funkcjami (wbudowanymi lub definiowanymi przez użytkownika) • Zmiennymi (mogą mieć wartość) • Napisami (mogą być wartością)

  10. Słowa - przykłady • Liczba • 475 5574.544 –12345.854E10 • Procedura/funkcja • naprzód 50 (forward 50) • Zmienna • :bok (kontekst: naprzód :dalej) • Słowo • ”napis (kontekst: pokaż ”napis)

  11. Procedury • Każde słowo, które nie jest liczbą i nie jest poprzedzone operatorem jednoargumentowym słowa (”) lub wartości (:) jest procedurą • Procedura może otrzymać parametry (kojarzone według ONP – wywołania bez nawiasów) • Procedura może zwracać wartość (jak funkcja) • Gdy argumentem jest procedura to zostaje ona wykonana w czasie kojarzenia parametrów

  12. Kojarzenie parametrów AA procedura z 3 parametrami CC i DD procedury z 2 parametrami AA BB CC DD EE FF GG HH Jest interpretowane tak: AA(BB,CC(DD(EE,FF),GG),HH)

  13. Struktury danych • Liczby (słowa mające postać liczb) • Napisy (słowa poprzedzone znakiem ”) • Listy – ciąg słów lub list oddzielonych odstępami i ograniczonych nawiasami kwadratowymi • [ AA BB CC ] • [ naprzód 50 procedura aa bb [ cc dd ] ] • [ ] (lista pusta)

  14. Operatory • Dwuargumentowe (muszą być oddzielone odstępem od operandów, notacja infiksowa) • Arytmetyczne • + (dodawanie), – (odejmowanie) • * (mnożenie), / (dzielenie) • Porównania • =, <, > • =<, >

  15. Nawiasy • Kwadratowe – listy • Klamrowe – komentarz • Okrągłe – grupowanie argumentów dla procedur mogących przyjmować różną liczbę argumentów • suma 10 20 30 – daje 30 30 (tylko dwa argumenty) • ( suma 10 20 30 ) – daje 60 (wszystkie trzy liczby są argumentami procedury suma) • Nawiasy muszą być oddzielone od innych elementów odstępami

  16. Grafika żółwia • Płaszczyzna kartezjańska z ukrytym układem współrzędnych – punkt (0,0) na środku ekranu • „Żółw” – to pisak, którym można sterować i który zostawia ślad na płaszczyźnie (albo nie – zależnie od ustawienia) • Płaszczyzna może być • Nieograniczona (na ekranie tylko fragment – żółw wychodzi za ekran i znika z pola widzenia ale robi co mu się każe) • Ograniczona (brzegi ekranu są nieprzekraczalne dla żółwia – żółw nie wykonuje poleceń wyjścia poza płaszczyznę ekranu) • Powierzchnią torusa (żółw wychodzi z jednej strony i pojawia się z drugiej strony)

  17. Sterowanie żółwiem • Względne • Przesuń się do przodu lub do tyłu o pewną liczbę jednostek od pozycji na której jesteś • Przekręć się w lewo lub prawo o podany kąt od kierunku w który jesteś zwrócony • Bezwzględne • Przejdź do punktu o podanych współrzędnych • Skieruj się o dany kąt od kierunku północ (do góry ekranu)

  18. Procedury wbudowane

  19. Procedury wbudowane

  20. Procedury wbudowane

  21. Procedury wbudowane

  22. Sterowanie - pętle • Pętla „FOR” • repeat :ile [ co ] powtórz :ile [ co ] • Powtarza polecenia zawarte w liście :ile razy • :ile może być funkcją podającą liczbę całkowitą • W liście [ co ] można wykorzystywać funkcję repcount (numpow) podającą numer kolejny danego powtórzenia

  23. Sterowanie - warunki • Instrukcja warunkowa • if warunek [ co gdy tak ] • ifelse warunek [ co gdy tak ] [ co gdy nie ] • jeśli warunek [ co gdy tak ] • jeżeli warunek [ co gdy tak ] [ co gdy nie ] • Warunek musi dawać wartość logicznątruelubfalse (prawda fałsz)

  24. Procedury i funkcje • Definiowanie procedury lub funkcji: • to nazwa parametry formalne treść procedury/funkcji end • oto nazwa parametry formalne treść procedury/funkcji już

  25. Procedury i funkcje (cd) • Parametry procedury/funkcji są zawsze przekazywane przez wartość • Funkcja musi zawierać w treści procedurę • output wynik której parametrem jest to co ma zwrócić funkcja Procedura ta kończy działanie funkcji • Procedura może zawierać procedurę • stop stop która zatrzymuje bieżącą procedurę i wraca do miejsca jej wywołania

  26. Zmienne lokalne procedury • Wszystkie zmienne z zasady są globalne, ale można wewnątrz procedury zadeklarować zmienne lokalne, które znikną po zakończeniu procedury • local ”nazwa ( local ”nazwa1 ”nazwa2 ...) • lokalne ”nazwa ( lokalne ”nazwa1 ”nazwa2... )

  27. Zmienne • Nadawanie wartości zmiennym • make ”nazwa wartość • przypisz ”nazwa wartość • Gdy zmienna nie istnieje to jest tworzona. • Tak utworzone zmienne są globalne bez względu na miejsce utworzenia • Gdy zmienna jest to jej wartość zostaje zmieniona • Zmienna nie ma ustalonego typu – przyjmuje każdy rodzaj danych aktualnie podstawiany

  28. Rekurencja • Wszchobecna! • Zamiast pętli „WHILE” – rekurencja • Zamiast zmiennych pomocniczych – rekurencja • Zamiast powtarzania - rekurencja • Gdy nie bardzo wiadomo jak rozwiązać problem – rekurencja • Zawsze najpierw rekurencja ...

  29. Dynamiczne procedury • Procedury mogą same definiować procedury/funkcje • define ”nazwa [ [ parametry ] [ treść ] ] • określ ”nazwa [ [ parametry ] [ treść ] ] • Jeżeli już taka procedura lub zmienna istnieje to wystąpi błąd (są predykaty do sprawdzenia, można redefiniować procedury, nawet wbudowane, można odczytać treść procedury)

  30. Komunikacja z użytkownikiem • Pobieranie danych • readlist rl (czytajlistę cl) • Czyta cały wiersz z klawiatury i przekazuje go jako listę (w nawiasach kwadratowych). Czeka na Enter • readcharrc (czytajznakcz) • Czyta jeden znak z klawiatury nie czeka na Enter

  31. Komunikacja z użytkownikiem • Wypisywanie na ekranie tekstowym: • print (pisz) • Wypisuje dane jako linię tekstu pomijając nawiasy oznaczające listy • show (pokaż) • Pokazuje parametry takie jakie są – wraz z nawiasami oznaczającymi listy

  32. Organizowanie danych • word (słowo) • Wszystkie dane łączy tworząc z nich jedno słowo • sentence (zdanie) • Tworzy listę zawierającą wszystkie dane ale pomija nawiasy oznaczające listy • list (lista) • Tworzy listę zawierającą wszystkie dane, elementami tej listy mogą być listy będące danymi

  33. Obsługa list

More Related