Temat: Sortowanie zbioru

Transkrypt

Temat: Sortowanie zbioru
Joanna Osio [email protected]
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 { x1,x2,...,xn } takich, że xk ≤ xm 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
1. Czynności wstępne – powitanie, 1. Zajmują miejsca i
sprawdzenie obecności, określenie zapisują temat zajęć.
celu zajęć i podanie tematu.
[3min]
Uwagi
2.Sformułowanie zadania:
Dany jest zbiór A={-16, 0, 8, 17,4}.Uporządkuj ten zbiór
rosnąco.
[2min]
2. Wykonują zadanie.
3.Nauczyciel zadaje pytanie o
3.Opisują sposób
sposób postępowania prowadzący rozwiązania zadania.
do rozwiązania zadania.
[3min]
Przypuszczalnie
będzie to słowny
opis porządkowania
przez wybór.
4.Podział uczniów na grupy i
4.Pracują w grupach.
polecenie zapisania podanego
algorytmu w postaci listy kroków.
[5min]
5.Nauczyciel prosi jedną z grup o
przedstawienie rozwiązania (po
uprzednim sprawdzeniu jego
poprawności).
[8min]
Rozwiązanie w
5.Przedstawiciel grupy
prezentuje rozwiązanie na załączniku A
tablicy. Dyskusja nad
poprawnością i
uniwersalnością algorytmu.
6.Nauczyciel zadaje pytanie o
liczbę operacji jaką należy
wykonać przy realizacji
algorytmu.
6.Wspólna dyskusja
prowadząca do ustalenia
liczby iteracji n-1 oraz
liczby porównań
(n-1)+(n – 2)+...+2+1
[ 4min]
7.Polecenie zapisania algorytmu w
postaci schematu blokowego w
programie ELI (praca w grupach).
Nauczyciel nadzoruje pracę.
[15min]
7.Włączają komputery,
uruchamiają program ELI.
Tworzą schemat blokowy.
Testują program na
typowych i specyficznych
danych.
8. Podsumowuje zajęcia.
[5min]
8. Wspólnie z
nauczycielem omawiają
algorytm porządkowania
przez wybór.
Lekcja 2:
Czynności nauczyciela
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]
Czynności uczniów
1. Zajmują miejsca,
zapisują temat lekcji i
włączają komputery.
Uwagi
2.Opisują w skrócie sposób
rozwiązania problemu
porządkowania zbioru.
3.Nauczyciel zadaje pytanie czy 3.Uczniowie mają czas na
jest to jedyna metoda rozwiązania zastanowienie się i wspólną
tego problemu.
dyskusję.
[5min]
4.Nauczyciel prosi o
4.Wspólna dyskusja.
przedstawienie rozwiązań te
osoby, które znalazły inne metody
niż ta z poprzedniej lekcji.
[5min]
5.Praca w grupach pod
5.Nauczyciel dzieli uczniów na
nadzorem nauczyciela.
grupy i przedstawia zadanie do
wykonania: Zapisz w postaci listy
kroków algorytm bąbelkowy
porządkowania zbioru.
[5min]
6.Nauczyciel prosi jednego z
uczniów o prezentację algorytmu
na tablicy.
[5min]
6.Wspólna dyskusja na
temat przedstawionego
rozwiązania oraz jego
poprawności i
uniwersalności.
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
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.
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
{x1, x2, ..., xn}.
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 xk jest
najmniejszym elementem w
podzbiorze {xi, ..., xn}.
Krok 3. Zamień miejscami elementy xi
oraz xk.
ZAŁĄCZNIK B
Algorytm bąbelkowy porządkowania zbioru liczb
Dane: Liczba naturalna n i zbiór liczb
{x1, x2, ..., xn}.
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 xi>xi+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.