Joanna Osio asiaosio@poczta.onet.pl Nauczycielka matematyki w Gimnazjum im. Macieja Rataja w Żmigrodzie KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.) Temat: Sortowanie zbioru Przygotowanie uczniów: podstawy obsługi komputera znajomość programu ELI 2.0 MULTI PLUS Uczniowie znają pojęcia: algorytm; problem, dane, wynik, specyfikacja; dobra określoność, uniwersalność algorytmu; lista kroków; schemat blokowy; złożoność algorytmu. Zagadnienie: Algorytmika i rozwiązywanie problemów Narzędzia TI: Program ELI 2.0 MULTI PLUS Miejsce: Pracownia komputerowa Odniesienie do podstawy programowej: ZADANIA OGÓLNE SZKOŁY efektywne współdziałanie w zespole i praca w grupie, rozwiązywanie problemów w twórczy sposób skuteczne porozumiewanie się w różnych sytuacjach, prezentacja własnego punktu widzenia i branie pod uwagę poglądów innych ludzi rozwijanie sprawności umysłowych oraz osobistych zainteresowań MATEMATYKA zbieranie, porządkowanie i przedstawianie danych (tam gdzie to możliwe z użyciem technologii informacji) INFORMATYKA posługiwanie się sprzętem i korzystanie z usług systemu operacyjnego
rozwiązywanie problemów w postaci algorytmicznej; algorytmy wokół nas, przykłady algorytmów rozwiązywania problemów szkolnych; zapisywanie algorytmów w postaci procedur, które może wykonać komputer CELE ZAJĘĆ: WIADOMOŚCI uczeń zna pojęcia: algorytmu bąbelkowego porządkowania przez wybór UMIEJĘTNOŚCI uczeń potrafi: posortować zbiór zapisać algorytm bąbelkowy oraz algorytm porządkowania przez wybór w postaci listy kroków zapisać oba algorytmy w postaci schematu blokowego w programie ELI WSTĘP: Sortowanie (porządkowanie) ma ogromne znaczenie w wielu sferach działalności człowieka, ponieważ wykonywanie wielu operacji na zbiorze staje się łatwiejsze, gdy jest on uporządkowany. Również komputery zawdzięczają swoją szybkość temu, że działają na uporządkowanych danych. Chodzi tu o operacje: sprawdzenia, czy element spełniający dane warunki jest w zbiorze; znalezienia elementu w zbiorze; wstawienia nowego elementu w odpowiednie miejsce, aby zbiór pozostał uporządkowany. Dlatego wybrałam problem sortowania jako temat konspektu zajęć na koło informatyczne. OPIS I SPECYFIKACJA ZADANIA: Dane: Liczba naturalna n i zbiór liczb rzeczywistych { x 1,x 2,...,x n } takich, że x k x m dla 1 k n, 1 m n. Wynik: Uporządkowanie tego zbioru rosnąco. PRZEBIEG ZAJĘĆ: Lekcja 1: Czynności nauczyciela Czynności uczniów Uwagi 1. Czynności wstępne powitanie, sprawdzenie obecności, określenie celu zajęć i podanie tematu. [3min] 1. Zajmują miejsca i zapisują temat zajęć.
2.Sformułowanie zadania: Dany jest zbiór A={-16, 0, 8, - 17,4}.Uporządkuj ten zbiór rosnąco. [2min] 3.Nauczyciel zadaje pytanie o sposób postępowania prowadzący do rozwiązania zadania. [3min] 2. Wykonują zadanie. 3.Opisują sposób rozwiązania zadania. Przypuszczalnie będzie to słowny opis porządkowania przez wybór. 4.Podział uczniów na grupy i polecenie zapisania podanego algorytmu w postaci listy kroków. 4.Pracują w grupach. 5.Nauczyciel prosi jedną z grup o przedstawienie rozwiązania (po uprzednim sprawdzeniu jego poprawności). [8min] 5.Przedstawiciel grupy prezentuje rozwiązanie na tablicy. Dyskusja nad poprawnością i uniwersalnością algorytmu. Rozwiązanie w załączniku A 6.Nauczyciel zadaje pytanie o liczbę operacji jaką należy wykonać przy realizacji algorytmu. [ 4min] 7.Polecenie zapisania algorytmu w postaci schematu blokowego w programie ELI (praca w grupach). Nauczyciel nadzoruje pracę. [15min] 6.Wspólna dyskusja prowadząca do ustalenia liczby iteracji n-1 oraz liczby porównań (n-1)+(n 2)+...+2+1 7.Włączają komputery, uruchamiają program ELI. Tworzą schemat blokowy. Testują program na typowych i specyficznych danych. 8. Podsumowuje zajęcia. 8. Wspólnie z nauczycielem omawiają algorytm porządkowania przez wybór.
Lekcja 2: Czynności nauczyciela Czynności uczniów Uwagi 1. Czynności wstępne powitanie, sprawdzenie obecności, określenie celu zajęć i podanie tematu. [3min] 2.Przypomnienie problemu z poprzedniej lekcji. Pytanie o sposób rozwiązania. [2min] 1. Zajmują miejsca, zapisują temat lekcji i włączają komputery. 2.Opisują w skrócie sposób rozwiązania problemu porządkowania zbioru. 3.Nauczyciel zadaje pytanie czy jest to jedyna metoda rozwiązania tego problemu. 3.Uczniowie mają czas na zastanowienie się i wspólną dyskusję. 4.Nauczyciel prosi o przedstawienie rozwiązań te osoby, które znalazły inne metody niż ta z poprzedniej lekcji. 5.Nauczyciel dzieli uczniów na grupy i przedstawia zadanie do wykonania: Zapisz w postaci listy kroków algorytm bąbelkowy porządkowania zbioru. 6.Nauczyciel prosi jednego z uczniów o prezentację algorytmu na tablicy. 4.Wspólna dyskusja. 5.Praca w grupach pod nadzorem nauczyciela. 6.Wspólna dyskusja na temat przedstawionego rozwiązania oraz jego poprawności i uniwersalności. Oczekuję, że uczniowie podadzą metodę prowadzącą do algorytmu bąbelkowego. Jeżeli nie nauczyciel przedstawi tę metodę uczniom. Przed przystąpieniem uczniów do pracy nauczyciel wyjaśnia nazwę algorytm bąbelkowy. Rozwiązanie w załączniku B. 7. Wywołanie dyskusji na temat złożoności algorytmu. [3min] 7.Wspólna dyskusja prowadząca do ustalenia maksymalnej liczby porównań równej (n-1)+ (n-2)+...+2+1
8.Polecenie uruchomienia programu ELI i zapisania algorytmu w postaci schematu blokowego (praca w grupach). Nauczyciel nadzoruje pracę. [15min] 9. Podsumowanie zajęć. [2min] 8.Włączają komputery, uruchamiają program ELI. Tworzą schemat blokowy. Testują program na typowych i specyficznych danych. 9. Wspólnie z nauczycielem omawiają algorytm bąbelkowy oraz porównują złożoność tego algorytmu i algorytmu porządkowania przez wybór. Dyskusja prowadzi do wniosku,że mimo iż oba algorytmy mogą być jednakowo złożone, jednak w przypadku algorytmu bąbelkowego liczba operacji może być mniejsza od maksymalnej. Zależy to od początkowego ustawienia liczb. Zadanie domowe: Przygotuj informacje na temat porządkowania kubełkowego.
ZAŁĄCZNIK A Algorytm porządkowania przez wybór Dane: Liczba naturalna n i zbiór liczb {x 1, x 2,..., x n }. Wynik: Uporządkowanie elementów tego zbioru rosnąco. Krok 1. Dla i = 1, 2,..., n 1 wykonaj kroki 2 i 3. Krok 2. Znajdź k takie, że x k jest najmniejszym elementem w podzbiorze {x i,..., x n }. Krok 3. Zamień miejscami elementy x i oraz x k.
ZAŁĄCZNIK B Algorytm bąbelkowy porządkowania zbioru liczb Dane: Liczba naturalna n i zbiór liczb {x 1, x 2,..., x n }. Wynik: Uporządkowanie elementów tego zbioru rosnąco. Krok 1. Kres:=n.{Kres określa miejsce w zbiorze stanowiące granicę poszukiwania pary elementów do przestawienia.} Krok 2. Przyjmij i:=1 oraz k:=0 {k jest wskaźnikiem przestawianej pary} Krok 3. Dopóki i < Kres, wykonuj: Jeśli x i >x i+1, to przestaw te liczby i przyjmij k:=i; zwiększ i: i:=i+1 Krok 4. Jeśli k > 1, to przyjmij Kres:=k i wróć do kroku 2, a w przeciwnym razie zakończ algorytm.
Schemat blokowy porządkowania algorytmem bąbelkowym Schemat blokowy porządkowania przez wybór Literatura: Maciej M. Sysło, Algorytmy, WSiP S.A., Warszawa 1997.