06.02.2015 Views

Lekcje z komputerem. Klasa 1

WSiP / Gimnazjum / Klasa 1 / " Lekcje z komputerem"

WSiP / Gimnazjum / Klasa 1 / " Lekcje z komputerem"

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Wanda Jochemczyk, Witold Kranas, Mirosław Wyczółkowski


Autorzy podręcznika: Wanda Jochemczyk, Witold Kranas, Mirosław Wyczółkowski<br />

Etap edukacyjny: III<br />

Typ szkoły: gimnazjum<br />

© Copyright by Wydawnictwa Szkolne i Pedagogiczne sp. z o.o.<br />

Warszawa 2015<br />

Wydanie I<br />

Opracowanie merytoryczne i redakcyjne: Małgorzata Marczuk (redaktor merytoryczny),<br />

Beata Brzeg-Wieluńska (redaktor koordynator)<br />

Projekt okładki: Hanna Michalska-Baran<br />

Projekt graficzny: Katarzyna Trzeszczkowska<br />

Skład i łamanie: Shift-ENTER<br />

Wydawnictwa Szkolne i Pedagogiczne spółka z ograniczoną odpowiedzialnością<br />

00-807 Warszawa, Al. Jerozolimskie 96<br />

Tel.: 22 576 25 00<br />

Infolinia: 801 220 555<br />

www.wsip.pl<br />

Publikacja, którą nabyłeś, jest dziełem twórcy i wydawcy. Prosimy, abyś przestrzegał<br />

praw, jakie im przysługują. Jej zawartość możesz udostępnić nieodpłatnie osobom<br />

bliskim lub osobiście znanym. Ale nie publikuj jej w internecie. Jeśli cytujesz jej fragmenty,<br />

nie zmieniaj ich treści i koniecznie zaznacz, czyje to dzieło. A kopiując jej część,<br />

rób to jedynie na użytek osobisty.<br />

Szanujmy cudzą własność i prawo.<br />

Więcej na www.legalnakultura.pl<br />

Polska Izba Książki


SPIS TREŚCI<br />

WSTĘP<br />

1. <strong>Lekcje</strong> z <strong>komputerem</strong> – wprowadzenie<br />

1.1. Cechy komputerów<br />

1.2. Czy masz 1101 lat<br />

1.3. W sieci i chmurze<br />

1.4. Zaprojektuj prezentację<br />

1.5. Ale kino!<br />

2. <strong>Lekcje</strong> programowania w Scratchu<br />

2.1. Duszek w labiryncie<br />

2.2. Malowanie na ekranie<br />

2.3. Gra z <strong>komputerem</strong> – Papier, nożyce, kamień<br />

2.4. Wszystko lata<br />

2.5. Najmniejsza, największa<br />

2.6. Liczby pierwsze<br />

2.7. Zakręt za zakrętem<br />

2.8. Algorytmy, schematy, programy<br />

2.9. Szybko i bez błędów<br />

3. <strong>Lekcje</strong> na papierze<br />

3.1. Pisz szybko i ładnie<br />

3.2. Jak to się pisze<br />

3.3 Kształty poezji<br />

3.4. Plakat<br />

3.5. Zrób to po kolei!<br />

4. <strong>Lekcje</strong> w chmurze<br />

4.1. Wszystko jest tekstem<br />

4.2. Co, gdzie, kiedy<br />

4.3. Faza Tkania Pajęczyny<br />

4.4. Nauka w sieci<br />

4.5. Porozumiewanie się i wspólne dokumenty<br />

4.6. O prawach, bezpieczeństwie i wolnym oprogramowaniu<br />

5. <strong>Lekcje</strong> z multimediami<br />

5.1. Światłem malowane<br />

5.2. Plakat raz jeszcze<br />

5.3. Fajny film<br />

6. <strong>Lekcje</strong> z liczbami i zbiorami danych<br />

6.1. Jak to z Gaussem było<br />

6.2. Liczby, potęgi, ciągi w nieskończoność<br />

6.3. Z tabelki – wykres<br />

6.4. Średnio na głowę<br />

6.5. Moi znajomi<br />

7. <strong>Lekcje</strong> z modelami<br />

7.1. Kości zostały rzucone<br />

7.2. Fraktale<br />

7.3. Gra w życie<br />

7.4. Podróże z <strong>komputerem</strong>


4<br />

1.1<br />

Cechy komputerów<br />

PRZYPOMNISZ SOBIE:<br />

▪ zasady obowiązujące w pracy z <strong>komputerem</strong>.<br />

POZNASZ:<br />

▪ podstawowe elementy komputera i ich parametry,<br />

▪ klasyfikację programów komputerowych.<br />

REGULAMIN SZKOLNEJ PRACOWNI KOMPUTEROWEJ<br />

Nauczyciel informatyki z pewnością przedstawi wam regulamin pracowni komputerowej<br />

i omówi obowiązujące w niej zasady BHP. Każda pracownia komputerowa<br />

ma bowiem swoją specyfikę i w każdej obowiązują inne zasady. Zależy to od rodzaju<br />

sprzętu i stosowanego oprogramowania.<br />

PODSTAWOWE ZASADY BHP PODCZAS PRACY Z KOMPUTEREM<br />

• Korzystaj z urządzeń zgodnie ze wskazówkami nauczyciela.<br />

• Dbaj o porządek na stanowisku komputerowym, nie jedz i nie pij przy komputerze.<br />

• O wszelkich usterkach zauważonych podczas pracy natychmiast poinformuj nauczyciela.<br />

• Nie próbuj samodzielnie naprawiać uszkodzonego sprzętu.<br />

