Moduł 6 - "Gra logiczna - zgadywanie liczby"
Materiały stworzone przez Ośrodek Edukacji Informatycznej i Zastosowań Komputerów w Warszawie w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska, objęte licencją CC-BY-SA „Uznanie autorstwa – Na tych samych warunkach 3.0 Polska”
Spis treści
Informacje
Cele
Cele ogólne:
- przypomnienie i utrwalenie poznanych wcześniej poleceń i konstrukcji języka Scratch,
- wprowadzenie algorytmu przeszukiwania binarnego,
- opracowanie projektu prostej gry logicznej,
- jej implementacja w środowisku Scratch.
Cele szczegółowe:
- uczeń rozumie i potrafi stosować odpowiednie instrukcje strukturalne, w tym iterację warunkową,
- uczeń rozumie pojęcie zmiennej i potrafi je wykorzystać w programie,
- uczeń rozumie i potrafi posługiwać się komunikatami i programować reakcje na otrzymanie komunikatu,
- uczeń potrafi implementować prostą grę logiczną w środowisku Scratch,
- uczeń posługuje się algorytmem przeszukiwania binarnego.
Etapy realizacji
Część 1
Omówienie rozwiązania zadania dodatkowego z modułu V
Czas na realizację tej części: ok. 10 minut
Na początku zajęć należy przypomnieć, co miało zostać przygotowane przez uczniów między zajęciami. Zapraszamy chętnego ucznia do zaprezentowania swojego rozwiązania. Dyskutujemy z uczniami, czy ktoś miał inny sposób rozwiązania. Omawiamy rozwiązania (chwaląc każde poprawne rozwiązania poszczególnych zadań).
Jeśli nie było zadań domowych, to zaczynamy od powtórzenia najważniejszych zagadnień z poprzedniego modułu. Pytamy także, o wątpliwości do ew. własnych projektów uczniów. Jeśli ktoś chce się czymś pochwalić – pozwólmy mu na to.
Część 2
Zaprojektowanie gry polegającej na zgadywaniu liczby, którą wylosował komputer
Czas na realizację tej części: ok. 20 minut
Na początku zajęć przedstawiamy koncepcję projektu, który chcemy opracować podczas zajęć. Wspólnie z uczniami zastanawiamy się, jak mogłaby działać gra polegająca na zgadywaniu liczby, wylosowanej przez komputer. Zastanawiamy się nad tym, jak powinien reagować program na udzielenie poprawnej i błędnej odpowiedzi. Jak odpowiedź, udzielona przez program może naprowadzić gracza na właściwy wynik. Dochodzimy do wniosku, że program powinien informować o tym, czy podana liczba jest mniejsza, czy większa od wylosowanej. Wspólnie z uczniami dyskutujemy i zapisujemy proponowany algorytm na tablicy.
Pierwsza wersja algorytmu może wyglądać następująco: Po uruchomieniu program:
- wyświetla komunikat informujący, na czym polega gra, np.: „Pomyślałem sobie liczbę od 1 do 100. Zgadnij, co to za liczba!”
- losuje liczbę (w przedziale od 1 do 100) i zapamiętuje w zmiennej
- wyświetla napis „Podaj liczbę” i czeka na odpowiedź uczestnika gry
- porównuje odpowiedź uczestnika z wylosowaną liczbą:
- jeżeli liczba nie zgadza się
- sprawdza, czy liczba podana przez uczestnika zabawy jest większa od wylosowanej
- jeśli tak
- wyświetla napis: „Za dużo!".
- w przeciwnym przypadku
- wyświetla napis „Za mało!”
- jeśli tak
- ponownie wyświetla pytanie uczestnikowi gry, czeka na odpowiedź i porównuje ją z wylosowaną liczbą
- sprawdza, czy liczba podana przez uczestnika zabawy jest większa od wylosowanej
- jeżeli liczba zgadza się
- wyświetla napis „Brawo!”
- kończy wykonywanie skryptu
- jeżeli liczba nie zgadza się
Po rozpisaniu pierwszej wersji algorytmu zwracamy uwagę, że mamy do czynienia z pewnymi czynnościami, które będą powtarzane.
Zadajemy pytanie: Które z czynności są powtarzane? Czy wiemy ile razy? Czy umiemy sformułować warunek, jaki musi być spełniony, żeby zakończyć powtarzanie? W razie potrzeby naprowadzamy uczniów na to, że od punktu „program porównuje odpowiedź uczestnika” czynności są powtarzane tak długo, aż udzielona odpowiedź będzie prawidłowa (podana liczba zgadza się z liczbą wylosowaną przez program). Zauważamy więc, że właściwe będzie użycie odpowiedniej pętli.
Zadajemy pytanie: Która pętla się tutaj sprawdzi i co powinna objąć? Prosimy, by odnaleźli klocek pętli najlepiej pasujący ich zdaniem. W tym przypadku naprowadzamy uczniów na pętlę powtarzaj, aż.
Odpowiednio modyfikujemy zapis algorytmu na tablicy, uwzględniając w nim pętle powtarzaj, aż. Zmodyfikowany algorytm może wyglądać następująco:
Po uruchomieniu program:
- wyświetla komunikat informujący, na czym polega gra, np.: „Pomyślałem sobie liczbę od 1 do 100. Zgadnij, co to za liczba!”
- losuje liczbę (w przedziale od 1 do 100) i zapamiętuje w zmiennej
- wyświetla napis „Podaj liczbę” i czeka na odpowiedź uczestnika gry
- powtarza poniższe instrukcje tak długo, aż podana odpowiedź uczestnika jest równa wylosowanej liczbie zapamiętanej w zmiennej:
- sprawdza, czy liczba podana przez uczestnika zabawy jest większa od wylosowanej
- jeśli tak
- wyświetla napis: „Za dużo!”
- w przeciwnym przypadku
- wyświetla napis „Za mało!”
- jeśli tak
- wyświetla napis „Podaj liczbę” i czeka na odpowiedź uczestnika gry
- sprawdza, czy liczba podana przez uczestnika zabawy jest większa od wylosowanej
- wyświetla napis „Brawo!”
- kończy wykonywanie skryptu