You are on page 1of 23

Programowanie

Podrcznik dla najmodszych dzieci

autor: Jerzy Wawro


Jarosaw, 2017
wydanie I

Dodatkowe informacje o podrczniku:


ISBN 9788363384008
Skad i oprawa graficzna: Jerzy Wawro
Copyright (C) Fundacja Galicea
Fundacja Galicea udziela zezwolenia na wykorzystanie wersji
elektronicznej podrcznika w nauczaniu w polskich szkoach.
Zezwolenie obejmuje prawo do powielania (take w formie druku)
w celach zwizanych z nauczaniem. Prawo to nie obejmuje
moliwoci wykorzystania komercyjnego oraz kopiowania
fragmentw dziea w celu wykorzystania go w innych dzieach
(poza cytowaniem dozwolonym przez prawo). Uyte w
podrczniku grafiki s dzieem autora, pochodz z serwisu
freepik.com (oznaczone zgodnie z licencj) lub zostay zakupione
w serwisie fotolia.com. Prawo cytowania nie obejmuje tych
ilustracji.
Osoby zainteresowane wersj drukowan podrcznika, prosimy o
kontakt z Fundacj: fundacja@galicea.org
Strona z programami i materiaami pomocniczymi do podrcznika:
http://otwartaedukacja.pl/programowanie
Lekcja 1 Temat 1. Programici mimo woli
Program = plan dziaania
Czowiek wpywa na otoczenie. Moe to robi metod prb i bdw,
albo planujc dziaania na podstawie znajomoci praw przyrody
i konstrukcji urzdze. Przykad (nie rb tego w domu) - plan powodzi w mieszkaniu:
1) zatkaj zlew
2) odkr kurek i odpowiednio dugo poczekaj ).
Maszyny i urzdzenia
Dla zilustrowania planowanego wpywania na
dziaanie urzdzenia (programowania)
moemy zbudowa wasn prost maszyn

Przestawiajc fioletowy klocek na praw lub lew


stron decydujemy o tym do ktrego pudeka
spadnie pieczka.

Gry
Istnieje kilka gier rozwijajcych umiejtno programowania rozumianego
jako plan dziaania. Na przykad tory dla kulek (Marble) z plastiku lub
drewna:

Tor skada si z elementw rurek


i zwrotnic - tak aby kulka puszczona
z gry trafia w okrelone miejsce.

Do tego typu gier nale take niektre gry


komputerowe.
Odwied stron:
http://otwartaedukacja.pl/programowanie

