RsjuoZplHWhMw
Zdjęcie przedstawia nocne niebo z wirującymi gwiazdami.

Procedury z parametrem w Scratch

Źródło: InstaWalli, domena publiczna. https://www.pexels.com.

Rysujemy mniejsze i większe gwiazdy

Zadaniem ukrytego duszka będzie narysowanie kilku lub kilkunastu gwiazd losowo położonych na niebie.

R11rXyp55ZXHU
Gwiazda ośmioramienna.
Źródło: nn, licencja: CC BY 3.0.
Polecenie 1

W programie Scratch utwórz blok rysujący gwiazdę ośmioramienną o boku długości 30 kroków.

R1C9mmgqYMEjq
W jakiej kategorii znajduje się opcja umożliwiająca utworzenie nowego bloku? Zaznacz prawidłową odpowiedź.
Źródło: GroMar, licencja: CC BY 3.0.

Korzystając np. z bloku przesuń o …icckVlRpet_d429e144przesuń o … masz możliwość podania liczby kroków, o jaką chcesz przesunąć duszka. Podobnie utworzymy blok, który rysuje gwiazdę o podanej długości ramienia. Wykorzystamy do tego parametry. Tworząc nowy blok możesz dodać do niego parametry. Istnieje również opcja edycji istniejącego już bloku - w tym celu naciśnij prawym przyciskiem myszy blok i wybierz opcję Edycja. Zobacz na poniższym filmie, jak dodać parametr i jak go wykorzystać we własnym bloku.

RgsR5lc4YCvVI
Film prezentujący jak dodać parametr i jak wykorzystać go we własnym bloku.
Ćwiczenie 1

Popraw blok Gwiazda w swoim projekcie dodając parametr określający długość ramienia gwiazdy.

R14kNlbgikJIR
Ćwiczenie 1
Czy do wcześniej utworzonego bloku, można dodać parametr? Zaznacz prawidłową odpowiedź.
Źródło: GroMar, licencja: CC BY 3.0.
Ćwiczenie 2

Napisz skrypt uruchamiany po kliknięciu zielonej flagi rysujący 10 gwiazd o różnej długości ramienia w górnej części ekranu. Niech długość ramienia rysowanych gwiazd losuje się z określonego zakresu.

Rzmmd5DSbc15D
Ćwiczenie 2
W jakiej kategorii znajduje się blok umożliwiający losowanie wartości z podanego zakresu? Zaznacz prawidłową odpowiedź.
Źródło: GroMar, licencja: CC BY 3.0.
Wskazówka

Pamiętaj, że powinieneś zadbać, żeby gwiazdy mieściły się w górnej części ekranu. Dotychczasową, stałą długość ramienia możesz potraktować jako wartość maksymalną.

icckVlRpet_d429e144

Dotychczas nasz blok rysował gwiazdy ośmioramienne. Poprawimy go tak, aby była możliwość rysowania gwiazd o innej liczbie ramion. W tym celu dodamy do bloku drugi parametr liczbowy określający kąt zewnętrzny przy ramieniu gwiazdy.

Ćwiczenie 3
R1W45TYa65glT
Do bloku rysującego gwiazdy dodaj drugi parametr liczbowy określający kąt zewnętrzny przy ramieniu gwiazdy. Nazwij go: "kąt obrotu". Sprawdź działanie skryptu dla różnych miar kąta. Na podstawie testów uzupełnij zdania:

Z powyższego ćwiczenia można wywnioskować, że mamy do rozwiązania dwa problemy:

  • Nie każda wartość kąta daje poprawny rysunek gwiazdy.

  • W niektórych przypadkach dopiero kilkukrotnym wywołaniu skryptu z tym samym parametrem powstanie poprawna gwiazda.

Podana poniżej instrukcja pokaże ci obliczyć kąt zewnętrzny ramienia gwiazdy o nieparzystej liczbie ramion:

  1. Podziel 360 przez liczbę ramion gwiazdy, np. dla gwiazdy pięcioramiennej: 3605 = 72.

  2. Otrzymaną wartość podziel przez 2. Na przykład dla uzyskanej wcześniej wartości otrzymujemy: 722 = 36.

  3. Obliczony kąt reprezentuje kąt między ramionami gwiazdy. W każdym wierzchołku gwiazdy ten kąt będzie miał tę samą wartość. Teraz, musisz obliczyć, o ile duszek musi się obrócić po narysowaniu każdego ramienia, aby narysować następne. Jest to kąt zewnętrzny ramienia gwiazdy, który obliczamy odejmując nasz kąt od 180. Dla gwiazdy pięcioramiennej, otrzymamy: 180 - 36 = 144.

  4. W ten sposób otrzymaliśmy miarę kąta między ramionami w każdym z jej wierzchołków. Ostatnim krokiem jest odjęcie otrzymanego wyniku od 180, ponieważ jest to kąt o jaki duszek musi się obrócić rysując gwiazdę, np. dla gwiazdy pięcioramiennej: 180 - 36 = 144.

  5. W ten sposób otrzymaliśmy wartość kąta obrotu, która pozwoli nam narysować gwiazdę. W przypadku gwiazdy pięcioramiennej, duszek musi się obrócić o 144 stopni po narysowaniu każdego ramienia, aby narysować następne.

Należy jeszcze poprawić liczbę powtórzeń w pętli bloku gwiazda. Oczywiście liczba powtórzeń powinna być równa liczbie ramion gwiazdy. Zastanów się jak obliczyć liczbę ramion gwiazdy mając dany kąt obrotu duszka. Wykorzystaj do tego podaną wyżej instrukcję.

Bloki odpowiedzialne za zmienne znajdziesz w kategorii: Zmienne.

Ćwiczenie 4

Napisz wzór na podstawie którego można obliczyć liczbę ramion gwiazdy mając dany kąt zewnętrzny tej gwiazdy.  Wykorzystaj ten wzór poprawiając liczbę powtórzeń wewnątrz definicji bloku Gwiazda.

R1BQ2v8uqo1v8
Ćwiczenie 4
Czy utworzony przez ciebie blok może wymagać na wejściu więcej niż jedną daną wejściową? Zaznacz prawidłową odpowiedź.
Źródło: GroMar, licencja: CC BY 3.0.

Poniżej znajduje się pole tekstowe przeznaczone do zapisywania notatek. Możesz w nim zapisać wszystkie informacje, które uważasz za potrzebne.

RODPNT7o0mXlx
Pole tekstowe do zapisywania odpowiedzi i notatek.
Źródło: GroMar, licencja: CC BY 3.0.