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.
Poziom trudności
Poziom trudności dla klas 4-6 ✪✪✰✰
Poziom trudności dla gimnazjum ✪✰✰✰
Gotowy projekt
- 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.
1. 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.
- Tworzymy maszynę losującą zestaw kilku liczb z określonego zakresu - jak różne odmiany Lotto
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).