Cele lekcji
1. Zrozumienie okrele: metoda prb i bdw, prawa przyrody, konstrukcja urzdze,
plan dziaania.
2. Rozwj umiejtnoci planowania. Ukadanie planw jako programowanie.
Lekcja 2 Temat 1. Programici mimo woli
Programowanie automatw
Stan urzdzenia
Jednym z najwaniejszych sw w informatyce (i technice) jest sowo stan.
Stosujemy go w podobnym znaczeniu, jak w jzyku potocznym (uywanym
w rozmowach). Mwimy, e samochd jest w dobrym stanie, albo stan drogi
jest opakany. W dziaaniu urzdze stan to inaczej pooenie, etap
dziaania przez ktre to urzdzenie przechodzi.
Przykady:
wczony lub wyczony odkurzacz (stan wczenia lub stan wyczenia)
wiata dla pieszych (stan = jaki kolor wczony)
Okrelenie stan zwraca uwag na to co w dziaaniu urzdzenia jest
najwaniejsze. Opis dziaania urzdze moe sprowadza si do opisw tego
w jaki sposb urzdzenie przechodzi od jednego stanu do drugiego.
Automat
Automat to urzdzenie zmieniajce stan bez ingerencji czowieka. Czowiek
moe zainicjowa proces zmiany stanu. Pniej zmiany nastpuj
automatycznie.
Przykady:
wiata dla pieszych (po naciniciu przycisku nastpuje przechodzenie
przez kolejne stany)
winda (po wybraniu pitra wykona po kolei: zamknicie drzwi,
uruchomienie silnika, zatrzymanie, otwarcie drzwi na okrelony czas
i wreszcie ponowne zamknicie drzwi).
Pytania:
Przez jakie stany przechodz wiata na
przejciu dla pieszych po ich wczeniu
guzikiem?
Podaj inne przykady automatw (automat
parzcy kaw, pralka automatyczna).
Program
Program to szczegowy plan dziaania.
Przykady programw z ycia wzitych:
1. Program wycieczki (przykad stanu: jeli jest godzina 12:00 i jestemy na
Krakowskim rynku, to suchamy hymnu z Wiey Mariackiej).
2. Program telewizyjny.
W przypadku automatw program definiuje (okrela, opisuje) kolejne stany
przez jakie przechodzi automat (taki jak winda, wiata na przejciu dla
pieszych lub pralka automatyczna). Uruchamiajc pralk mwimy o wybraniu
programu, albo uruchomieniu programu. Program to opis kolejnych stanw
i sposobu ich zmiany. Znajc stan aktualny i wykonywany program, moemy
ustali stan nastpny. Czasem program ma kilka wariantw na przykad
pralka moe pra w rnych temperaturach. Wybr tych wariantw to inaczej
wybr ustawie.
Zabawa w programowanie
Programowanie rozumiane jako wybr ustawie
wystpuje na przykad w syntezatorach dwikw. Na
stronie http://otwartaedukacja.pl/programowanie/drum/
znajdziesz prosty syntezator dwikw. Klikajc w
ramce znaczymy w ktrym miejscu maj odezwa si
instrumenty.
Po zaprogramowaniu melodii kliknij przycisk z rowym
kkiem, aby wygenerowa dwik.
Stan takiego urzdzenia jest okrelony poprzez
zaznaczone kratki oraz miejsce na osi czasu aktualnie
odtwarzane (przesuwajcy si pionowy pasek).
Cele lekcji
1. Zrozumienie okrele: automat, automatyczny, stan, wariant,
ustawienia, program.
2. Ukadanie programw jako wybr stanw przez jakie przechodzi
automat (ustawienia).
Podsumowanie tematu
1. Programowanie to przygotowania dla automatw instrukcji
samodzielnego dziaania.
2. Umiejtno programowania rnych urzdze jest powszechna pomimo,
e brakuje umiejtnoci bardziej wiadomego (a wic i bardziej twrczego)
dziaania w tym zakresie.
3. Program to informacja o oczekiwanych zmianach stanu. Automat zmienia
stan zgodnie z programem (bez cigej ingerencji czowieka).
Lekcja 3 Temat 2. Uczymy si myle abstrakcyjnie.
Abstrakcja
Zadanie: Piszemy instrukcj ustawiania budzika (moe by budzik w komrce
lub smartfonie).
Po zakoczeniu opisu chowamy budzik i prbujemy odpowiedzie na pytania:
* Czy opis jest zrozumiay mimo e nie widzimy opisywanego przedmiotu?
* A gdy ten przedmiot zupenie ulegnie zniszczeniu?
Jakie szczegy w opisie pominito?
Gdy kto czyta napisan przez nas instrukcj nie widzc budzika musi sobie
wyobrazi to urzdzenie. To jest abstrakcja. Czyli wyobraenie (obraz,
symbol), ktre nie musi by zwizane z czym konkretnym. Obserwowany cie
konkretnego drzewa nie jest abstrakcj. Gdy jednak mwimy o powszechnie
obserwowanych w soneczne dni cieniach posugujemy si abstrakcj.
Symbole
Abstrakcyjny opis jest atwiejszy, gdy uywa si ilustracji.
Dziki nim nasze osobiste wyobraenie mona utrwala i
przekazywa. Wystarczy uproszczony rysunek budzika, by
wiedzie o czym rozmawiamy.
Taki rysunek to nie tylko artystyczne przedstawienie rzeczy. Kady moe sobie
skojarzy go z czym co widzia konkretnym urzdzeniem. Mona
umieszcza go w treci opisu (wrd innych symboli) tworzc zoony
przekaz. Ilustracja, ktra poza przedstawieniem rzeczy (lub idei) peni
dodatkowe role w komunikacji nazywa si symbolem.
Pytania pomocnicze:
Jakie jeszcze znamy symbole?
Co symbolizuj ikony w smartfonie lub komputerze?
Symbole a uproszczony obraz rzeczywistoci
Jak powstaj ikony? Poprzez uproszczenie wizerunku (obrazka). W zalenoci
od wielkoci ikonki mona pokaza wicej lub mniej szczegw. Poniej
mamy szereg symboli kaczki:

