Sumowanie: Różnice pomiędzy wersjami

Z Wiki Mistrzowie Kodowania
Skocz do: nawigacji, wyszukiwania
(instrukcje dla duszka)
 
(Nie pokazano 62 wersji utworzonych przez 6 użytkowników)
Linia 1: Linia 1:
Link do gry: http://scratch.mit.edu/projects/25439415/
+
[[Category:Scenariusze Scratch]] [[Category:Mistrzowie Kodowania]]
 +
'''Materiały stworzone przez Fundację Coder Dojo Polska w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska, objęte licencją CC BY 3.0 PL "Creative Commons Uznanie Autorstwa 3.0 Polska".'''
 +
 
 +
Link do gry: [http://scratch.mit.edu/projects/26090741/ Sumowanie]
 +
 
 
== Cel ==
 
== Cel ==
 
Stworzenie gry polegającej na obliczaniu przez gracza sumy liczb proponowanych przez duszka
 
Stworzenie gry polegającej na obliczaniu przez gracza sumy liczb proponowanych przez duszka
Linia 13: Linia 17:
 
'''Edukacja plastyczna'''  
 
'''Edukacja plastyczna'''  
  
* wypowiada się w wybranych technikach plastycznych na płaszczyźnie i w przestrzeni; posługuje się takimi środkami wyrazu plastycznego, jak: kształt, barwa, faktura;  
+
# wypowiada się w wybranych technikach plastycznych na płaszczyźnie i w przestrzeni; posługuje się takimi środkami wyrazu plastycznego, jak: kształt, barwa, faktura;  
  
 
'''Edukacja matematyczna'''
 
'''Edukacja matematyczna'''
..... czekam na punkty
+
# w zakresie liczenia i sprawności rachunkowych:
 +
#* sprawnie liczy obiekty (dostrzega regularności dziesiątkowego systemu liczenia) zakres do 20.
 +
#* wyznacza sumy (dodaje) i różnice (odejmuje), manipulując obiektami lub rachując na zbiorach zastępczych, np. na palcach; sprawnie dodaje i odejmuje w zakresie do 10, poprawnie zapisuje te działania,
  
 
'''Zajęcia komputerowe'''
 
'''Zajęcia komputerowe'''
Linia 24: Linia 30:
 
# wpisuje za pomocą klawiatury litery, cyfry i inne znaki, wyrazy i zdania,
 
# wpisuje za pomocą klawiatury litery, cyfry i inne znaki, wyrazy i zdania,
  
==Jak stworzyć ==
+
==Jak stworzyć? ==
 
<small>Czas na realizację tej części: ok 90 min</small>
 
<small>Czas na realizację tej części: ok 90 min</small>
  
 
=== wprowadzenie ===
 
=== wprowadzenie ===
 +
<small>Czas na realizację tej części: ok 15 min</small>
 +
 
Proponujemy uczniom stworzenie gry według scenariusza:
 
Proponujemy uczniom stworzenie gry według scenariusza:
# duszek - bohater prosi gracza o obliczenie sumy podanych przez niego liczb,
+
# duszek - bohater prosi gracza o obliczenie sumy losowo wybranych liczb,
# następnie poczeka na wpisane przez gracza odpowiedzi, sprawdzi ją i poinformuje nas o poprawnej lub błędnej odpowiedzi,.
+
# następnie poczeka na wpisane przez gracza odpowiedzi, sprawdzi ją i poinformuje o tym, czy odpowiedź jest dobra, czy też gracz popełnił błąd.
# dodamy w grze możliwość określania zakresu liczb do wyboru dla duszka.
+
# w przypadku poprawnej odpowiedzi naliczy graczowi punkt, w przypadku błędnej odpowiedzi punktu nie ma.
 +
# duszek - bohater zada np.: 10 pytań i na koniec zabawy poinformuje nas o ilości zdobytych punktów za poprawne odpowiedzi.
  
 
Ustalamy co jest nam potrzebne:
 
Ustalamy co jest nam potrzebne:
Linia 37: Linia 46:
 
# skrypty dla duszka pozwalające mu:
 
# skrypty dla duszka pozwalające mu:
 
#* wybierać liczby z wskazanego przez nas przedziału liczbowego,
 
#* wybierać liczby z wskazanego przez nas przedziału liczbowego,
#* sprawdzać podane przez nas wyniki
+
#* sprawdzać podane przez nas wyniki,
 +
#* pozwalający naliczać punkty za poprawne odpowiedzi,
 +
#* informujący o końcu gry i jej wyniku.
  
 
=== tworzenie duszka ===
 
=== tworzenie duszka ===
 +
<small>Czas na realizację tej części: ok 10 min</small>
 +
 
Nasza gra  posiadała tylko jednego duszka. Możemy umieścić go w ciekawej scenerii.
 
Nasza gra  posiadała tylko jednego duszka. Możemy umieścić go w ciekawej scenerii.
 
Sposoby tworzenia nowego duszka i sceny są dokładnie opisane w scenariuszu '''Cykl życia motyla'''.
 
Sposoby tworzenia nowego duszka i sceny są dokładnie opisane w scenariuszu '''Cykl życia motyla'''.
  
==== instrukcje dla duszka ====
+
=== instrukcje dla duszka ===
 +
<small>Czas na realizację tej części: ok 65 min</small>
  
Zaczniemy od stworzenia skryptu, którym duszek będzie nas witał i nada komunikat rozpoczęcia gry w celu uruchomienia mechanizmu losowania licz do dodawania.
+
Zaczniemy od stworzenia skryptu, w którym duszek będzie nas witał i zaproszał do gry.  
[[Plik:Sum1.png|duszek mówi do gracza i jednocześnie nadaje komunikat rozpoczęcia gry]]
+
  
Do nadawania komunikatów służy klocek
+
[[Plik:Sum5c.png]]
[[Plik:Sum1a.png|nadawanie nowego komunikatu]] z dostępnej w liście dla klocka wybieramy opcję ''nowy komunikat''.
+
  
Ten komunikat będzie kontrolował dalszy przebieg gry.
+
Widok na scenie:
Żeby mieć kontrolę nad liczbami wybieranymi do dodawania przez naszego duszka musimy teraz wprowadzić zmienne: '''PierwszaLiczba''' i '''DrugaLiczba''', które będą przechowywały wylosowane liczby. Zmienne te mogą być widziane tylko przez tego duszka.
+
Zmienną wprowadzamy w kategorii klocków '''dane''' poprzez wybranie opcji ''stwórz nową zmienną''. Musimy zaznaczyć odpowiednią opcję przypisania zmiennej o zatwierdzić przyciskiem OK.
+
  
[[Plik:mm1c.png]]
+
[[Plik:Sum5d.png|300px|]]
  
Każdą zmienną wprowadzamy oddzielnie.
+
==== wprowadzenie zmiennych ====
  
Teraz ustawiamy zakresy losowania naszych zmiennych:
+
W pierwszej kolejności zaprogramujemy wybieranie przez duszka liczb w określonym zakresie. W tym celu musimy najpierw wprowadzić zmienne: '''Liczba a''' i '''Liczba b''', które będą przechowywały wylosowane liczby. Zmienne możemy wytłumaczyć uczniom na zasadzie komody z szufladami. Zmienna '''Liczba a''' - to pierwsza z szuflad, '''Liczba b''' - to druga szuflada. Do każdej szuflady wrzucamy kartoniki z liczbami w ustalonym zakresie np. od 1 do 10. Duszek będzie losował po jednej liczbie z każdej szuflady. Wysuwa szufladę pierwszą '''Liczba a''' i wyciąga kartonik z liczbą, to samo powtarza w przypadku szuflady nazwanej '''Liczba b'''. Po wykonaniu tych czynności duszek prosi nas o podanie sumy wylosowanych na kartonikach liczb.
 +
 
 +
Zmienną wprowadzamy w kategorii klocków '''dane''' poprzez wybranie opcji ''stwórz nową zmienną''. Musimy zaznaczyć odpowiednią opcję przypisania zmiennej i zatwierdzić przyciskiem OK.
 +
 
 +
[[Plik:okn1a.png]]
 +
 
 +
'''Uwaga!:''' Każdą zmienną wprowadzamy oddzielnie. Zmienne te mogą być widziane tylko przez tego duszka, więc odhaczamy zaznaczenia przy nazwach po ich utworzeniu.
 +
 
 +
 
 +
Teraz ustawiamy zakresy losowania naszych zmiennych. Wykorzystamy do tego blok
 +
[[Plik:Los1.png|losuje w danym zakresie]].
 +
Jeśli suma dwóch liczb ma mieścić się w zakresie 20, to każda z tych liczb musi być wybrana z przedziału od 1 do 10, zatem:
  
 
[[Plik:Sum2.png|dopisanie zmiennym ich zakresów losowania]]
 
[[Plik:Sum2.png|dopisanie zmiennym ich zakresów losowania]]
  
Następnie tworzymy skrypty odpowiadające za zadawanie pytań i sprawdzanie odpowiedzi. Musimy połączyć w nich tekst, losowane przez program liczby i wyrażenie matematyczne: dodawanie. Użyjemy nowego klocka z kategorii wyrażenia:
+
==== pytanie i badanie odpowiedzi ====
[[Plik:Sum2a.png|pozwala tworzyć wyrażenie z użyciem zmiennych]], dzięki któremu program będzie mógł w wyświetlanym tekście wstawiać losowo wybrane przez siebie liczby:
+
  
[[Plik:Sum2b|zadaje pytanie i czeka na odpowiedź]]
+
Następnie tworzymy skrypty odpowiadające za zadawanie pytania i sprawdzanie odpowiedzi. Musimy połączyć w nich wyświetlany tekst, losowane przez program liczby i wyrażenie arytmetyczne- ''dodawanie''. Użyjemy nowego klocka z kategorii wyrażenia:
 +
[[Plik:Sum2a.png|pozwala tworzyć wyrażenie z użyciem zmiennych]]. Dzięki niemu program będzie mógł w wyświetlanym tekście wstawiać losowo wybrane przez siebie liczby:
 +
 
 +
[[Plik:Sum2b.png|zadaje pytanie i czeka na odpowiedź]]
 
   
 
   
 +
Teraz zajmijmy się sprawdzaniem odpowiedzi podanej przez gracza. Program musi obliczyć wyrażenie matematyczne i porównać jego wynik z odpowiedzią wpisaną przez gracza. Następnie stwierdzić czy on jest poprawny czy błędny. Do porównania obliczeń programu i gracza użyjemy klocków z kategorii '''wyrażenia''': [[Plik:Sum2c.png]] i
 +
[[Plik:Sum2c1.png]] umożliwiających programowanie działań matematycznych oraz klocka '''kontroli'''
 +
[[Plik:Sum4c.png|badanie możliwych odpowiedzi]]- pozwalającego zbadać dwa przypadki odpowiedzi. Użycie ich w skrypcie, w przypadku naszego duszka, będzie następujące:
  
[[Plik:mm1a.png]]
+
[[Plik:Sum3.png|porównywanie wyników]]
  
 +
Dołączamy reakcję duszka na możliwe odpowiedzi. Jeśli odpowiedź jest poprawna to np.: duszek powie '''super!''', w przypadku błędnej np.: zaproponuje przejście do kolejnego działania, może również zakomunikować błąd jakimś dźwiękiem:
  
Teraz nasz skrypt działa na sztywno zakres obliczeń wynosi od 1 do 20.  
+
[[Plik:Sum4.png|odpowiedzi pojawiające się po sprawdzeniu wyniku działania]]
  
Teraz zrobimy żeby można było z trakcie gry zwiększać trudność.
+
'''Wskazówka:''' W powyższych odpowiedziach możemy zaprezentować graczowi całość rozwiązania np.: '''Super! 8+4=12'''. Wiąże się to jednak z wielokrotnym łączeniem klocków [[Plik:Sum2a.png]].  
Zaczniemy od stworzenia zmiennej.
+
  
[[Plik:mm1d.png]]
+
==== odgraniczenie ilości pytań w grze ====
 +
 
 +
Jeżeli przyjmiemy, że w grze będzie ograniczona ilość pytań, np.: 10, to wszystkie omawiane skrypty powinniśmy umieścić w bloku 
 +
[[Plik:Sum4e.png|powtarzanie skryptów]]. Skrypt będzie wyglądał następująco:
 +
 
 +
[[Plik:Sum5a.png]]
 +
 
 +
==== naliczanie punktów ====
 +
Do gry możemy wprowadzić licznik punktowania poprawnych odpowiedzi. W tym celu musimy utworzyć nową zmienną '''punkty''' - czyli kolejną szufladę, z której duszek będzie wyjmował punkty za poprawną odpowiedź. Postępujemy analogicznie jak w przypadku tworzenia zmiennych '''Liczba a''' i '''Liczba b'''. Z tą różnicą, że zmienną punkty zostawiamy widoczną na scenie (nie odhaczamy zaznaczenia przy nowo powstałej zmiennej).
 +
 
 +
[[Plik:Okn1b.png]]
 +
 
 +
Żeby punkty przy każdorazowym uruchomieniu gry naliczały się od początku - po uruchomieniu gry muszą się zerować, blok
 +
[[Plik:Sum6.png|zeruje licznik punktów]]. Aby po każdorazowej poprawnej odpowiedzi naliczały się - muszą zwiększać się o 1, blok
 +
[[Plik:Sum6a.png|zwiększa licznik punktów o 1]]. Wykorzystując te klocki można dokonać następującej modyfikacji:
 +
 
 +
[[Plik:Sum5b.png|naliczanie punktów w grze]]
 +
 
 +
Po skończonej rundzie dziesięciu pytań nasz duszek - bohater może poinformować o końcu gry oraz ilości zdobytych punktów. Następnie zakończyć działanie gry. Kolejny raz pomocny będzie blok [[Plik:Sum2a.png]] umożliwiający połączenie wyświetlanego tekstu ze zmienną '''punkty''':
 +
 
 +
[[Plik:Sum6b.png|wyświetla tekst i zapamiętaną wartość zmiennej]]
 +
 +
Cały skrypt duszka  wygląda następująco:
 +
 +
[[Plik:Sum6c.png|cały skrypt duszka]] [[Plik:Sum6d.png|right|przykładowy urywek skryptu na scenie]]
  
Teraz możemy ustawić przedział.
+
== Co dalej? ==
  
[[Plik:mm1e.png]]
+
Podstawową grę można zmodyfikować poprzez:
[[Plik:mm1f.png]]
+
* animację postaci duszka,
 +
* dodanie zmiennej umożliwiającej graczowi określanie zakresu trudności gry (czyli zwiększania lub zmniejszania zakresu liczb do wyboru)
 +
* dodanie zmiennej umożliwiającej graczowi wybór ilości pytań w grze,
 +
* wyświetlanie w odpowiedziach duszka całego działania z poprawnym wynikiem,
 +
* zmianę gry na wersję nieskończonej ilości pytań.
  
[[Plik:Mm1p.png]]
+
Grę sumowanie można zmienić na grę mnożenie dokonując niewielkiej modyfikacji skryptów.
  
To jest cały kod kota.
+
http://scratch.mit.edu/projects/25978003/#editor
[[Plik:mm1.png]]
+

Aktualna wersja na dzień 12:10, 7 lis 2014

Materiały stworzone przez Fundację Coder Dojo Polska w ramach Programu „Mistrzowie Kodowania” finansowanego przez Samsung Electronics Polska, objęte licencją CC BY 3.0 PL "Creative Commons Uznanie Autorstwa 3.0 Polska".

Link do gry: Sumowanie

Cel

Stworzenie gry polegającej na obliczaniu przez gracza sumy liczb proponowanych przez duszka

Zgodność z Podstawą Programową

Edukacja polonistyczna

  1. w zakresie umiejętności społecznych warunkujących porozumiewanie się i kulturę języka:
    • obdarza uwagą dzieci i dorosłych, słucha ich wypowiedzi i chce zrozumieć, co przekazują;
  2. w zakresie umiejętności czytania i pisania:
    • rozumie sens kodowania oraz dekodowania informacji;

odczytuje uproszczone rysunki, piktogramy, znaki informacyjne i napisy,

Edukacja plastyczna

  1. wypowiada się w wybranych technikach plastycznych na płaszczyźnie i w przestrzeni; posługuje się takimi środkami wyrazu plastycznego, jak: kształt, barwa, faktura;

Edukacja matematyczna

  1. w zakresie liczenia i sprawności rachunkowych:
    • sprawnie liczy obiekty (dostrzega regularności dziesiątkowego systemu liczenia) zakres do 20.
    • wyznacza sumy (dodaje) i różnice (odejmuje), manipulując obiektami lub rachując na zbiorach zastępczych, np. na palcach; sprawnie dodaje i odejmuje w zakresie do 10, poprawnie zapisuje te działania,

Zajęcia komputerowe

  1. posługuje się komputerem w podstawowym zakresie: uruchamia program, korzystając z myszy i klawiatury;
  2. stosuje się do ograniczeń dotyczących korzystania z komputera.
  3. wpisuje za pomocą klawiatury litery, cyfry i inne znaki, wyrazy i zdania,

Jak stworzyć?

Czas na realizację tej części: ok 90 min

wprowadzenie

Czas na realizację tej części: ok 15 min

Proponujemy uczniom stworzenie gry według scenariusza:

  1. duszek - bohater prosi gracza o obliczenie sumy losowo wybranych liczb,
  2. następnie poczeka na wpisane przez gracza odpowiedzi, sprawdzi ją i poinformuje o tym, czy odpowiedź jest dobra, czy też gracz popełnił błąd.
  3. w przypadku poprawnej odpowiedzi naliczy graczowi punkt, w przypadku błędnej odpowiedzi punktu nie ma.
  4. duszek - bohater zada np.: 10 pytań i na koniec zabawy poinformuje nas o ilości zdobytych punktów za poprawne odpowiedzi.

Ustalamy co jest nam potrzebne:

  1. duszek bohater i ewentualne tło sceny
  2. skrypty dla duszka pozwalające mu:
    • wybierać liczby z wskazanego przez nas przedziału liczbowego,
    • sprawdzać podane przez nas wyniki,
    • pozwalający naliczać punkty za poprawne odpowiedzi,
    • informujący o końcu gry i jej wyniku.

tworzenie duszka

Czas na realizację tej części: ok 10 min

Nasza gra posiadała tylko jednego duszka. Możemy umieścić go w ciekawej scenerii. Sposoby tworzenia nowego duszka i sceny są dokładnie opisane w scenariuszu Cykl życia motyla.

instrukcje dla duszka

Czas na realizację tej części: ok 65 min

Zaczniemy od stworzenia skryptu, w którym duszek będzie nas witał i zaproszał do gry.

Sum5c.png

Widok na scenie:

Sum5d.png

wprowadzenie zmiennych

W pierwszej kolejności zaprogramujemy wybieranie przez duszka liczb w określonym zakresie. W tym celu musimy najpierw wprowadzić zmienne: Liczba a i Liczba b, które będą przechowywały wylosowane liczby. Zmienne możemy wytłumaczyć uczniom na zasadzie komody z szufladami. Zmienna Liczba a - to pierwsza z szuflad, Liczba b - to druga szuflada. Do każdej szuflady wrzucamy kartoniki z liczbami w ustalonym zakresie np. od 1 do 10. Duszek będzie losował po jednej liczbie z każdej szuflady. Wysuwa szufladę pierwszą Liczba a i wyciąga kartonik z liczbą, to samo powtarza w przypadku szuflady nazwanej Liczba b. Po wykonaniu tych czynności duszek prosi nas o podanie sumy wylosowanych na kartonikach liczb.

Zmienną wprowadzamy w kategorii klocków dane poprzez wybranie opcji stwórz nową zmienną. Musimy zaznaczyć odpowiednią opcję przypisania zmiennej i zatwierdzić przyciskiem OK.

Okn1a.png

Uwaga!: Każdą zmienną wprowadzamy oddzielnie. Zmienne te mogą być widziane tylko przez tego duszka, więc odhaczamy zaznaczenia przy nazwach po ich utworzeniu.


Teraz ustawiamy zakresy losowania naszych zmiennych. Wykorzystamy do tego blok losuje w danym zakresie. Jeśli suma dwóch liczb ma mieścić się w zakresie 20, to każda z tych liczb musi być wybrana z przedziału od 1 do 10, zatem:

dopisanie zmiennym ich zakresów losowania

pytanie i badanie odpowiedzi

Następnie tworzymy skrypty odpowiadające za zadawanie pytania i sprawdzanie odpowiedzi. Musimy połączyć w nich wyświetlany tekst, losowane przez program liczby i wyrażenie arytmetyczne- dodawanie. Użyjemy nowego klocka z kategorii wyrażenia: pozwala tworzyć wyrażenie z użyciem zmiennych. Dzięki niemu program będzie mógł w wyświetlanym tekście wstawiać losowo wybrane przez siebie liczby:

zadaje pytanie i czeka na odpowiedź

Teraz zajmijmy się sprawdzaniem odpowiedzi podanej przez gracza. Program musi obliczyć wyrażenie matematyczne i porównać jego wynik z odpowiedzią wpisaną przez gracza. Następnie stwierdzić czy on jest poprawny czy błędny. Do porównania obliczeń programu i gracza użyjemy klocków z kategorii wyrażenia: Sum2c.png i Sum2c1.png umożliwiających programowanie działań matematycznych oraz klocka kontroli badanie możliwych odpowiedzi- pozwalającego zbadać dwa przypadki odpowiedzi. Użycie ich w skrypcie, w przypadku naszego duszka, będzie następujące:

porównywanie wyników

Dołączamy reakcję duszka na możliwe odpowiedzi. Jeśli odpowiedź jest poprawna to np.: duszek powie super!, w przypadku błędnej np.: zaproponuje przejście do kolejnego działania, może również zakomunikować błąd jakimś dźwiękiem:

odpowiedzi pojawiające się po sprawdzeniu wyniku działania

Wskazówka: W powyższych odpowiedziach możemy zaprezentować graczowi całość rozwiązania np.: Super! 8+4=12. Wiąże się to jednak z wielokrotnym łączeniem klocków Sum2a.png.

odgraniczenie ilości pytań w grze

Jeżeli przyjmiemy, że w grze będzie ograniczona ilość pytań, np.: 10, to wszystkie omawiane skrypty powinniśmy umieścić w bloku powtarzanie skryptów. Skrypt będzie wyglądał następująco:

Sum5a.png

naliczanie punktów

Do gry możemy wprowadzić licznik punktowania poprawnych odpowiedzi. W tym celu musimy utworzyć nową zmienną punkty - czyli kolejną szufladę, z której duszek będzie wyjmował punkty za poprawną odpowiedź. Postępujemy analogicznie jak w przypadku tworzenia zmiennych Liczba a i Liczba b. Z tą różnicą, że zmienną punkty zostawiamy widoczną na scenie (nie odhaczamy zaznaczenia przy nowo powstałej zmiennej).

Okn1b.png

Żeby punkty przy każdorazowym uruchomieniu gry naliczały się od początku - po uruchomieniu gry muszą się zerować, blok zeruje licznik punktów. Aby po każdorazowej poprawnej odpowiedzi naliczały się - muszą zwiększać się o 1, blok zwiększa licznik punktów o 1. Wykorzystując te klocki można dokonać następującej modyfikacji:

naliczanie punktów w grze

Po skończonej rundzie dziesięciu pytań nasz duszek - bohater może poinformować o końcu gry oraz ilości zdobytych punktów. Następnie zakończyć działanie gry. Kolejny raz pomocny będzie blok Sum2a.png umożliwiający połączenie wyświetlanego tekstu ze zmienną punkty:

wyświetla tekst i zapamiętaną wartość zmiennej

Cały skrypt duszka wygląda następująco:

cały skrypt duszka
przykładowy urywek skryptu na scenie

Co dalej?

Podstawową grę można zmodyfikować poprzez:

  • animację postaci duszka,
  • dodanie zmiennej umożliwiającej graczowi określanie zakresu trudności gry (czyli zwiększania lub zmniejszania zakresu liczb do wyboru)
  • dodanie zmiennej umożliwiającej graczowi wybór ilości pytań w grze,
  • wyświetlanie w odpowiedziach duszka całego działania z poprawnym wynikiem,
  • zmianę gry na wersję nieskończonej ilości pytań.

Grę sumowanie można zmienić na grę mnożenie dokonując niewielkiej modyfikacji skryptów.

http://scratch.mit.edu/projects/25978003/#editor