Scenariusze zajęć

Spis scenariuszy

Przygotowujemy scenariusze zajęć ze SCRATCHa dla róznych grup wiekowych oraz rodzajów zajęć - zarówno do realizacji w ramach tradycyjnych zajęć lekcyjnych w szkole (45 minut) jak też na zajęciach pzoalekcyjnych (np. 90 minut) czy realizowanych w ramach tzw. 19. godziny.

Scenariusze zajęć są weryfikowane przez doświadczonych nauczycieli i sprawdzane na zajęciach z dziećmi.

Scenariusze zajęć będą dostępne po utworzeniu konta w serwisie i zaakceptowaniu warunków korzystania ze scemariuszy. Po zalogowaniu się będzie możliwe pobieranie scenariuszy w formacie pdf.

Scenariusze mogą być wykorzystywanie bezpłatnie na wszystkich zajęciach edukacyjnych, które nie wiążą się z opłatami wnoszonymi przez uczestników.

W przypadku zajęć odpłatnych niezbędne jest wniesienie opłaty licencyjnej. Wysokość opłaty jest uzależniona od ilości i formy prowadzenia zajęć.

Znajdź tekst w zdaniu

Problem polega na tym by znaleźć określony tekst w podanym ciągu znaków. Na przykład w tekście Ala ma kota, koteczka i psa szukamy tekstu kot. Szukany tekst często nazywa się wzorcem. Bez trudu zobaczymy że występuje on 2 razy:  Ala ma kota, koteczka i psa. Jak to zrobić w SCRATCHu?

Najprostszy algorytm polega na tym by sprawdzać kolejne podciągi wyrazów. Jeżeli są takie jak wzorzec to możemy zakończyć działanie programu. Na papierze teksty możemy porównać pisząc jeden pod drugim (myślniki oznaczają o ile znaków przesunęliśmy wzorzec):

Ala ma kota, koteczka i psa

kot

Ala ma kota, koteczka i psa

-kot

Ala ma kota, koteczka i psa

--kot

I w końcu:

Ala ma kota, koteczka i psa

-------kot

Jest to metoda prosta (nie najszybsza) ale skuteczna. Jeżeli wzorzec występuje w tekście to go znajdziemy.

Zanim zaczniemy wyszukiwanie wzorca należy stworzyć zmienne zawierające zdanie i wzorzec. SCRATCH pozwala na wybranie konkretnej (np. trzeciej) litery z zmiennej:

Tekst i wzorzec możemy wprowadzić korzystając z polecenia zapytaj. Tekst zapisujemy w zmiennej zdanie a wzorzec w zmiennej czy zawiera.

 Pierwszy znak z wzorca porównujemy z kolejnymi znakami tekstu. Zmienna pozycja pokazuje od którego miejsca sprawdzamy znaki. Powtarzamy tyle razy aż dojdziemy do ostatniej pozycji zmiennej zdanie.  

 

Dla każdej pozycji sprawdzamy czy kolejne znaki w tekście są takie same jak we wzorcu:

Potrzebujemy jeszcze zmiennych które będą zawierały informacje którą pozycje sprawdzamy i czy został znaleziony wzorzec.

Pełny projekt jest dostępny tutaj: http://scratch.mit.edu/projects/33568858

Co dalej:

  1. Nasz program znajduje pierwsze wystąpienie wzorca w tekście. Jak zrobić by wyszukiwał wszystkie?
  2. Jeżeli szukany tekst jest na końcu to nasze rozwiązanie może wymagać (ilość znaków w tekście – długość wzorca) * (długość wzorca) porównań. Jest to dużo, zwłaszcza gdy tekst i wzorzec są długie. Czy można znaleźć sposób by porównań było mniej?

Piotr Bała, skrypty przygotował Opisek (c) Fundacja Fork