Wstęp
Scenariusz porusza głównie podstawowe zagadnienia i może być realizowany również w klasach VII-VIII szkoły podstawowej. Głównym celem zajęć jest zachęcenie uczestnika do samodzielnego myślenia, analizowania problemu i tworzenia programu.
Prowadzący przedstawia założenia programu:
- roboty będą się poruszały w linii prostej za sobą i unikały przeszkód oraz siebie wzajemnie,
- wszystkie wartości w programie muszą być zastąpione zmiennymi, aby można było dokonywać dynamicznego ustawiania parametrów, takich jak prędkość, odległości itd.
- łączną odległość oraz odległości pokonane w przód i w tył przez każdego z robotów zostaną zapisane w programie przy wykorzystaniu list.
Zadanie 1. Poruszanie się robotów
- Rozpoczynamy od analizy pierwszego z problemów - zachowania dystansu między przeszkodami. Wspólnie zastanawiamy się, jakie zdarzenia mogą mieć miejsce podczas działania zaproponowanego programu. Wysłuchujemy każdego pomysłu i rozważamy wspólnie jego plusy i minusy.
- Metoda zastosowana na potrzeby scenariusza przewiduje zachowanie minimalnej odległości, której przekroczenie powoduje cofnięcie się robota oraz maksymalnej odległości między robotem a przeszkodą. Możemy na początek sprawdzić, jakie wartości zwraca czujnik odległości. Jako, że działa on na zasadzie pomiaru czasu między wysłaniem sygnału, a jego powrotem po odbiciu od przeszkody, mogą wchodzić w grę lekkie wahania między pomiarami. Aby wyelminować ewentualną kolizje pomiędzy robotami, wprowadzony został przedział odległości, w którym to robot stoi nieruchomo. Wszystkie z pól zostały zastąpione zmiennymi, by w łatwy sposób wprowadzać zmiany w programie i testować jakie odległości lub prędkość robota pozwalają na najbardziej płynne działanie.
Przykładowe rozwiązanie:
Zadanie 2. Pomiar przebytej odległości
- Kolejne zadanie to dołączenie do stworzonego już programu, umożliwiającego "synchroniczne" unikanie przeszkód, skryptu pomiaru przebytej odległości przez każdego robota. Odległości te będą inne w zależności od dystansów początkowych, częstotliwości pomiarów itd. Analogicznie jak w zadaniu 1 prowadzimy burzę mózgów, która ma na celu wyłonienie kilku koncepcji rozwiązania zadania. Możemy zapisywać każdą wartość w zmiennych, lecz znacznie lepszym rozwiązaniem będzie wprowadzenie list.
- Przykładowe rozwiązanie:
Do obliczenia przebytej odległości wykorzystujemy bloczek wyjściowy "Przejechany dystans", który może być resetowany w dowolnym momencie. Wartość dystansu całkowitego jest przypisywana do odpowiedniej listy i resetowana w każdym z bloków instrukcji warunkowej. Odległość całkowita to suma odległości przebytej w przód i tył.
Testujemy
Testowanie to jeden z najważniejszych elementów. Powinno przebiegać na każdym etapie po wprowadzeniiu do skryptu zmian, tak, aby na bieżąco wykluczać pojawiające się błędy i problemy. Warto najpierw przetestować program z tylko jednym robotem i sprawdzić czy działa on poprawnie.
Podsumowanie
Jak widać, roboty mogą oddziaływać między sobą i reagować na siebie wzajemnie - wystarczy tylko odpowiednio przemyśleć skrypt i interpretować błędy oraz zdarzenia, które mają miejsce w trakcie jego testowania.