Materiały stworzone w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska
Informacje
Cel
Celem projektu jest stworzenie programu umożliwiającego losowanie liczby z podanego zakresu.
- Przypomnienie i utrwalenie poznanych wcześniej poleceń i konstrukcji języka Scratch,
- Wykorzystanie klocków z Bloku Dane (stwórz listę)
- Implementacja w środowisku Scratch
Poziom trudności i gotowe projekty
Poziom trudności dla klas 4-6 ✪✪✰✰
Poziom trudności dla gimnazjum ✪✰✰✰
Przykładowe projekty:
- Pierwszy etap Maszynka losująca
- Wersja końcowa Lotto
Etapy
Maszynka losująca
- Wybieramy lub rysujemy postać duszka, który będzie losował.
- Tworzymy "kostkę" - skrypt losujący liczbę z zakresu 1-6.
- Tworzymy urządzenie losujące numer ucznia w dowolnej klasie - skrypt losowania liczby z podanego zakresu (pytanie o liczbę uczniów w klasie).
Wprowadzenie
Pokazujemy uczniom kostkę do gry. Rozmawiamy na temat jej funkcjonalności i użyteczności. Staramy się, aby uczniowie doszli do wniosku, że kostka jest prostą maszyną losującą. Ilość możliwych wyników losowania zależy od ilości ścianek danej kostki. Pytamy uczniów w jaki sposób mogą wylosować jedną z sześciu liczb, kiedy nie mają przy sobie kostki (mogą np. zaproponować sześć losów na których znajduje się sześć kolejnych liczb). Taką wirtualną maszynę losującej o zmiennej ilości wyników będziemy mieli przygotować w Scratchu.
Maszyna ze stałą ilością losów
Prosimy uczniów o to, aby wybrali duszka (w naszym przypadku jest to duszek Jay), który będzie pełnił funkcję maszyny losującej. W pierwszym kroku maszyna ma losować – podobnie jak kostka do gry – spośród sześciu liczb. Pytamy uczniów jakie czynności powinien zrobić taki program. (1. Uruchomienie programu, 2. Losowanie jednej z sześciu liczb, 3. Wyświetlenie liczby). Upewniamy się czy uczniowie wiedzą z jakich klocków skorzystać. Daje im czas na stworzenie rozwiązania.
Maszyna z wprowadzaną przez użytkownika ilością losów
Kiedy uczniowie przygotują ten prosty skrypt prosimy ich, aby zastanowili się w jaki sposób rozbudować kod, aby to użytkownik wprowadzał górną wartość losowanej liczby. Zbieramy przykładowe rozwiązań i prosimy uczniów, aby wykorzystali swoje pomysły. Warto pozwolić im, aby sami poszukali swojego rozwiązania. Warto stworzyć przestrzeń do tego, aby uczniowie prezentowali innym uczniom swoje rozwiązania i zastanawiali się nad tym jak można je udoskonalić. Dopiero kiedy żaden z nich nie znajdzie optymalnego rozwiązania można zapytać w jaki sposób program będzie pobierał od użytkownika górny zakres losowanej liczby. W przypadku korzystania z funkcji „pytania” i „odpowiedzi”, ten drugi klocek może być traktowany jako potrzebna nam zmienna.
Tworzymy maszynę losującą zestaw kilku liczb z określonego zakresu
Skrypt zawiera pola dialogowe z bloków i oraz element losowania z bloku . Wybrany w tej wersji duszek Jay informuje o możliwości wylosowania liczby, następnie zadaje pytanie o zakres liczb i czeka na odpowiedź. Po uzyskaniu odpowiedzi podaje krótki komunikat Losuję.. aby dodać nieco przerwy między podanym zakresem a wylosowaną odpowiedzią. W ostatnim punkcie duszek podaje losowo wybraną liczbę.
"Lotto"
Bazową wersję można rozwinąć o element losowania wielu liczb. Etapy rozwijania skryptu:
- Pytamy dodatkowo o to, ile liczb maszyna ma wylosować.
- Ponieważ o ilości liczb każdorazowo będzie decydował gracz, zamiast tworzyć wiele zmiennych, tworzymy listę Wyniki. ------> Uwaga: (W Bloku Dane wybieramy opcję stwórz listę, zadajemy nazwę (np.: wyniki) oraz oznaczamy ustawienie tylko dla tego duszka. W oknie sceny pojawi się pusta lista, którą możemy ukryć po rozpoczęciu gry, a wyświetlić po wylosowaniu liczb)
- Powtarzamy zadaną liczbę razy (zmienna ile) sekwencję:
- losuj liczbę,
- dodaj do tabeli,
- czekaj (dla stworzenia atmosfery napięcia).
- Liczby mogłyby się powtarzać, więc stosujemy "powtarzaj tak długo aż wylosujesz liczbę, której nie ma na liście" i dopiero wtedy dodajemy do listy.
- Taki program działałby prawidłowo tylko raz, gdyż liczby zapamiętane w pierwszym losowaniu pozostają na liście. W związku z tym po kliknięciu flagi powinniśmy wyczyścić listę (usunąć wszystko).
- Można początkowo ukryć pustą listę i pokazać ją dopiero gdy zaczną pojawiać się wyniki.
Uwaga. Przed pętlą powtarzającą n-razy, należy wylosować liczbę na określonych zasadach, gdyż pominięcie tego bloku może spowodować dodanie liczby spoza zakresu (gdy wcześniej zakres był większy).
Jeśli uczniowie są gotowi mogą przejść do budowy bardziej zaawansowanej maszyny losującej. (patrz scenariusz Maszynka losująca (wersja B).