• Nie zmieniaj ustawień komputera. Loguj się tylko na swoje konto (nie jesteś jedynym<br />

użytkownikiem komputera).<br />

Nauczyciel zapozna was również z zasadami logowania się do szkolnej sieci komputerowej.<br />

Utworzycie indywidualne konta użytkownika, podając swój login i swoje<br />

hasło. Administrator sieci nada wam uprawnienia do korzystania różnych elementów<br />

systemu.<br />

ROZWÓJ KOMPUTERÓW<br />

Według Internetowej Encyklopedii PWN: komputer [ang. < łac. computare „rozważać”,<br />

„obliczyć”, elektroniczna maszyna cyfrowa, urządzenie elektroniczne przeznaczone do przetwarzania<br />

informacji (danych) przedstawionych w postaci cyfrowej, sterowane programem<br />

zapisanym w pamięci.<br />

Z punktu widzenia użytkownika komputer jest narzędziem, na które składa się<br />

sprzęt (ang. hardware) i oprogramowanie (ang. software).<br />

DZIAŁ  | LEKCJA 1.1


Cechy komputerów 5<br />

W latach 46–59 XX wieku komputery były budowane głównie z lamp elektronowych,<br />

później z tranzystorów, a od 65–75 roku z układów scalonych. Dzięki miniaturyzacji<br />

i dużej złożoności układów<br />

scalonych (zawierających od kilkudziesięciu<br />

do wielu milionów elementów<br />

elektronicznych), w latach 80. powstały<br />

mikrokomputery. Jeden z nich to komputer<br />

osobisty (ang. Personal Computer,<br />

w skrócie PC), zaprojektowany przez<br />

firmę IBM. Nowsze wersje tego komputera<br />

znajdują się dzisiaj w szkołach,<br />

instytucjach i wielu domach.<br />

Rozwój komputerów następuje bardzo<br />

szybko. Nie jest łatwo przewidzieć,<br />

jakie komputery powstaną za kilka lat<br />

i jakie będą ich możliwości.<br />

Rys. 1. Ogłoszenie z 1988 roku<br />

NAJWAŻNIEJSZE ELEMENTY KOMPUTERA I ICH PARAMETRY<br />

Po włączeniu komputera następuje uruchomienie systemu BIOS (ang. Basic Input<br />

Output System). To zestaw procedur, które inicjują pracę komputera i sprawdzają podstawowe<br />

jego systemy i urządzenia. Poprawne zakończenie tych procedur skutkuje<br />

załadowaniem systemu operacyjnego z pamięci trwałej komputera.<br />

Komputer działa na liczbach. Musi szybko przetwarzać i pamiętać dane niezbędne<br />

do wykonania obliczeń oraz wyniki tych obliczeń. Głównym liczydłem komputera jest<br />

procesor – od możliwości procesora i częstotliwości taktowania zegara procesora zależy<br />

szybkość działania komputera. W pierwszych mikrokomputerach zegar procesora<br />

pracował z częstotliwością kilka milionów taktów na sekundę, np. 4 MHz (mega herc;<br />

M – oznacza milion, Hz – 1/s, czyli, ile razy na sekundę), w dzisiejszych komputerach<br />

jest to już kilka miliardów, np. 3 GHz (giga herc; G – oznacza miliard).<br />

Do przechowywania aktualnie wykonywanych programów oraz danych, na których<br />

one operują, i wyników operacji służy w komputerze wewnętrzna pamięć operacyjna<br />

RAM (ang. Random Access Memory – pamięć o swobodnym dostępie). To pamięć nietrwała<br />

– jej zawartość jest tracona po wyłączeniu zasilania lub restarcie komputera. Od<br />

pojemności tej pamięci zależy, jak wiele danych będzie przetwarzanych przez komputer.<br />

Pojemność pamięci RAM podaje się w bajtach (oznaczanych literą B) i ich wielokrotnościach.<br />

Bajt składa się zazwyczaj z 8 bitów, umożliwia zapamiętanie jednego<br />

znaku, np. wprowadzonego z klawiatury.<br />

‣ Sprawdź, jakie są parametry procesora i pamięci RAM zainstalowanych w szkolnym<br />

(lub domowym) komputerze. Kliknij prawym przyciskiem myszy ikonę Komputer.<br />

Z menu podręcznego wybierz Właściwości (rys. 2) i odczytaj podstawowe informacje<br />

o komputerze (rys. 3).


6<br />

<br />

Rys. 2. Opcja Właściwości w menu podręcznym<br />

Rys. 3. Informacje o komputerze<br />

Uwaga. W innych wersjach systemu Windows dane są podawane na różne sposoby.<br />

Oprócz ulotnej pamięci RAM w komputerze jest zainstalowana pamięć trwała ROM<br />

(ang. Read Only Memory – pamięć tylko do odczytu), zwana też pamięcią masową.<br />

W niej są zapisane najważniejsze dane, programy i system BIOS komputera, zachowywane<br />

po wyłączeniu zasilania.<br />

Zewnętrzną pamięć komputera stanowią: dysk twardy (HD – ang. hard drive) oraz wymienne<br />

nośniki pamięci: dyski optyczne (CD-ROM – ang. Compact Disc Read Only Memory,<br />

DVD-RW – ang. Digital Video Disc Read, Write) i pamięć USB (ang. Universal Serial Bus).<br />

‣ Aby sprawdzić podstawowe informacje o dyskach komputera, kliknij lewym przyciskiem<br />

ikonę Komputer, potem prawym przyciskiem ikonę interesującego cię dysku<br />

i z menu podręcznego wybierz Właściwości (rys. 4). W wyświetlonym oknie odczytasz,<br />

ile bajtów na dysku jest zajętych (zapisanych), a ile wolnych oraz jaka jest<br />

całkowita pojemność dysku (rys. 5).<br />

Rys. 4. Otwieranie właściwości dysku<br />

Rys. 5. Właściwości dysku<br />

DZIAŁ  | LEKCJA 1.1


Cechy komputerów 7<br />

W przykładzie pokazanym na rys. 5 całkowita pojemność dysku stacjonarnego wynosi<br />

około 1000 miliardów bajtów, czyli 931 GB.<br />

W informatyce wielokrotności bajtów określa się następująco:<br />

1 kB – kilobajt to 1024 bajty (1024 = 210),<br />

1 MB – megabajt to 1 048 576 bajtów (1024*1024 = 220),<br />

1 GB – gigabajt to 1 073 741 824 bajty (1024*1024*1024 = 230),<br />

1 TB – terabajt to 1 099 511 627 776 bajtów.<br />

Jakość obrazu wyświetlanego na ekranie monitora zależy odparametrów monitora<br />

i zainstalowanej w komputerze karty graficznej.<br />

‣ Aby je poznać, kliknij prawym przyciskiem myszy w dowolnym pustym miejscu<br />

pulpitu Windows i w podręcznym menu wybierz opcję Właściwości grafiki... .<br />

Rys. 6. Właściwości grafiki<br />

W przykładzie przedstawionym na rys. 6 rozdzielczość monitora wynosi 1280 x 1024<br />

punktów, co oznacza, że obraz wyświetlany na ekranie składa się z 1 300 000 punktów;<br />

głębia kolorów wynosi 32 bity, czyli 4 bajty są używane do zapamiętania koloru każdego<br />

punktu ekranu. Tak więc do zapamiętania wszystkich wyświetlanych punktów potrzeba<br />

około 5 200 000 bajtów, czyli 5,2 MB. Conajmnej taką pojemność musi mieć pamięć<br />

karty graficznej. Aby obraz wyświetlany na ekranie był stabilny i ruch płynny, karta<br />

graficzna musi wyświetlać szybko jeden obraz po drugim. 25 obrazów na sekundę<br />

wystarczy, aby nasze oko widziało płynny ruch. Stąd wynika, że jej pamięć powinna<br />

być przynajmniej kilkakrotnie większa niż obliczona wyżej.


8<br />

<br />

NAJWAŻNIEJSZE PARAMETRY KOMPUTERA<br />

• Częstotliwość zegara procesora.<br />

• Pojemność pamięci operacyjnej.<br />

• Pojemność pamięci trwałej.<br />

• Rozdzielczość monitora.<br />

• Pojemność pamięci karty graficznej.<br />

OPROGRAMOWANIE KOMPUTERA<br />

Podstawowym oprogramowaniem komputera, zarządzającym jego zasobami, definiującym<br />

środowisko działania dla innych programów oraz zarządzającym czynnościami<br />

użytkownika, jest system operacyjny (np. Windows lub Linux).<br />

Oprócz oprogramowania systemowego wyróżnia się programy użytkowe,<br />

narzędziowe, edukacyjne. Należy do nich pakiet oprogramowania biurowego Office,<br />

zawierający edytor tekstu, arkusz kalkulacyjny, program do tworzenia prezentacji,<br />

a w niektórych wersjach również programy do tworzenia grafiki oraz zarządzania bazami<br />

danych. Obecnie wiele programów jest dostępnych w wersjach internetowych,<br />

pracuje się w nich w oknie przeglądarki. Do takich programów należy środowisko<br />

programowania wizualnego Scratch.<br />

Tab. 1. Klasyfikacja programów pod względem dostępności<br />

Freeware<br />

Shareware<br />

Licencjonowane<br />

Demonstracyjne<br />

Oprogramowanie dostępne za darmo, można go używać i rozpowszechniać<br />

(jednak nie w celach komercyjnych) bez ograniczeń.<br />

Oprogramowanie rozpowszechniane bez opłat, ale nie darmowe. Taki<br />

program można pobrać z sieci lub skopiować i używać go bez opłat<br />

przez określony czas. Potem program należy usunąć lub wykupić,<br />

zazwyczaj za niewielką kwotę.<br />

Oprogramowanie komercyjne, sprzedawane i użytkowane na warunkach<br />

określonych w licencji.<br />

Rodzaj oprogramowania licencjonowanego rozpowszechnianego<br />

nieodpłatnie, zazwyczaj w niepełnej wersji, np. bez możliwości zapisu<br />

plików. Często są to również pełne wersje programów, ale działające<br />

przez krótki okres.<br />

Wszystkie wymienione rodzaje oprogramowania są chronione prawem autorskim.<br />

DZIAŁ  | LEKCJA 1.1


Cechy komputerów 9<br />

ZADANIA<br />

1. Utwórz w arkuszu kalkulacyjnym tabelę zawierającą istotne cechy twojego<br />

komputera. Poszukaj w internecie dodatkowych informacji, które warto<br />

uwzględnić w takim zestawieniu.<br />

2. Sporządź w edytorze tekstu listę poznanych już i używanych przez ciebie<br />

programów komputerowych.<br />

3. Wśród akcesoriów systemu Windows znajduje się bardzo prosty edytor<br />

tekstów Notatnik. Sporządź w nim notatkę dotyczącą zasad obowiązujących<br />

w pracowni komputerowej. Po zakończeniu edycji zapisz na Pulpicie plik<br />

pod nazwą zasady.txt.<br />

4. Przenieś plik zasady.txt do swojego folderu (np. Moje dokumenty).<br />

Pamiętaj, że plik masz przenieść, a nie skopiować go lub utworzyć skrót.<br />

• Kopiowanie polega na utworzeniu duplikatu elementu (pliku, folderu)<br />

w innym miejscu, w innym folderze lub na innym dysku.<br />

• Przenoszenie polega na przeniesieniu elementu z bieżącej lokalizacji<br />

do innego folderu lub na inny dysk. Przenoszone elementy są usuwane<br />

z miejsca bieżącego i umieszczane w nowej lokalizacji.<br />

• Tworzenie skrótu polega na umieszczeniu w danym miejscu ikony<br />

z informacją, gdzie znajduje się dany element. Po wykonaniu tej czynność<br />

element zostaje na swoim dotychczasowy miejscu. Dwukrotne kliknięcie<br />

skrótu powoduje uruchomienie elementu, do którego on prowadzi.<br />

• Usuwanie polega na likwidacji danego elementu. Czynność tę można<br />

wykonać na dwa sposoby.<br />

1. Kliknięcie prawym przyciskiem elementu do usunięcia i wybranie<br />

z menu podręcznego polecenia Usuń. Wówczas element ten trafi<br />

do kosza.<br />

2. Jeżeli tę samą czynność wykonasz, przytrzymując jednocześnie<br />

klawisz Shift, to wybrany element zostanie usunięty bezpowrotnie.


10<br />

2.1<br />

Duszek w labiryncie<br />

NAUCZYSZ SIĘ:<br />

▪ sterować duszkiem,<br />

▪ stosować pętlę zawsze,<br />

▪ wykorzystywać blok warunkowy jeżeli.<br />

Sterowanie żółwiem, duszkiem lub innym obiektem poznaliście w szkole podstawowej.<br />

Wasz pierwszy projekt w środowisku Scratch będzie polegał na przeprowadzeniu<br />

duszka przez labirynt za pomocą klawiszy ze strzałkami.<br />

PROJEKTOWANIE SCENY<br />

Na początku trzeba przygotować tło<br />

sceny, czyli labirynt (rys. 1) możliwy do<br />

przejścia z miejsca startu do mety. Najlepiej<br />

to zrobić w programie graficznym<br />

(plik PNG), przyjmując następujące założenia:<br />

– wymiary sceny 480 x 360,<br />

– kratki wielkości 40,<br />

– dwa dowolne kolory kratek, końcowa<br />

kratka – zielona.<br />

Rys. 1. Przykładowy labirynt<br />

STEROWANIE DUSZKIEM<br />

‣ Otwórz Scratcha i wybierz opcję Nowe tło → Plik, aby wstawić plik tła przygotowany<br />

w edytorze grafiki.<br />

Twój duszek będzie chodził po polach labiryntu, dlatego musisz zmniejszyć jego<br />

postać.<br />

‣ Kliknij przycisk ze strzałkami skierowanymi do środka (kształt kursora się<br />

zmieni) i tak długo klikaj postać duszka, aż jego wielkość będzie odpowiednia.<br />

DZIAŁ  | LEKCJA 2.1


Cechy komputerów 11<br />

Teraz zaprogramujesz sterowanie duszkiem. Utworzysz w tym celu odpowiednie<br />

skrypty. Załóż, że będziesz sterować duszkiem za pomocą klawiszy ze strzałkami – np.<br />

po naciśnięciu klawisza ze strzałką skierowaną w prawo, duszek powinien pójść w kierunku<br />

prawego brzegu ekranu.<br />

‣ Ułóż skrypt dla duszka, czyli<br />

polecenia do wykonania po naciśnięciu<br />

klawisza ze strzałką<br />

w prawo (rys. 2). Potrzebne<br />

bloki znajdziesz w grupach<br />

o odpowiednich kolorach.<br />

Jeśli ten skrypt działa prawidłowo,<br />

wstaw kolejne skrypty Rys. 2. Skrypt przesuwania duszka w prawo<br />

do przesuwania się duszka<br />

w pozostałych kierunkach.<br />

‣ Skopiuj skrypt – naciśnij prawy przycisk myszy i z menu podręcznego<br />

wybierz opcję duplikuj. Zmień rodzaj naciskanego<br />

klawisza (strzałka w lewo, strzałka w dół, strzałka w górę) i wybierz<br />

odpowiedni do tego kierunek ruchu duszka.<br />

‣ Sprawdź, czy duszek porusza się w odpowiedni sposób na ekranie.<br />

Czy czasami obraca się i maszeruje do góry nogami Aby temu zapobiec, trzeba zmienić<br />

jego styl obrotów.<br />

URUCHAMIANIE PROJEKTU<br />

‣ Najpierw ustal warunki początkowe,<br />

tworząc skrypt uruchamiany po kliknięciu<br />

zielonej flagi. Potem kolejno: ustaw<br />

duszka w położeniu początkowym<br />

i ustal odpowiedni styl obrotów (rys. 3).<br />

– uruchamia projekt,<br />

– zatrzymuje wszystkie skrypty,<br />

Rys. 3. Skrypt zielonej flagi<br />

– maksymalizuje scenę.<br />

Następnym problemem do rozwiązania<br />

jest trasa labiryntu – duszek powinien<br />

chodzić tylko po żółtych polach. Szare<br />

kwadraty są ścianami labiryntu.<br />

‣ Ułóż z klocków kolejny skrypt „kiedy<br />

kliknięto zieloną flagę” (rys. 4).<br />

Pętla zawsze działa non stop i wykonuje<br />

polecenia zawarte w jej klamrach.<br />

Blok warunkowy jeżeli sprawdza, czy warunek<br />

jest spełniony (czy duszek dotyka<br />

Rys. 4. Kolejny skrypt zielonej flagi


12<br />

<br />

wybranego koloru); jeśli tak, to wykonuje się odpowiednie polecenie – duszek cofa się<br />

na poprzednie pole. Aby wstawić odpowiedni kolor do warunku bloku jeżeli, należy go<br />

kliknąć, a potem kliknąć szary kwadrat na planszy labiryntu.<br />

Twój projekt działa – sterujesz duszkiem po polach labiryntu.<br />

‣ Zrób jeszcze coś na zakończenie, gdy duszek dojdzie do mety – zielonego pola labiryntu.<br />

Przeanalizuj poniższe dwie możliwości do wyboru (rys. 5).<br />

Rys. 5. Skrypty na zakończenie<br />

ZADANIA<br />

1. Do projektu zrealizowanego podczas lekcji wprowadź zliczanie błędnych<br />

ruchów duszka.<br />

• Na zakładce dane w skryptach duszka utwórz zmienną suma.<br />

• Podczas ustalania warunków początkowych ustaw wartość tej zmiennej<br />

na 0.<br />

• Jeśli przesuwasz duszka o -40 kroków, to zwiększ wartość zmiennej<br />

suma o 1.<br />

• Po dojściu duszka do mety wypisz liczbę popełnionych przez niego<br />

błędów.<br />

2. Uzupełnij projekt wykonany w zadaniu 1 o zliczanie drogi przebytej przez<br />

duszka i sprawdzanie, czy była to najkrótsza droga.<br />

DZIAŁ  | LEKCJA 1.1


13<br />

2.7<br />

Zakręt za zakrętem<br />

POZNASZ:<br />

▪ sposoby tworzenia skryptów rekurencyjnych,<br />

▪ rozwiązanie problemu wież Hanoi.<br />

RYSOWANIE GWIAZD<br />

Rysowaliście już wielokąty foremne. Wykorzystywaliście<br />

blok powtórz … razy, który umożliwia<br />

wielokrotne powtarzanie tych samych<br />

poleceń. Jednak nie zawsze łatwo jest określić,<br />

ile razy powtórzyć polecenia. Gwiazda przedstawiona<br />

na rys. 1 powstała wskutek wielokrotnego<br />

wykonania przez duszka bloków przesuń<br />

o 100 kroków i obróć (w prawo) o 156 stopni. Ile<br />

razy Dostatecznie wiele. Można pracowicie policzyć,<br />

ile potrzeba skrętów, aby uzyskać pełną<br />

gwiazdę, ale wygodniej jest zostawić tę część<br />

pracy komputerowi. Czy potrafisz zaplanować<br />

takie kąty skrętu, dla których powstaną ładne<br />

gwiazdy<br />

Najprostszy plan rysowania gwiazdy będzie<br />

wyglądał następująco:<br />

– przejście naprzód o długość boku,<br />

– skręt w prawo o kąt,<br />

– dalej to samo dostatecznie wiele razy.<br />

Zapiszesz ten plan, korzystając z możliwości<br />

tworzenia własnych bloków w Scratchu.<br />

‣ Otwórz kategorię Więcej bloków, kliknij Stwórz<br />

blok, nazwij go wielo, rozwiń Opcje i dodaj<br />

dwa parametry liczbowe bok i kąt (rys. 2).<br />

Rys. 1. Gwiazda o kącie skrętu 156°<br />

Rys. 2. Definicja bloku wielo


14<br />

<br />

CO TO JEST REKURENCJA<br />

Jak to możliwe Nie skończyliśmy definiowania procedury, a już z niej korzystamy.<br />

Spróbuj wytłumaczyć komuś, jak wykonywać jakąś czynność, wymagającą wielu<br />

powtórzeń, np. jak tańczyć tango: dwa długie, wolne kroki, dwa krótkie, szybkie kroki<br />

i tańczyć tango dalej. Taki sposób opisywania powtarzanych czynności jest możliwy<br />

również w Scratchu i nazywa się rekurencją. Istnieje pewne ryzyko stosowania rekurencji:<br />

jeśli nie zostanie określony warunek zakończenia działania, to będzie ona działać<br />

w nieskończoność. W przypadku tańca warunek jest prosty: należy skończyć, gdy<br />

przestanie grać muzyka. Blok wielo nie ma określonego warunku zatrzymania i byłoby<br />

bardzo niedobrze, gdyby nie przycisk Zatrzymaj wszystko – czerwona kropka na pasku<br />

nad sceną. Należy jednak unikać takich konstrukcji.<br />

JAK ZATRZYMAĆ REKURENCJĘ<br />

Trzeba wstawić warunek zatrzymania. Niech<br />

duszek kończy rysowanie po naciśnięciu przycisku<br />

myszy. Do skryptu trzeba dopisać blok<br />

jeżeli. Jego sens jest następujący: jeśli zostanie<br />

naciśnięty lewy przycisk myszy, to należy zatrzymać<br />

wykonywanie skryptu. Gdzie umie-<br />

Rys. 3. Blok jeżeli<br />

ścić ten blok Na pewno przed wywołaniem<br />

wielo, najlepiej na samym początku skryptu, tuż po nagłówku bloku (rys. 3).<br />

Z rekurencji będziesz wielokrotnie korzystać. Umożliwia ona łatwe rozwiązywanie<br />

trudnych zadań. Dlatego przyjrzyj się uważnie działaniu pierwszego skryptu rekurencyjnego.<br />

Pamiętaj, że trzeba zatrzymać wykonywanie skryptu, naciskając przycisk<br />

myszy.<br />

‣ Narysuj kilka gwiazd, wypróbowując różne kąty skrętu. Podaj również kąt 90 stopni.<br />

Zostanie wówczas narysowany kwadrat. Zatem blok wielo może rysować również<br />

wielokąty.<br />

JAK ZMIENIĆ REKURENCJĘ<br />

‣ Zmień wartość parametru w wywołaniu rekurencyjnym bloku wielo, np. niech bok<br />

zwiększa się o 5 lub kąt maleje o 1° (rys. 4).<br />

Co się dzieje z rysunkiem Jak można zatrzymać działanie rekurencji w zmodyfikowanym<br />

bloku wielo<br />

Rys. 4. Zmiana parametrów bok i kąt w skrypcie<br />

Rys. 5. Labirynt<br />

DZIAŁ  | LEKCJA 1.1


Cechy komputerów 15<br />

Skoro za pomocą bloku wielo można narysować kwadrat, to może uda się utworzyć<br />

również figurę przedstawioną na rys. 5. Ponieważ w tym wypadku długość rysowanego<br />

boku się zmienia, trzeba będzie wprowadzić pewne zmiany w bloku. Utworzysz nowy<br />

blok wielospi z parametrami bok, kąt. Blok ten powinien zaczynać rysowanie od najkrótszego<br />

boku, np. o długości 5. Następny bok, rysowany po skręcie, będzie o 5 dłuższy<br />

od poprzedniego i tak dalej, aż do narysowania najdłuższego boku, który już dotyka<br />

krawędzi. Są tu trzy elementy charakterystyczne dla budowy skryptu rekurencyjnego:<br />

– warunek zakończenia: „aż do zetknięcia z krawędzią”,<br />

– kroki do wykonania: narysowanie boku i wykonanie skrętu o podany kąt,<br />

– powtarzanie rekurencyjne: „i tak dalej”.<br />

Skąd jednak skrypt będzie wiedział, że ma<br />

narysować kolejny bok dłuższy od poprzedniego<br />

To proste – blok rysuje bok, którego<br />

wartość podajesz w jego wywołaniu. Jeśli przy<br />

każdym kolejnym wywołaniu bok ma być dłuższy<br />

o 5 od poprzedniego, to należy zwiększać<br />

długość boku w wywołaniu rekuren cyjnym.<br />

‣ Zbuduj w Scratchu rekurencyjny blok wielospi<br />

z parametrami bok, kąt. Wybierz najpierw<br />

parametry wywołania: bok 5, kąt 90° (rys. 6).<br />

‣ Jeśli chcesz się przyjrzeć kolejnym ruchom<br />

duszka, musisz zwolnić jego działanie.<br />

W tym celu dodaj blok czekaj 0.5 s. To polecenie<br />

zatrzymuje duszka na pół sekundy.<br />

Co się stanie, jeśli blok czekaj przestawisz<br />

na koniec bloku za wywołanie rekurencyjne<br />

Tym razem duszek znów rysuje bardzo<br />

szybko, ale ma kłopoty z zakończeniem<br />

działania. Czy to możliwe, że blok dodany po<br />

wywołaniu rekurencyjnym zostanie zrealizowany<br />

‣ Na końcu, za blokiem czekaj dodaj blok<br />

zmień rozmiar o 5. Jak teraz jest wykonywany<br />

skrypt Jak powiększył się duszek<br />

‣ Wywołuj blok wielospi dla różnych kątów<br />

i oglądaj otrzymane rysunki. Często są bardzo<br />

ładne (rys. 7).<br />

W projekcie wielospi.sb2, znajdującym<br />

się pod adresem http://scratch.mit.edu/projects/19090724,<br />

możesz obejrzeć wiele różnych<br />

figur tworzonych przez blok wielospi.<br />

Rys. 6. Blok wielospi<br />

Rys. 7. Figura nakreślona po wywołaniu<br />

bloku wielospi


16<br />

<br />

WIEŻE HANOI<br />

Koronnym przykładem przydatności rekurencji jest problem znany jako wieże Hanoi.<br />

W 1883 roku francuski matematyk Édouard Lucas wymyślił i rozpowszechnił<br />

zabawkę, wieże Hanoi (rys. 8). Na podstawce znajdowały się trzy paliki, na jednym<br />

z nich umieszczono osiem krążków o coraz mniejszych średnicach. Gra polega na<br />

przeniesieniu wszystkich krążków na inny palik z zachowaniem następujących reguł:<br />

– wolno przenosić po jednym krążku,<br />

– nie wolno położyć większego krążka na mniejszym,<br />

– można wykorzystywać trzeci palik jako pomocniczy.<br />

Rys. 8. Zabawka – wieże Hanoi<br />

‣ Wykonaj tę grę dla trzech krążków (możesz spróbować zrobić to w pamięci). Powinno<br />

ci się udać przenieść wszystkie krążki w siedmiu ruchach.<br />

Legenda (stworzona prawdopodobnie przez samego Lucasa) mówi: na początku<br />

świata Brahma postawił w klasztorze w Hanoi wieżę z 64 złotych krążków. Nakazał<br />

mnichom przenosić je według podanych wyżej reguł. Gdy mnisi przeniosą wszystkie<br />

krążki, nastąpi koniec świata.<br />

To zadanie ma dość proste rozwiązanie rekurencyjne. Jeśli założymy, że przekładanie<br />

n – 1 krążków jakoś się uda, to algorytm – rozwiązanie dla n krążków może<br />

wyglądać następująco.<br />

A B C<br />

Rys. 9. Wieże Hanoi – stan początkowy dla n = 5 krążków<br />

1. Jeśli nie ma już krążków do przenoszenia, to koniec gry.<br />

2. Przenieś n – 1 krążków ze słupka A na B, posługując się słupkiem C.<br />

A B C<br />

DZIAŁ  | LEKCJA 1.1


Cechy komputerów 17<br />

3. Przenieś n-ty krążek ze słupka A na C.<br />

A B C<br />

4. Przenieś n – 1 krążków ze słupka B na C, posługując się słupkiem A.<br />

A B C<br />

Skrypt bloku rekurencyjnego wHanoi, zbudowany według tego algorytmu, i wynik<br />

jego działania dla n = 3 możesz zobaczyć na rys. 10, a wypróbować po uruchomieniu<br />

pokazu wHanoi.sb2 znajdującego się pod adresem http://scratch.mit.edu/<br />

projects/37051896.<br />

Program<br />

Wynik<br />

Rys. 10. Skrypt wHanoi i jego rozwiązanie dla trzech krążków<br />

Kręgi są ponumerowane od najwyższego. Ile ruchów trzeba wykonać Dla jednego<br />

krążka to oczywiście 1 ruch, dla dwóch krążków – 3 ruchy, dla trzech – 7 (jak widać<br />

powyżej). Dla większej liczby krążków możesz to sprawdzić w projekcie. Ruchów jest<br />

dużo i nie da się już tego poprawić, optymalizując algorytm.


18<br />

<br />

ZADANIA<br />

1. Zmodyfikuj blok wielospi, tak aby długość boku była niezmienna,<br />

a zmieniał się kąt skrętu duszka. Bok nie powinien być zbyt długi. Dla jakich<br />

wartości kątów procedura powinna kończyć rysowanie<br />

2. Zmodyfikuj blok wielospi, tak aby jego parametrami były: bok, kąt i skok.<br />

Po wywołaniu rekurencyjnym bok powinien zwiększać się o wielkość skoku.<br />

Jakie ryzyko towarzyszy takiemu rozwiązaniu<br />

3. Policz lub odgadnij, ile razy trzeba przenosić krążki wież Hanoi, aby cała<br />

wieża złożona z n krążków została przeniesiona.<br />

DZIAŁ  | LEKCJA 1.1


19<br />

7.1<br />

Kości zostały rzucone<br />

DOWIESZ SIĘ, JAK:<br />

▪ korzystać z funkcji losowych w arkuszu kalkulacyjnym,<br />

▪ przeprowadzić symulację procesu o losowym przebiegu.<br />

LOSOWANIE OCZEK<br />

Wyobraź sobie grę, w której jeden z graczy rzuca dwiema sześciościennymi kostkami,<br />

a drugi próbuje zgadnąć wynik rzutu. Czy będzie w stanie ocenić z góry, jaką liczbę<br />

wybrać Czy powinien postawić na liczbę 12 (dwie szóstki), czy raczej na liczbę 9<br />

(czwórka i piątka lub trójka i szóstka) Czy wszystkie sumy oczek będą się pojawiały<br />

w tej grze równie często<br />

Gdyby gracz rzucał jedną kostką, to możliwych wyników byłoby sześć i każda liczba<br />

oczek pojawiałaby się równie często. Przeprowadzisz w Excelu takie losowanie. Czy<br />

znajdziesz funkcję, która może symulować rzut kostką<br />

‣ Otwórz okno wstawiania funkcji i wyszukaj funkcje, które zawierają słowo „los”.<br />

Wybierz drugą z nich LOS.ZAKR (rys. 1), zwracającą liczbę losową z przedziału pomiędzy<br />

podanymi wartościami. Jakie granice należy podać Oczywiście, od 1 do 6.<br />

Rys. 1. Okno wstawiania funkcji w Excelu


20<br />

<br />

‣ Teraz skopiuj formułę do kolejnych 120 komórek i obejrzyj wyniki.<br />

Są one nietrwałe, co oznacza, że w każdym przeliczeniu wartości w komórkach arkusz<br />

losuje nowe liczby. Przeliczenie następuje za każdym razem, gdy wprowadzisz nową<br />

wartość do jakiejkolwiek komórki. Można je również wywołać, naciskając klawisz funkcyjny<br />

F9.<br />

Aby się dowiedzieć, ile razy były wylosowane poszczególne wyniki rzutów, zrobisz<br />

statystykę wyników. Najpierw w jednej z kolumn, np. F (zostaw parę kolumn wolnych,<br />

żeby dodać losowania dla drugiej kostki), wypiszesz kolejno wszystkie możliwe wyniki.<br />

W kolumnie G obliczysz częstość ich występowania w całym zakresie losowań, czyli<br />

w komórkach B2:B121.<br />

Arkusz ma wbudowaną funkcję CZĘSTOŚĆ. Jest to funkcja tablicowa, którą należy wprowadzić<br />

od razu do całego zakresu komórek i zatwierdzić (w Excelu) w specjalny sposób.<br />

Rys. 2. Okno określania argumentów funkcji tablicowej CZĘSTOŚĆ<br />

Trzeba wybrać argumenty tej funkcji: Tablica_dane – to wyniki 120 losowań, Tablica_<br />

przedziały – to możliwe wyniki rzutu kostką, które zostały wpisane w komórkach F2:F7<br />

(rys. 2). Teraz zatwierdzenie funkcji tablicowej – trzeba w tym celu nacisnąć klawisze<br />

Shift + Ctrl i trzymając je, kliknąć przycisk OK (lub nacisnąć Enter). Warto podsumować<br />

liczbę wyników w kolumnie G (używając autosumowania), aby sprawdzić, czy wszystko<br />

poszło dobrze. Powinno ich być 120.<br />

WYKRES KOLUMNOWY RZUTÓW<br />

Teraz utworzysz wykres kolumnowy dla statystyki rzutów.<br />

‣ Zaznacz tabelę z wynikami i częstością, a potem wybierz Wstawianie → Wstaw<br />

wykres kolumnowy.<br />

Niestety, arkusz nie domyśli się, że chcesz narysować tylko kolumny częstości – musisz<br />

więc zaznaczyć i usunąć serię wyniki (rys. 3). Rozkład częstości jest w miarę równomierny,<br />

możesz to sprawdzić, kilkakrotnie przeliczając arkusz (klawisz F9).<br />

Zajmijmy się wreszcie rzutem dwiema kostkami. W arkuszu wystarczy skopiować<br />

całą kolumnę B z wynikami losowań do kolumny C, która będzie wtedy zawierać wyniki<br />

losowań dla drugiej kostki. W kolumnie D trzeba obliczyć sumę oczek na obu kostkach,<br />

wpisując do komórki D2 formułę: = B2+C2 i kopiując ją do kolejnych komórek<br />

kolumny (rys. 4).<br />

DZIAŁ  | LEKCJA 1.1


Cechy komputerów 21<br />

Rys. 3. Usuwanie serii danych z wykresu<br />

Rys. 4. Obliczenie sumy oczek<br />

CZĘSTOŚĆ WYNIKÓW<br />

Możliwe wyniki rzutu dwiema kostkami to liczby od 2 do 12.<br />

‣ Wypisz je (jak poprzednio) w kolumnie F, a w kolumnie G wstaw przy nich funkcję<br />

tablicową CZĘSTOŚĆ, żeby policzyć częstość ich występowania.<br />

Chyba nie jest ona podobna, jak w przypadku rzutu jedną kostką. Wydaje się, że częściej<br />

występują wyniki środkowe (6, 7, 8), a rzadziej – wyniki skrajne (2, 12).<br />

‣ Sprawdź to, wstawiając wykres kolumnowy częstości (rys. 5).<br />

Rys. 5. Wykres<br />

częstości wyników


22<br />

<br />

Jak wytłumaczyć nierównomierność rozkładu częstości Trzeba przeanalizować, jak<br />

mogą powstać poszczególne wyniki. Najczęściej występujący wynik 7 można uzyskać,<br />

jeśli na jednej kostce będzie 1, a na drugiej 6 (lub odwrotnie), na jednej 2, a na drugiej…<br />

Spróbuj wypisać wszystkie możliwości. Ile ich jest Może arkusz pomoże ci w tych<br />

obliczeniach.<br />

‣ Nazwij pierwszy arkusz, np. Rzuty kostką i przejdź do nowego w tym samym skoroszycie.<br />

Przedstawisz w nim wszystkie możliwości rzutu dwiema kostkami. Musisz zrobić tabliczkę<br />

dodawania od 1 do 6.<br />

‣ Najpierw w drugim wierszu wypisz, poczynając<br />

od komórki C2, wszystkie możliwe wyniki<br />

dla pierwszej kostki: 1, 2… Potem w kolumnie<br />

B, poczynając od komórki B3, wypisz wszystkie<br />

możliwe wyniki dla drugiej kostki (rys. 6).<br />

‣ Nazwij zakres komórek C2:H2, zawierający<br />

Rys. 6. Tworzenie tabliczki dodawania<br />

wyniki dla pierwszej kostki, np. kostka1, a zakres<br />

komórek B3:B8, zawierający wyniki dla<br />

drugiej kostki – np. kostka2.<br />

Po co te nazwy Żeby łatwo było wpisać formułę na sumowanie oczek: =kostka1+<br />

+kostka2 do komórki C3, a potem skopiować ją do pozostałych komórek tabeli.<br />

Zrobione No to masz komplet trzydziestu sześciu możliwych wyników rzutów.<br />

Zobacz, ile razy występuje wynik sumaryczny 7, a ile razy wynik 2. Jeśli tak samo jak<br />

poprzednio obliczysz częstość występowania możliwych wyników, to będzie można<br />

przedstawić również teoretyczny histogram, czyli rozkład częstości wyników (rys. 7).<br />

Rys. 7. Wyniki rzutów kostkami i wykres ich częstości<br />

W powyższym opisie często występowały określenia: „losowanie”, „liczba losowa”.<br />

Przecież arkusz oblicza tę liczbę i tylko udaje losowanie (zresztą bardzo dobrze). Należałoby<br />

więc ściśle mówić: pseudolosowanie i liczby pseudolosowe.<br />

DZIAŁ  | LEKCJA 1.1


Cechy komputerów 23<br />

ZADANIA<br />

1. W niektórych grach występują kostki o innej liczbie ścian niż sześć:<br />

ośmiościenna, dziesięciościenna, dwunastościenna i dwudziestościenna.<br />

Ściany kostek są ponumerowane od 1 do liczby ścian. Wszystkie kostki<br />

mają tę własność, że prawdopodobieństwo wyrzucenia każdej liczby oczek<br />

jest jednakowe. Wybierz jedną z takich kostek i zaplanuj grę polegającą na<br />

rzucaniu dwiema kostkami, sumowaniu oczek i przewidywaniu najczęściej<br />

występującego wyniku (sumy). Podaj te wyniki, które będą występowały<br />

najczęściej – wygrywające.<br />

2. Skorzystaj z pomocy arkusza kalkulacyjnego i poznaj drugą funkcję<br />

pseudolosową LOS.<br />

Funkcja ta generuje liczbę losową z przedziału

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!