Akwarium: Różnice pomiędzy wersjami

Z Wiki Mistrzowie Kodowania
Skocz do: nawigacji, wyszukiwania
(Utworzono nową stronę "==Informacje== ===Cel=== Celem projektu jest pokazanie prostego programu symulującego zachowanie rybek w akwarium napisanego w środowisku Scratch. '''Uwaga:''' nie je...")
 
Linia 22: Linia 22:
 
* jak się wrzuci pokarm - płyną w jego stronę.  
 
* jak się wrzuci pokarm - płyną w jego stronę.  
  
====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.
+
'''''Wskazówka''' Można w tym miejscu powiedzieć, że zawsze warto zapisać, co chcemy osiągnąć. W prostym programie wystarczy zapisać punkty, co chcemy oprogramować by o niczym nie zapomnieć. Dla bardziej skomplikowanego - nie tylko co program ma robić, ale także w jaki sposób. Szczegółowy zapis, jak program ma działać, to algorytm.''
  
====Tworzymy maszynę losującą zestaw kilku liczb z określonego zakresu====
 
Skrypt zawiera pola dialogowe z bloków [[Plik:Blok wyglad.png]] i [[Plik:Blok wyrazenia.png]] oraz element losowania z bloku [[Plik:Blok czujniki.png]].
 
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ę.
 
  
[[Plik:Maszynka losujaca skrypt 46.png]]
+
====Poznajemy(środowisko(7(dodajemy(tło(i(duszki(w(postaci(rybek(====
  
==="Lotto"===
+
Wyjaśniamy, jak zmienić t ło oraz jak dodać duszki, którymi będziemy sterować. Dodajemy tło odpowiednie dla akwarium, oraz trzy rybki i rekina z biblioteki gotowych postaci. Następnie usuwamy domyślnego duszka kota.  
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).
+
'''''Wskazówka''' Pracę możemy także zacząć od przygotowanej sceny i duszków, tak by pokazać najważniejsze - jak tworzyć skrypty, szczególnie, jeśli mamy do czynienia z uczestnikami potrafiącymi już to zrobić, a więc znającymi nieco środowisko Scratch''
  
'''Uwaga'''. Warto w program wbudować zabezpieczenie przed użytkownikami stawiającymi przed programem niemożliwe do wykonanie zadania:
+
[[Plik:a02.jpg]]
* wylosowania 3 unikalnych liczb spośród 2 (zabezpieczenie to sprawdzenie czy liczba liczb do wylosowania jest mniejsza lub równa od liczby elementów z których losujemy) - w przeciwnym razie program zapętli się i nigdy nie skończy
+
* wprowadzenia zamiast liczby elementów tekstu lub liczb ujemnych (rozwiązanie to sprawdzenie, czy podana liczba jest większa o zera ORAZ czy [[Kontrola wejścia (Scratch)|wprowadzono liczbę]])
+
  
[[Plik:Lotto_1.png]]
+
[[Plik:a03.jpg]]
  
Jeśli uczniowie są gotowi mogą przejść do budowy bardziej zaawansowanej maszyny losującej. (patrz scenariusz [[Maszynka losująca (wersja B)]].
+
[[Plik:a04.jpg]]
 +
 
 +
[[Plik:a05.jpg]]
 +
 
 +
[[Plik:a06.jpg]]
 +
 
 +
[[Plik:a07.jpg]]
 +
 
 +
[[Plik:a08.jpg]]

Wersja z 20:53, 5 lis 2016

Informacje

Cel

Celem projektu jest pokazanie prostego programu symulującego zachowanie rybek w akwarium napisanego w środowisku Scratch.

Uwaga: nie jest istotne, w którym momencie zakończymy pracę nad projektem. Uczestnicy bardziej zainteresowani lub bieglejsi mogą zrobić więcej. Pozostali nieco mniej. Ważne, żeby pokazać zasadę posługiwania się środowiskiem oraz zainteresować samym programowaniem. Po zajęciach uczestnicy powinni między innymi potrafić sami odszukiwać niezbędne klocki - polecenia języka, by z nich budować swoje programy.

Uwagi do realizacji

w przypadku pracy z wieloma osobami jednocześnie, staramy się pokazywać na dużym ekranie/ tablicy co i dlaczego robimy, a uczestnicy wykonują pracę samodzielnie. Przy pracy indywidualnej z pojedynczymi osobami możemy wykorzystać dwa komputery znajdujące się obok siebie - na jednym pokazujemy, na drugim uczestnik wykonuje zadania. Wszystkie kroki najpierw omawiamy (co i jak trzeba zrobić). Następnie pozwalamy odszukać odpowiednie opcje / klocki, dyskutujemy gdzie je zamieścić i dopiero wszyscy to wykonują. Warto również pozwalać eksperymentować i dochodzić do w łasnych wniosków uczestnikom, a następnie omawiać je i ewentualnie korygować lub pokazywać prostsze rozwiązania. W tle należy przemycać ważne pojęcia dla nauki samego programowania, takie jak pętle czy instrukcje warunkowe.

Wprowadzenie

Pracę zaczynamy od wprowadzenia do środowiska Scretch - opowiadamy na czym polega tworzenie programu, o scenie na której będzie odtwarzany nasz program - np. gra komputerowa, o duszkach, czyli postaciach, którymi możemy sterować poprzez stworzenie dla nich odpowiedniego skryptu by reagowały np. na naciśnięcie klawisza czy myszkę komputera. Zwracamy uwagę na klocki podzielone na różne kategorie oraz obszar skryptów, do którego klocki można przeciągać, łącząc je w program. Zwracamy także uwagę na przyciski uruchamiające i zatrzymujące działanie programu.

A01.jpg

Następnie zadajemy pytanie, co się dzieje w akwarium, w którym pływa kilka rybek. Czekamy na odpowiedzi. Możemy je zanotować, a w razie potrzeby nakierować uczestnika (lub uczestników), w taki sposób, by wywiązała się krótka dyskusja i byśmy uzyskali odpowiedzi podobne do niżej zapisanych.

  • w środku pływają rybki, sprawiając wrażenie, że robią to dość chaotycznie i bezcelowo,
  • w akwarium często są jakieś roślinki,
  • jak się zapuka w szybkę - rybki uciekają lub poruszają się w stronę puknięcia (myślą, że jest pora karmienia), • czasem widać pęcherzyki powietrza,
  • jak się wrzuci pokarm - płyną w jego stronę.


Wskazówka Można w tym miejscu powiedzieć, że zawsze warto zapisać, co chcemy osiągnąć. W prostym programie wystarczy zapisać punkty, co chcemy oprogramować by o niczym nie zapomnieć. Dla bardziej skomplikowanego - nie tylko co program ma robić, ale także w jaki sposób. Szczegółowy zapis, jak program ma działać, to algorytm.


Poznajemy(środowisko(7(dodajemy(tło(i(duszki(w(postaci(rybek(

Wyjaśniamy, jak zmienić t ło oraz jak dodać duszki, którymi będziemy sterować. Dodajemy tło odpowiednie dla akwarium, oraz trzy rybki i rekina z biblioteki gotowych postaci. Następnie usuwamy domyślnego duszka kota.

Wskazówka Pracę możemy także zacząć od przygotowanej sceny i duszków, tak by pokazać najważniejsze - jak tworzyć skrypty, szczególnie, jeśli mamy do czynienia z uczestnikami potrafiącymi już to zrobić, a więc znającymi nieco środowisko Scratch

A02.jpg

A03.jpg

A04.jpg

A05.jpg

A06.jpg

A07.jpg

A08.jpg