33
Metodyka nauczania Informatyki Wykład 5 Kurs LOGO 1

Metodyka nauczania Informatyki

  • Upload
    keran

  • View
    50

  • Download
    1

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: Metodyka nauczania Informatyki

Metodyka nauczania InformatykiWykład 5Kurs LOGO

1

Page 2: Metodyka nauczania Informatyki

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

2

To wszystko dla dzieci (?)

Page 3: Metodyka nauczania Informatyki

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

3

Seymour Papert

Page 4: Metodyka nauczania Informatyki

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.

4

Page 5: Metodyka nauczania Informatyki

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

5

Page 6: Metodyka nauczania Informatyki

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!

6

Page 7: Metodyka nauczania Informatyki

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.

7

Page 8: Metodyka nauczania Informatyki

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

8

Page 9: Metodyka nauczania Informatyki

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ą)

9

Page 10: Metodyka nauczania Informatyki

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)

10

Page 11: Metodyka nauczania Informatyki

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

11

Page 12: Metodyka nauczania Informatyki

Kojarzenie parametrówAA procedura z 3 parametramiCC 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)

12

Page 13: Metodyka nauczania Informatyki

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)

13

Page 14: Metodyka nauczania Informatyki

Operatory

• Dwuargumentowe (muszą być oddzielone odstępem od operandów, notacja infiksowa)– Arytmetyczne• + (dodawanie), – (odejmowanie)• * (mnożenie), / (dzielenie)

– Porównania• =, <, >• =<, >

14

Page 15: Metodyka nauczania Informatyki

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

15

Page 16: Metodyka nauczania Informatyki

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)

16

Page 17: Metodyka nauczania Informatyki

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)

17

Page 18: Metodyka nauczania Informatyki

Procedury wbudowane

Polska Skrót Angielska Skrót Param. Opis

naprzód

np forward fd x Do przodu o x kroków

wstecz ws back bk x Do tyłu o x kroków

ustalpoz

napoz

setpos --- [ x y ]

Przesuń się do punktu (x,y)

lewo lw left lt x Przekręć się w lewo o x stopni

prawo pw right rt x Przekręć się w prawo o x stopni

skieruj skier setheading

--- x Przekręć się o x stopni od kierunku północ

18

Page 19: Metodyka nauczania Informatyki

Procedury wbudowane

19

Polska Skrót Angielska Skrót Opis

wróć --- home --- Żółw wraca na swoje miejsce początkowe (0,0) skierowanie w górę

zmaż --- clear --- Usuwa wszystko z rysunku, żółw bez zmian

czyść cs clearscreen

cs Wróć+Zmaż (Home+Clear)

podnieś

pod penup pu Żółw przestaje zostawiać ślad

opuść opu pendown pd Żółw znowu zostawia ślad

ścieranie

ścier

penerase pe Pisak staje się gumką

penpaint ppt Pisak znowu jest pisakiem

Page 20: Metodyka nauczania Informatyki

Procedury wbudowane

20

Polska Skrót Angielska Skrót Opis

schowajmnie sż hideturtle

ht Chowa żółwia

pokażmnie pż showturtle

st Uwidocznia żółwia

oknożółwia --- window --- Płaszczyzna nieskończona

ustawstylzakresu ”płot

--- fence --- Płaszczyzna ograniczona

sklej --- wrap --- Powierzchnia torusa

widoczny? --- szownp --- Funkcja podająca prawda gdy żółw jest widoczny i fałsz gdy go nie widać

Page 21: Metodyka nauczania Informatyki

Procedury wbudowane

21

Polska Skrót Angielska Skrót Param. Opis

kierunek

--- heading --- Funkcja: liczba stopni o jaką jest przekręcony żółw w prawo od osi OY (od kierunku północ)

azymut towards --- [ x y ]

Funkcja: kąt o jaki trzeba obrócić żółwia w prawo aby był skierowany na punkt (x,y)

distance --- [ x y ]

Funkcja: liczba kroków żółwia aby osiągnąć punkt (x,y)

poz pos --- Funkcja: lista zawierająca współrzędne aktualnego położenia żółwia

Page 22: Metodyka nauczania Informatyki

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

22

Page 23: Metodyka nauczania Informatyki

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ą true lub false (prawda fałsz)

23

Page 24: Metodyka nauczania Informatyki

Procedury i funkcje

• Definiowanie procedury lub funkcji:– to nazwa parametry formalne treść procedury/funkcji

end

– oto nazwa parametry formalne treść procedury/funkcji

już

24

Page 25: Metodyka nauczania Informatyki

Procedury i funkcje (cd)

• Parametry procedury/funkcji są zawsze przekazywane przez wartość

• Funkcja musi zawierać w treści procedurę– output wynikktórej parametrem jest to co ma zwrócić funkcjaProcedura 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

25

Page 26: Metodyka nauczania Informatyki

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... )

26

Page 27: Metodyka nauczania Informatyki

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

27

Page 28: Metodyka nauczania Informatyki

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 ...

28

Page 29: Metodyka nauczania Informatyki

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)

29

Page 30: Metodyka nauczania Informatyki

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– readchar rc (czytajznak cz)• Czyta jeden znak z klawiatury nie czeka na Enter

30

Page 31: Metodyka nauczania Informatyki

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

31

Page 32: Metodyka nauczania Informatyki

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

32

Page 33: Metodyka nauczania Informatyki

Obsługa list

33

Polska Skrót Angielska Skrót Param. Opis

pierw --- first --- lista Funkcja: pierwszy element z listy

ost --- last --- lista Funkcja: ostatni element z listy

bezpierw

bp butfirst bf lista Funkcja: lista jak w parametrze ale bez pierwszego elementu

bezost bo butlast bl lista Funkcja: lista jak w parametrze ale bez ostatniego elementu

nap --- firstput fp X lista

Funkcja: lista jak w parametrze ale z elementem x na początku

nak --- lastput lp X lista

Funkcja: lista jak w parametrze ale z elementem x na końcu

puste? --- emptyp --- lista Predykat: prawda jeżeli lista jest pusta