Scenariusz lekcji 1 TEMAT LEKCJI: Dynamiczne struktury danych - kolejka 2 CELE: 2.1 Wiadomosci: Uczeń potrafi: wymienić podstawowe dynamiczne struktury danych (stos, kolejka, lista, graf, drzewo); opisać sposób dostępu do danych w kolejce; wymienić różnice w sposobie dostępu do danych w stosie i kolejce; podać przykłady zastosowania poznanych dynamicznych struktur danych; wymienić podstawowe metody klasy Queue służące do dodawania i odczytywania danych z kolejki; wymienić inne, niż wykorzystane na lekcji, dynamiczne struktury danych. 2.2 Umiejętności: Uczeń potrafi: rozróżniać podstawowe dynamiczne struktury danych; deklarować i inicjować zmienne klasy Queue; wprowadzać dane do kolejki za pomocą metody Enqueue; pobierać dane z kolejki za pomocą metod Dequeue i Peek; czyścić zawartość kolejki za pomocą metody Clear; odczytywać liczbę elementów w kolejce za pomocą właściwości Count; kopiować zawartość kolejki; stosować podstawowe metody klasy Queue (Enqueue, Dequeue, Clear, Peek) do wprowadzania, odczytywania i usuwania danych z kolejki w prostych aplikacjach; stosować stos i kolejkę do rozwiązywania poznanych problemów z algorytmiki, wykorzystując je zamiast tablic. Algorytmika i programowanie 1
3 METODY NAUCZANIA pogadanka; laboratoryjna z elementami wykładu i pokazu. 4 ŚRODKI DYDAKTYCZNE komputery z zainstalowanym MS VB.NET; zestawy zadań i scenariusze do nich, materiały dostępne w portalu www.programuj.edu.pl; e-podręcznik, rozdział 26: Dynamiczne struktury danych; materiały dostępne w portalu www.programuj.edu.pl. 5 UWARUNKOWANIA TECHNICZNE lokalna sieć komputerowa składająca się ze stanowisk uczniowskich, z zainstalowanym MS VB.NET i PowerPoint; projektor multimedialny. Algorytmika i programowanie 2
6 PRZEBIEG LEKCJI Etap Zadanie Przebieg realizacji Uwagi do realizacji Faza przygotowawcza Czynności organizacyjne (2 min) Przypomnienie wiadomości z poprzednich lekcji niezbędnych do realizacji bieżącego tematu (3 min) - powtórzenie wiadomości o stosie i innych dynamicznych strukturach danych. Przypomnienie dynamicznych struktur danych (5 min) - przypomnienie poznanych dynamicznych struktur danych; - podanie tematu lekcji i zainteresowanie nim uczniów. Faza realizacyjna Rozbudowa kalkulatora o moduł do zamiany liczby binarnej na dziesiętną z wykorzystaniem kolejki (10 min) Struktury dynamiczne porównanie kolejki i stosu (25 min*) - wyszukanie z uczniami w systemie pomocy opisu klasy kolejki (Queue) oraz podstawowych metod tej klasy; - modyfikacja kalkulatora wykorzystanie kolejki przy zamianie liczb binarnych na dziesiętne za pomocą schematu Kornera. - zaprojektowanie i napisanie modułu pamięci kroków wykonywanych w kalkulatorze za pomocą kolejki i stosu (pokazywanie wykonywanych działań od końca i od początku); - wykonanie i testowanie modułu. Zadanie5_26 E-podręcznik: strona 26.6 E-podręcznik: strona 26.7 Zadanie6_26 Zadanie7_26 E-podręcznik: strona 26.7 Algorytmika i programowanie 3
Obliczanie liczb pierwszych sito Eratostenesa (25 min*) - analiza poznanych algorytmów pod kątem wykorzystania kolejki jako struktury przechowywania danych przypomnienie algorytmu sita Eratostenesa; - omówienie implementacji kolejki w module kalkulatora do obliczania kolejnych liczb pierwszych i dodanie procedur obsługi do projektu; - wykonanie i testowanie modułu. Zadanie8_26 E-podręcznik: strona 26.6 Faza podsumowująca Czynności podsumowujące (5 min) - porównanie poznanych struktur oraz ich funkcjonalności; - podsumowanie lekcji; porównanie tablic i dynamicznych struktur (podobieństwa i różnice). 7 BIBLIOGRAFIA [1] Gantenbein H., Dunn G., Kalani A., Payne Ch., Thangarathinam T., MS Visual Basic.NET 2003 Księga eksperta, Helion, Gliwice 2006. [2] Kimmel P., Visual Basic.NET Księga eksperta, Helion, Gliwice 2003. [3] MacDonald M., MS Visual Basic.NET księga przykładów, MicrosoftPress, Warszawa 2004. [4] Mackenzie D., Shakery K., Visual Basic.NET dla każdego, Helion, Gliwice 2002. [5] Sysło M. M., Algorytmy, WSiP, Warszawa, 1997. [6] Wirth N., Algorytmy+struktury danych=programy, WNT, Warszawa 1999. 8 ZAŁĄCZNIKI 9 CZAS TRWANIA LEKCJI: 1 x 45 minut Algorytmika i programowanie 4
10 UWAGI * W trakcie lekcji można wybrać, czy uczniowie realizują kalkulator, czy sito Erastotenesa (ewentualnie podział grupy na dwie grypy realizujące inne tematy). Algorytmika i programowanie 5