Lekcje z komputerem. Klasa 1
WSiP / Gimnazjum / Klasa 1 / " Lekcje z komputerem"
WSiP / Gimnazjum / Klasa 1 / " Lekcje z komputerem"
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