Zabawa ksztatujca abstrakcyjne mylenie: karty z rysunkami zwierzt i rzeczy - coraz bardziej
abstrakcyjnych. Na jednej stronie karty (zakrytej) jest na przykad zdjcie psa. Na drugiej
(odkrytej) kolejne jego schematyczne przedstawienia a do najbardziej abstrakcyjnych.
Zadaniem jest pogrupowanie kart z takimi rysunkami. Po odwrceniu widzimy, czy w grupach
mamy takie samo zdjcie. Takie karty mona przygotowa samemu posugujc si wzorami
ze strony http://otwartaedukacja.pl/programowanie/
Cele lekcji: 1. Zrozumienie okrele: 2. Rozpoznawanie symboli jako
konkret, abstrakcja, symbol. uproszczonego obrazu rzeczy.
Lekcja 4 Temat 2. Uczymy si myle abstrakcyjnie.
Do czego su symbole
Symbol informuje
Symbol przekazuje nam wiadomo. Jeli j rozumiemy mwimy, e
symbol jest zrozumiay, albo e ma znaczenie. Symbol moe te na co
wskazywa. Na przykad kko na drzwiach oznacza ubikacj dla
dziewczynek.
Czsto spotykanymi symbolami s znaki drogowe.
Zadanie: opisa co oznacza (na co wskazuje) i jakie ma
znaczenie (co znaczy, jak wpywa na ogldajcych go)
znak drogowy z ilustracji obok.
Symboliczne oznaczenie stanw
Stany urzdze mog by oznaczane symbolami. Na
przykad czsto s uywane symbole stanu wczenia
(zielone kko) i wyczenia (czerwona kreska).
Przecznik oznacza si kresk w kku (dwa w jednym).
W wikszoci urzdze ilo stanw jest bardzo dua i opisujc je stosujemy
graficzne symbole tylko wtedy, gdy chcemy uatwi uytkowanie (ikony
w smartfonie).
Pytanie: na co wskazuj ikony w smartfonie?
Zadanie: U plan wycieczki posugujc si
symbolami (autobus, hotel, grska wycieczka, etc.).
Mona wykorzysta symbole z arkusza
http://otwartaedukacja.pl/programowanie/trip.pdf

Cele lekcji
1. Zrozumienie okrele: znaczenie i oznaczanie / wskazywanie symboli.
2. Planowanie z uyciem symboli.

Podsumowanie tematu
1. Symbole to abstrakcyjne (nie zwizane wprost z jednym konkretnym
przedmiotem) przedstawienie rzeczy.
2. Symbole mog by wykorzystywane w komputerach w postaci ikon.
Lekcja 5 Temat 3. Cyfryzacja
Cyfrowy - czyli dokadny?
Jak osign precyzj?
Precyzyjny opis, to opis z du dokadnoci nie pozostawiajcy wtpliwoci.
Jak co precyzyjnie opisa? Na dwa sposoby:
1. Poprzez drobiazgowy opis najdrobniejszych szczegw.
2. Pomijajc szczegy ktrych precyzyjne opisanie jest trudne.
Cyfryzacja to wybr tego drugiego sposobu. Na przykad zdjcia robimy z
pewn rozdzielczoci czyli aparat nie utrwala szczegw obrazu
niedostrzegalnych dla czowieka. S one nieistotne.
Cyfrowa informacja
Cyfrowy zapis obrazu lub dwiku polega na podzieleniu go na drobniutkie
fragmenciki, ktrych moe by bardzo duo, ale nie tak duo by nie dao
si ich policzy. Mwimy, e s policzalne. Gdy obraz zaczniemy
powiksza wida efekty uproszczenia (pominicia nieistotnych
szczegw). Kropeczki staj si kwadratami a ksztaty trac na
regularnoci.
Obok pokazano czerwononiebiesk kropk i jej fragment
(lewy grny rg) po powikszeniu 2 i 4 krotnym:
Posugujc si cyfrowym zapisem godzimy si z tym, e cz informacji staje
si niewana. Jeli chcemy mie obraz z wiksz dokadnoci to musimy
podzieli go na mniejsze fragmenciki (wiksza rozdzielczo). Jednak zawsze
pniejsze powikszanie ujawni cyfrow jego natur.
To samo dotyczy czasu, ktry zostaje podzielony na fragmenty.
Zadanie: Jakie znamy fragmenty czasu? (Godzina, minuta, sekunda.)
W komputerze s to duo mniejsze jednostki czasu, ni te ktre znamy z
kalendarzy i zegarkw.
Zamy jednak, e mamy komputer w ktrym podstawow jednostk jest
sekunda. Nie miaoby wwczas sensu pytanie co si dzieje midzy pierwsz a
drug sekund. W midzyczasie nic si nie zmienia (wraz z kad zmiana
pojawia si kolejny moment czasu). Mwimy, e czas nie jest cigy.
Zabawa w cyfrowy wiat
Dzielenie obrazkw na drobne fragmenciki nie pojawio si wraz z
komputerami. Duo starszym pomysem jest haft krzyykowy. Poniej (po
lewej) projekt kwiatka i wykonany wedug tego projektu haft:

Komputery sprawiy, e te stare sposoby nabray zupenie nowego znaczenia.


Ciekawy przykad ery komputerw:

