Zakręt za zakrętem

Temat: Zakręt za zakrętem

  1. Co to jest rekurencja?
  2. Tworzenie skryptów rekurencyjnych;
  3. Budowanie nowych bloków wykorzystujących rekurencję;
  4.  Wykorzystywanie warunków zatrzymania rekurencji;
  5. Analizowanie budowy i działania skryptów rekurencyjnych.

Rysowanie gwiazd Przy rysowaniu wielokątów foremnych wykorzystywaliśmy blok powtórz … razy, który umożliwia wielokrotne powtarzanie tych samych poleceń. Jednak nie zawsze łatwo jest określić, ile razy powtórzyć polecenia. Gwiazdka przedstawiona na rysunku powstała wskutek wielokrotnego wykonania przez duszka bloków przesuń o 100 kroków i obróć (w prawo) o 156 stopni. Ile razy?

Gwiazda o kącie skrętu 156 stopni

  Najprostszy plan rysowania gwiazdy będzie wyglądał następująco:

Uruchomienie:

Co to jest rekurencja?

Sposób opisywania powtarzanych czynności nazywa się rekurencją.

Istnieje pewne ryzyko stosowania rekurencji: jeśli nie zostanie określony warunek zakończenia działania, to będzie ona działać w nieskończoność. Blok wielo nie ma określonego warunku zatrzymania i byłoby bardzo niedobrze, gdyby nie przycisk Zatrzymaj wszystko – czerwona kropka na pasku nad sceną. Należy jednak unikać takich konstrukcji. Jak zatrzymać rekurencję? Trzeba wstawić warunek zatrzymania. Niech duszek kończy rysowanie po naciśnięciu przycisku myszy. Do skryptu trzeba dopisać blok jeżeli. Jego sens jest następujący: jeśli zostanie naciśnięty przycisk spacji, to należy zatrzymać wykonywanie skryptu. Gdzie umieścić ten blok? 

Ćwiczenie: Narysujmy kilka gwiazd z różnymi kątami skrętu.

Jak zmienić rekurencję?

Tworzenie LABIRYNTU.

Co zrobić aby spowolnić działanie duszka? Na końcu, za blokiem czekaj, dodaj blok zmień rozmiar o 5. Jak teraz jest wykonywany skrypt? Jak powiększył się duszek?

 

ZADANIA

Zmodyfikuj blok labirynt tak, aby długość boku była niezmienna, a zmieniał się kąt skrętu duszka. Bok nie powinien być zbyt długi. Dla jakich wartości kątów procedura powinna kończyć rysowanie?
Zmodyfikuj blok labirynt, tak aby jego parametrami były: bok, kąt i skok. Po wywołaniu rekurencyjnym bok powinien zwiększać się o wielkość skoku. Jakie ryzyko towarzyszy takiemu rozwiązaniu?

 

Skip to content