Po duym pomniejszeniu mona rozpozna jeden z najsynniejszych arcydzie


malarstwa (wicej: http://otwartaedukacja.pl/programowanie/).
wiczenia do samodzielnego przygotowania:
1. Ukadanki z kwadracikw (lub keczek) ktre mona powiksza i
pomniejsza obraz (patrze z rnej odlegoci). Mona wykorzysta tapety ze
strony https://www.brik.co/blogs/pixelart
2. Rysujemy samemu obrazki w postaci kwadracikw / pikseli:
http://makepixelart.com/free/#

Cele lekcji
Zrozumienie, e obraz cyfrowy jest bardzo dokadny ale te uproszczony.
Lekcja 6 Temat 3. Cyfryzacja
Przetwarzanie cyfrowej
informacji
Cyfrowa natura informacji sprawia, e atwiej j przetwarza automatycznie.
Instrukcja jak pomalowa kwadraciki na kartce papieru moe by bardzo
precyzyjna. Na przykad ponisza kartka zawiera cyfry. Malujc je
odpowiednimi kolorami dostajemy rysunek bohatera kreskwek:

Pomaluj wedug numerw:


1 Czarny
2 Jasny Be
3 Ciemny Be
4 ty
5 Ciemna czerwie
6 Jasno niebieski
7 Niebieski
8 Ciemno niebieski

rdo (wicej: https://www.coloringsquared.com/worksheet):


https://www.coloringsquared.com/wp-content/uploads/2016/07/2-Superman-DC-Comic-Coloring.pdf

Dziki uproszczeniu obrazu, moemy go atwo opisa symbolami tu znakami


poszczeglnych cyfr od 1 do 8.
Instrukcje typu pomaluj kratki z cyframi jest wystarczajca dla czowieka.
Mamy du swobod dziaania (szybko, kolejno, dobr kolorw).
Instrukcja dla automatu musi by bardziej precyzyjna.
Zabawmy si w robocika. 1 2 3
Mamy ponumerowane kratki (rysunek obok). Mona
je narysowa kred na pododze. Napiszmy bardzo 6 5 4
precyzyjnie jak je zamalowa (przykry kolorow
kartk) chodzc od kratki do kratki - tak aby osign 7 8 9
szachownic (rysunek poniej).
1 2 3
Opis taki moe wyglda mniej wicej tak:
1. Wejd do kratki oznaczonej cyfr 1 6 5 4
2. Maluj
3. Przejd do kratki oznaczonej cyfr 2 7 8 9
4. ..

Teoretycznie moemy skaka po kratkach ale prociej jest zaoy, e


moemy przechodzi od kratki tylko do ssiedniej kratki.
Nasze kwadraciki mog nie by na pocztku puste, ale zawiera instrukcje
dziaania.
Przeksztamy nasz program na zdania typu (zakadamy, e na pocztku
automat przechodzi do kratki 1):
1. Jeli jeste w kratce oznaczonej cyfr 1 to maluj i przejd do kratki 2.
2. . .
W takim programie automat czyta co jest w kratce (cyfr) i na tej podstawie
wykonuje dziaanie. Czyli cyfry zawieraj instrukcje!
Moemy take zaznacza gwiazdkami kwadraciki do pomalowania:
Nasza instrukcja moe przyj form: 1* 2 3*
1 . Jeli w kratce jest gwiazdka to maluj.
2. Przejd do kratki ssiedniej. 6 5* 4
Tak mniej wicej wygldaj instrukcje w programach 7* 8 9*
komputerowych. Zabawa w programowanie moe mie
form odgrywania roli robota, albo posugiwania si prawdziwym robotem
(OzoBoty https://edusense.com/pl/lekcje/)
Cele lekcji
Program jako instrukcje dla automatu. Poznajemy sposb w jaki symbole (tu:
cyfry) su do ukadania programw.
Podsumowanie tematu
1. Cyfrowa dokadno polega na precyzji opisywania i zmian ale
uproszczonego obrazu. To co pomijamy staje si niewane.
2. Ta precyzja sprawia, e moemy tworzy rwnie precyzyjne instrukcje
zmiany cyfrowej informacji.
Lekcja 7 Temat 4. Arkusz i kalkulator
Arkusz kalkulacyjny
aden automat ani komputerowy program nie dziaa sam z siebie. Trzeba go
uruchomi. Czyli zmieni jego stan na uruchomiony. Take pniej
moemy modyfikowa dziaanie zmieniajc stan (ustawienia). Urzdzenia i
sposoby umoliwiajce nam takie modyfikacje nazywamy interfejsem.
W naszej zabawie w malowanie kratek (z poprzedniej lekcji) moemy
modyfikowa dziaanie robota mac lub rysujc gwiazdki w poszczeglnych
kratkach (po ktrych porusza si robot).
Interfejs w postaci kratek jest zastosowany w jednym z najbardziej popularnych
programw komputerowych: arkuszu kalkulacyjnym. Ide tego programu jest
wyliczanie wartoci wpisanych w poszczeglnych kratkach na podstawie
zawartoci innych kratek wskazanych przez uytkownika. Oznaczmy dla
odmiany kratki kolorami, a cyfry niech oznaczaj wyliczon warto. Prosty
przykad pokazujcy definiowanie powiza przy pomocy kolorw zawiera
program: http://otwartaedukacja.pl/programowanie/kss/

Komrki w drugim rzdzie maj kolorowe rogi, wskazujce na inne komrki (o


takich samych kolorach co te rogi). Warto wywietlana w komrce to suma
wartoci zapisanych w rogach, a ta zmienia si wraz ze zmian koloru. Na
przykad warto wyliczona w drugiej z lewej (zielonej) komrce to suma komrki
niebieskiej i fioletowej. Zmiany powiza dokonujemy w dwch krokach:
- kliknij w komrk ktr chcesz wskaza (zmieni ona kolor na niebieski)
- kliknij w rg, ktry ma na wybran komrk wskazywa.
Powszechnie uywane arkusze kalkulacyjne wymagaj wpisywania liczb i
wyrae (takich jak 2+4) rcznie. W tym celu rzdy komrek oznacza si
liczbami (1,2,3,..) a kolumny literami (A,B,C,). Jeli w powyszym
przykadzie mamy rzdy 1 i 2, to do zielonej komrki powinnimy wpisa
A2+A4 (wyraenie z uyciem symboli arytmetycznych takich jak +
nazywamy wyraeniami arytmetycznymi). Arkusze kalkulacyjne mog
wykonywa obliczenia bardziej skomplikowane, ale podstawowa idea jest taka
sama: komrki s powizane ze sob i na tej podstawie wylicza si ich warto.
Takim arkuszem jest na przykad dokument Google:
https://docs.google.com/spreadsheets.
Cele lekcji
1. Rozumienie stanu jako warto (na przykad wyraenia arytmetycznego).
Ustalenie tej wartoci to obliczenia.
2. Wane pojcia: uytkownik, interfejs, wyraenie, obliczenia, arkusz
kalkulacyjny.
Lekcja 8 Temat 4. Arkusz i kalkulator
Kalkulator
W czasie poprzedniej lekcji poznalimy bardzo
praktyczny sposb automatycznych oblicze, spotykany
w wielu dziedzinach: arkusz kalkulacyjny. Istnieje
jednak urzdzenie cyfrowe jeszcze prostsze kalkulator.
Prosty przykad kalkulatora znajdziesz na stronie:
http://otwartaedukacja.pl/programowanie/calculator/
Wpisywane cyfry tworz liczb (pole niebieskie) a znak
+ lub powoduje utworzenie wyraenia (pole czarne)
czyli dziaanie dodawania lub odejmowania.
Wynik tego wyraenia jest od razu zapisywany w polu
czerwonym.
Takie wyraenia mog by zapisywane w komrkach arkusza kalkulacyjnego
po znaku = (na przykad =4+5). Zamiast liczb moemy wskazywa inne
pola. Wpisujemy = a pniej klikamy w pole z ktrego naley pobra warto.
Zadanie:
Wpisz w arkuszu kalkulacyjnym wyraenie takie jak z kalkulatora i porwnaj
wyniki.
Takie same wyraenia stosuje si w programowaniu. S podstawow czci
tak zwanych jzykw programowania. Jeli chcemy przekaza cokolwiek
do wykonania komputerowi nie mwimy do niego po polsku lub angielsku,
ale w jzyku wymylonym do takiej komunikacji (takim sztucznym jzykiem
jest esperanto ale on ma uatwi komunikacj midzy ludmi, a nie z
komputerem).
Jeden z takich jzykw nosi nazw Python (po polsku Pyton). Zadanie: sprbuj
wpisa wyraenie do czarnego okienka na stronie
https://www.python.org/shell/ i nacinij Enter. Co si stao?
Cele lekcji
1. Poznajemy wyraenie jako zapis (lad) dziaania kalkulatora.
2. Wane pojcia kalkulator, wyraenie, jzyk programowania.
Podsumowanie tematu
1. Poznajemy dwa podstawowe programy komputerowe: kalkulator i
arkusz kalkulacyjny.
2. Wyraenia arytmetyczne wystpujce w powyszych programach s
podstawowym elementem wszystkich jzykw programowania.
Lekcja 9 Dziaania sekwencyjne i w
Grafika wia
W jakiej kolejnoci wykonywane s operacje przez komputer (maszyn)? Po
kolei jedna po drugiej. Inaczej mwic sekwencyjnie. Do zilustrowania
takiego dziaania moemy wykorzysta grafik wia. Wyobramy sobie
wia z przywizanym mazakiem (pen). Chodzc po planszy moe on rysowa
rne wzory.
W lekcji 4 planowalimy wycieczk. Podobnym zadaniem moe by
zaplanowanie wycieczki dla wia po kwadracie
http://otwartaedukacja.pl/programowanie/turtle/
Napiszmy dla takiego wia instrukcj narysowania prostokta 100 x 100:
opu pisak
id 100 jednostek
skr w prawo o 90stopni
id 100 jednostek
skr w prawo o 90stopni
id 100 jednostek
skr w prawo o 90stopni
id 100 jednostek

Zamiast pisania instrukcji skada si j z klockw dostpnych w menu po lewej


stronie. Po ustawieniu caoci klikamy w miejsce oznaczone start i w
zaczyna rysowa.
W zakadce oznaczanej pirem s klocki z kolorami. Kolory s oznaczone
kolejnymi liczbami (0, 1, 2, .).
Zadanie: narysowa kwadrat w ktrym kady bok jest innego koloru.
Cele lekcji:
Poznajemy ide dziaania sekwencyjnego oraz grafik wia.
Lekcja 10 Dziaania sekwencyjne i w
Zmienna
W arkuszu kalkulacyjnym wyraenia (reguy) i wynik zapisywane s w tej
samej komrce. Kada komrka arkusza kalkulacyjnego ma swoj nazw
utworzon z numeru kolumny i wiersza (lewy grny rg to A1). Inne sowo
czsto uywane zamiast nazwa to identyfikator. Identyfikator to nazwa
ktra identyfikuje jeden z wielu elementw. Komrk pamici opatrzona
identyfikatorem nazywamy zmienn (co ma podkreli fakt, e jej
zawarto si zmienia). To jest pojcie czsto uywane w programach nie
tylko w arkuszach kalkulacyjnych.
Pomocnym w zrozumieniu pojcia zmiennej jest popularna gra Memo
w odgadywanie co kryje si w jednakowych polach kratki (na przykad:
http://prek8.com/games/memoryGames/memoryGames1.php). Gdy
oznaczymy literkami odgadnicie staje si atwiejsze, nawet gdy w kolejnym
kroku zmienimy losowo ukad pl.
W przypadku grafiki wia moemy take tworzy zmienne. Zostay one
nazwane w tym programie pudekami (boxes) i s oznaczane jasnobrzow
barw. Utworzenie pudeka (zmiennej) wykonujemy przez przecignicie i
puszczenie klocka przechowaj w. Nastpnie klikamy w nazw zmiennej
(domylnie pudo) i wpisujemy dowolny wyraz. Na przykad barwa.
Tak utworzon zmienn (pojawi si w zakadce pudeek) moemy uy tak jak
liczb. Czyli wstawiajc j do zmiennej przechowujcej kolor dokonujemy
zmiany koloru na taki, jaki mamy zapamitany w zmiennej barwa. Objania
to poniszy przykad (na nastpnej stronie).
Zastosowanie zmiennej / pudeka

Aktualny kolor take jest pamitany w zmiennej, ale nie jest ona wywietlana.
Wykonujc operacj ustaw kolor zmieniamy t zmienn.
Cele lekcji
1. Poznajemy sposb operowania na komrkach pamici / zmiennych.
2. Wane pojcia zmienna (na przykad komrka arkusza kalkulacyjnego).

Podsumowanie tematu
1. Poznajemy grafik wia, ktra pomaga nam w zrozumieniu idei dziaania
sekwencyjnego.
2. Zmienne to komrki pamici komputera w ktrych zapamituje si
wartoci. Kada zmienna posiada swj identyfikator.
Lekcja 11 Logika i wiat wirtualny
Logika i wiat wirtualny
Wyobramy sobie, e jestemy wiem z naszego programu do rysowania,
ktry poznalimy w poprzednich lekcjach. Taki w dostrzega jedynie to co
mu ustawimy na planszy i co sam narysuje. Jego wiat ogranicza si do
planszy ktr moe wypenia kreskami oraz klockw tworzcych plan
dziaania. Tego rodzaju wymylony wiat nazywa si wiatem wirtualnym
(nie istniejcym realnie tak jak wiat w ktrym my yjemy).
Przykadem takiego wirtualnego wiata moe by
Kraina Czarw w ktrej znalaza si bajkowa Alicja.
Zadanie: jakie jeszcze znamy bajkowe wiaty
wirtualne?
Czym rni si kraina w ktrej zamieszkuje rysujcy
kreski w od krainy czarw? W krainie czarw
moliwe jest prawie wszystko. Tymczasem w ma
bardzo ograniczone moliwoci dziaania. Takie
ograniczenia dotycz kadego komputerowego
wiata wirtualnego.

To bardzo wane by zrozumie, e nawet jeli nam si wydaje, e po drugiej


stronie lustra wszystko jest moliwe, a za tym lustrem kryje si komputer to
jego moliwoci s tak samo ograniczone jak naszego wia. Przecie to jest
automat i musi dziaa automatycznie!!!! Moe nam na przykad wywietla
najbardziej fantastyczne obrazy ale przecie on ich nie wymyla tylko
wybiera tak jak zdecydowali programista i uytkownik.
Programowanie komputerw to budowanie wirtualnych wiatw!
Informacje jakie przetwarza automat (komputer) w swoim wirtualnym
wiecie musz by jednoznaczne i niesprzeczne. Badaniem informacji
(wypowiedzi) pod ktem ich niesprzecznoci (czy nie przecz sobie nawzajem)
zajmuje si logika. Podstaw logiki jest sformuowana jeszcze w staroytnoci
zasada niesprzecznoci. W wczesnym sformuowaniu mwi ona, e nic nie
moe rwnoczenie istnie i nie istnie. Nauka logiki to odkrywanie istnienia
takich nieprzekraczalnych ogranicze. Tam gdzie rzdzi logika nie ma miejsca
na interpretacje jest prawda albo kamstwo.
Logika odkrywa reguy poprawnego mylenia. Majc pewn wiedz, moemy
wyciga wnioski. Na przykad jeli mama bya na zakupach i jest dzie
dziecka, to moemy si spodziewa prezentu. Jest to przykad wycigania
wnioskw, czyli wnioskowania. Warunki z ktrych wycigamy wnioski
nazywa si przesankami (tu: zakupy i dzie dziecka).
wiczenie: sprbujmy samodzielnie wymyli podobne przykady
wnioskowania.
Logiczne amigwki to poszukiwanie rozwiza przy pomocy wnioskowania
(reguy gry s przesankami). Przykady gier logicznych:
http://www.learninggamesforkids.com/logic_games/sliding_block_puzzle.html
Lekcja 12 Logika i wiat wirtualny
Wnioskowanie a automatyzm
Przypomnijmy sobie program rysowania szachownicy z lekcji 5. Jak bardzo
uproci si nasz opis, gdy wprowadzilimy gwiazdki do oznaczenia kwadratw
do zamalowania: 1* 2 3*
6 5* 4
1. Jeli w kratce jest gwiazdka to maluj. 7* 8 9*
2. Przejd do kratki ssiedniej.
Sprbuj napisa program ktry spowoduje, e po dojciu do kratki 9 robot
zacznie i z powrotem (a po wrceniu do 1 znw zacznie i t sam drog).
Musimy znw uy sprawdzania warunku: jeli jeste w kratce 1 to.
W zasadzie cay ten program mona zapisa w ten sposb przy pomocy
instrukcji warunkowych. Jeeli spenione s warunki (na przykad w
aktualnej kratce jest gwiazdka) to wykonaj dziaanie (maluj) lub sekwencj
dziaa (maluj i przejd do ...).
Warunki prawdziwoci to idea wsplna punkt czcy logik,
programowanie i automaty:
automat: jeli [warunek=stan] to przejd do stanu .
wnioskowanie: jeli [warunek=przesanki] to wniosek
programowanie: jeli [warunek=warto zmiennych] to wykonaj dziaanie
lub sekwencj dziaa.
Ide programu jako reakcji automatu na stan pamici (zmiennych) polski
matematyk Zdzisaw Pawlak opisa przy pomocy stworzonego przez siebie
pojcia system iteracyjny. Reguy zmiany pamici (zmiennych) nazwa
funkcj przejcia. Pamici moe by wszystko, co ma wyrnione stany.
Na przykad kostka do gry.
STAN STAN NASTPNY
Przykad programu: 1 stop
2 stop
3 1
4 2
5 1
To moe nie jest najwaniejsze (chodzi 6 2
o ilustracj), ale ten program wykonuje
uyteczne obliczenia. Zatrzymuje si na 1 lub 2 w zalenoci od tego, czy
pocztkowo bya ilo parzysta lub nieparzysta oczek.
Lekcja 13 Temat 7. Algorytmy
Akcje i powtrzenia
Wrmy do naszego przykadu z grafik wia. Teraz moemy ju lepiej
zrozumie zasady dziaania tego programu. To co wida na planszy (zarwno
klocki programu jak pooenie wia) skada si na pami systemu
(iteracyjnego). Na podstawie tej pamici system (program) zmienia stan: rysuje
i przesuwa wia.
Czy na pewno wystarcza do tego to co jest widoczne? Nie. Bya ju mowa
o niewidocznej zmiennej w ktrej jest zapamitany aktualny kolor rysowania.
Istnieje jeszcze jedna taka zmienna: wskazuje na aktualnie wykonywane
polecenie rysowania (bloczek programu). Klikajc w ikonk limaka, moemy
obserwowa wykonywanie programu krok po kroku (ju wykonane
instrukcje s wywietlone janiejszym kolorem).
Budujc coraz bardziej zoone rysunki, otrzymujemy gmatwanin klockw
trudn do zrozumienia. Mona tego unikn stosujc powtrzenia i akcje.
Najpierw sprbujmy wykorzysta akcje (w jzykach programowania nazywane
funkcjami). S to fragmenty programu oznaczone nazw. W programie
z grafik wia akcje znajduj si w zakadce otwieranej ikonk z dwoma
zawinitymi strzakami. Zdefiniujmy dla przykadu akcj kwadrat
przesuwajc do niej wszystkie instrukcje.
Po zdefiniowaniu (zmianie
nazwy) w zakadce akcji
pojawia si klocek kwadrat,
ktry moemy uy w miejsce
caej sekwencji dziaa (klocek
start).
Wszdzie gdzie pojawi si
klocek kwadrat zastpuje on
ca sekwencj dziaa. Jeli ta
sekwencja (rysowanie
kwadratu) ma si pojawi tylko
raz to zastosowanie akcji nie
jest wielkim uproszczeniem.
Ale nawet w takim przypadku program dziki uyciu akcji moe by bardziej
zrozumiay.
Drugim wanym mechanizmem s powtrzenia. Gdy chcemy narysowa 4
kwadraty, to zamiast ukada jeden pod drugim cztery razy kwadrat
moemy uy klocka powtarzaj:
Lekcja 14 Temat 7. Algorytmy
Algorytm a program
Algorytmy to dokadny opis sposobu postpowania prowadzcego do
okrelonego wyniku.
Na przykad algorytm otwierania drzwi: aby otworzy drzwi, w klucz
do zamka, przekr w prawo do oporu a nastpnie nacinij klamk.

Czym rni si algorytm od programu? Programy ktre tworzy programista s


zawsze przeznaczony do wykonania przez automat (komputer). Musi wic by
szczegowy i wyraony w instrukcjach dla automatu (lub w sposb moliwy
do przetumaczenia na takie instrukcje).
Algorytm moe by opisany mniej szczegowo. Na przykad wystarczajcym
opisem algorytmu rysowania kwadratu jest: narysuj figur o czterech
jednakowych bokach prostopadych do siebie. Piszc program dla rysujcego
wia musimy zdawa sobie spraw z tego, e on nie rozumie sw figura
i prostopady. Zadaniem programisty jest przeoenie opisu algorytmu
instrukcje zapisywane w jzyku programowania. Te jzyki nie s duo bardziej
skomplikowane ni poznany przez nas jzyk klockw w ktrym ukadamy
tras podry wia.
Wikszo algorytmw jest rwnie prosta, jak powyszy opis otwierania drzwi.
Jednak algorytmy bywaj te bardzo trudne. Wiele ludzi utosamia ukadanie
algorytmw z programowaniem dlatego programowanie uwaa si za co
trudnego. Tak jednak nie jest skoro kady potrafi napisa program dla wia.
Poniej mamy obrazki czterech takich programw w postaci akcji o
identyfikatorach p1,p2,p3,p4).
Aby je uruchomi, trzeba odpowiednio spreparowa klocek start na jeden z
poniszych dwch sposobw (w miejsce p3 trzeba wstawi odpowiedni akcj)

Sprbuj dopasowa do ktrego z algorytmw pasuje ktry program?

Jeli masz problem z dopasowaniem moesz uruchomi program


(http://otwartaedukacja.pl/programowanie/turtle/) i zbudowa program, lub odczyta
go z biblioteki (ikona globu, arkusz figury).
Takie biblioteki z gotowymi akcjami s powszechnie dostpne w internecie dla
rnych jzykw programowania i przernych algorytmw. Umiejtno
posugiwania si nimi jest jedn z najwaniejszych dla programistw.

You might also like