UNIWERSYTET WROCŁAWSKI
Transkrypt
UNIWERSYTET WROCŁAWSKI
Aleksandra Nogała nauczycielka matematyki w Gimnazjum im. Macieja Rataja w Żmigrodzie [email protected] KONSPEKT ZAJĘĆ ( 2 godziny) KOŁO MATEMATYCZNE LUB INFORMATYCZNE - klasa III gimnazjum, I LO TEMAT ZAJĘĆ : Systemy liczbowe - system dziesiętny i dwójkowy ZAGADNIENIE – algorytmiczne rozwiązywanie problemów „ Rozwiązywanie problemów jest metodą nauczania i uczenia się, w jaki sposób kształcić umiejętności wykorzystywania posiadanych umiejętności i ewentualnie uzupełniać je, jeśli nie są wystarczające. Praca z komputerem umożliwia i ułatwia wykonywanie eksperymentów, stawianie i sprawdzanie hipotez, prowadzenie własnych badań. Nie jest przy tym istotne, że uczeń odkrywa być może znane prawidłowości, ale jest ważne, że sam do nich dochodzi” [ Elementy informatyki. Poradnik metodyczny dla nauczyciela, pod redakcją M.M. Sysły, Wydawnictwo Naukowe PWN, Warszawa 1997] MIEJSCE ZAJĘĆ - pracownia komputerowa CEL GŁÓWNY: poznanie algorytmu przeliczania liczby z układu dziesiętnego na dwójkowy i z układu dwójkowego na dziesiątkowy ; CELE OPERACYJNE : • uczeń potrafi transponować liczby z systemu dziesiętnego na dwójkowy i odwrotnie; • uczeń zna i potrafi zastosować schemat HORNERA; • uczeń wie jak sprawdzić poprawność zaprojektowanego algorytmu; • uczeń wie jak wykorzystać dostępne narzędzia informatyczne; • uczeń potrafi zapisać algorytm wg określonych reguł; ODNIESIENIE DO PODSTAWY PROGRAMOWEJ: ZADANIA SZKOŁY: • rozwijanie zdolności myślenia analitycznego i syntetycznego; • dostrzegania różnego rodzaju związków i zależności; • stwarzanie warunków do efektywnego posługiwania się technologią informacyjną; • rozwijanie umiejętności logicznego; rozumowania, wnioskowania oraz stawiania i weryfikacji hipotez; • rozwijanie umiejętności prowadzenia dyskusji, precyzyjnego formułowania problemów i argumentowania; INFORMATYKA: • rozwiązywanie problemów w postaci algorytmicznej; algorytmy wokół nas, przykłady algorytmów praktycznych i szkolnych; ścisłe formułowanie sytuacji problemowych; opisywanie algorytmów w języku potocznym; zapisywanie algorytmów w postaci procedur; METODY PRACY : • problemowa; FORMY PRACY : • zespołowa; • w grupie; ŚRODKI I POMOCE : • program Elbox - Laboratorium Informatyki (ELI)- program ELI 2.0 Plus zainstalować przed zajęciami i utworzyć dla niego skrót na pulpicie; UWAGA: Wymagane przygotowanie ucznia z technologii informacyjnej potrzebne do przeprowadzenia lekcji : • podstawowe umiejętności w projektowaniu algorytmu; • uczeń zna pojęcia: - algorytm, problem, dane, wynik, specyfikacja; - schemat blokowy, lista kroków; - poprawność, jednoznaczność, szczegółowość, uniwersalność algorytmów; - złożoność algorytmu; • uczeń zna i posługuje się programem ELI 2.0 PLUS 2 PRZEBIEG ZAJĘĆ: CZĘŚĆ I I. Wprowadzenie - przypomnienie co oznacza, że system liczenia, którym się posługujemy nazywa się dziesiątkowy; ćwiczenia typu: 754 = 7 · 102 + 5 · 101 +4 · 100 1208 = - jaka liczba jest podstawą systemu dziesiątkowego? - iloma cyframi posługujemy się w systemie dziesiątkowym? - zwrócenie uwagi uczniom, że istnieją również inne systemy liczbowe : dwójkowy ( zwany binarnym), trójkowy itd. oraz , że ze względu na zastosowanie w informatyce szczegółowiej zajmiemy się systemem binarnym ; - jaka liczba jest podstawą systemu binarnego ? - iloma cyframi posługujemy się w systemie binarnym ( w przypadku systemu dwójkowego cyfra nazywa się bitem i może przyjmować wartość 0 lub 1) ? ćwiczenia typu : 101(2) = 1 · 22 + 0 · 21 +1 · 20 1011(2) = II. Lekcja właściwa 1. Wypełnienie karty pracy ucznia- ZAŁĄCZNIK NR1 2. Dyskusja wokół ćwiczenia z punktu 1. na temat matematycznego sposobu przeliczania liczby dziesiętnej na dwójkową: - porównajmy postać binarną liczby parzystej i nieparzystej; - czemu jest równy najmniej znaczący bit rozwinięcia dwójkowego liczby? - czy w ten sam sposób znajdziemy kolejne bity rozwinięcia binarnego? - kiedy kończymy postępowanie? - spróbujmy prześledzić to na przykładzie: zadanie : liczbę dziesiętną 25 zapisz w systemie dwójkowym Dzielenie 25 :2 Iloraz 12 Reszta 1 12:2 6 0 6:2 3 0 3:2 1 1 1:2 0 1 3 rozwiązanie: 25 = 11001(2) =1 · 24 + 1 · 23 + 0 · 22 + 0 · 21 +1 · 20 = 16 + 8 + 1 = 25 Uwaga : kolejność bitów w rozwinięciu binarnym : tworzymy od najmniej znaczącego bitu. 3. Wprowadzenie operacji wykorzystywanych w zadaniu z punktu 2. OPERACJA a mod b a div b Przykłady : WYNIK r – reszta z dzielenia liczby a przez b c – iloraz całkowity z dzielenia liczby a przez b UWAGI a, b, r – liczby całkowite 13 mod 5 = 3 13 div 5 = 2 4. Omówienie podstawowych zasad obowiązujących podczas projektowania algorytmu. 5. Sformułowanie zadania : opisz za pomocą kroków algorytm zamiany liczny dziesiętnej na postać binarną. a) określenie danych wejściowych: liczba naturalna X zapisana w systemie dziesiętnym; b) określenie danych wyjściowych : rozwinięcie dwójkowe liczby X; c) Lista kroków: KROK 1 : wczytaj liczbę X; KROK 2 : oblicz resztę z dzielenia liczby X przez 2 i iloraz całkowity liczby X przez 2; KROK 3 : za liczbę X przyjmij iloraz całkowity liczby X przez 2; KROK 4 : zapisz resztę z dzielenia liczby X przez 2 ( bit rozwinięcia dwójkowego liczby X); KROK 5 : sprawdź, czy liczba X =0 a) jeśli TAK to KONIEC zadania b) jeśli NIE to wróć do KROKU 2 6. Dyskusja na temat poprawności i złożoności algorytmu – testowanie dla różnych danych; np. liczba dziesiętna X = 19 4 START I X mod 2 1 X div 2 9 X=0 NIE II 1 4 NIE III 0 2 NIE IV 0 1 NIE V 1 0 TAK - KONIEC ALGORYTMU wynik : 10011(2) 7. Dzielimy uczniów na grupy. Zadanie dla grup : ułóż schemat algorytmu w programie ELI 2.0 PLUS, a następnie uruchom go i prześledź jego działanie. ZAŁĄCZNIK NR 2 ( sprawdźcie poprawność algorytmu dla różnych danych, w szczególności dla X =0) III. Podsumowanie Prezentacja wyników pracy poszczególnych grup i dyskusja. CZĘŚĆ II PRZEBIEG ZAJĘĆ: I. Wprowadzenie - co to jest wielomian? - jak obliczamy wartość liczbową wielomianów? Przykład : y = 3x2 +2x +4 dla x = 2 y = 5x3 + 3x2 +2x +4 - ile działań wykonaliśmy aby obliczyć wartość liczbową? ( w pierwszym przykładzie trzy mnożenia i dwa dodawania, w drugim przykładzie sześć mnożeń i trzy dodawania); - spróbujmy pogrupować wyrazy i wyłączyć wspólny czynnik poza nawias: y = 3x2 +2x +4 = x(3x +2)+4 y = 5x3 + 3x2 +2x +4 = x( 5x2 +3x +2) +4 = x( x( 5x +3)+2)+4 5 - ile działań wykonamy obliczając wartość wielomianu w powyższej postaci? (w pierwszym przykładzie dwa mnożenia i dwa dodawania, w drugim przykładzie trzy mnożenia i trzy dodawania); - który ze sposobów jest bardziej efektywny? – porównajcie liczbę działań w obu metodach; II. Lekcja właściwa 1. Dyskusja na temat efektywniejszego sposobu obliczania wartości wielomianu na przykładzie : y = 7x3 - 2x2 +x +10 dla x = 3 y=7 y = 7·3 +(-2) = 19 y = 19·3 +1 =58 y = 58·3 +10 = 184 - mówimy uczniom, że ten sposób obliczania wartości wielomianów nosi nazwę schematu HORNERA; 2. Sformułowanie zadania : opisz za pomocą listy kroków algorytm obliczania wartości liczbowej wielomianu. a) określenie danych wejściowych: stopień wielomianu – n, współczynniki wielomianu – a0, a1, ..., an, ( również te równe zeru) argument – x ; b) określenie danych wyjściowych : wartość wielomianu dla argumentu x; c) Lista kroków: KROK 1 : wczytaj dane : n, a0, a1, ..., an, x ; KROK 2 : przyjmij współczynnik przy najwyższej potędze za początkową wartość wielomianu; KROK 3 : powtarzaj, aż do wyczerpania listy współczynników: bieżącą wartość wielomianu pomnóż przez x i dodaj kolejny współczynnik wielomianu; 3. Zamiana liczb z systemu binarnego na dziesiątkowy. - przypomnijmy sobie zapis liczby w systemie dwójkowym : 101(2) = 1 · 22 + 0 · 21 +1 · 20 6 - czym jest prawa strona tej równości ? ( postać wielomianu dla argumentu równego 2); - co otrzymamy wykonując działania po prawej stronie równości? ( postać dziesiętną liczby); WNIOSEK: wykorzystując schemat HORNERA, możemy zamienić liczbę zapisaną w postaci binarnej na liczbę w systemie dziesiętnym. Sformułowanie zadania : opisz za pomocą listy kroków algorytm zamiany liczby binarnej na dziesiętną . a) określenie danych wejściowych: n –ilość bitów liczby binarnej, a0, a1 ,..., an-1 kolejne bity liczby binarnej; b) określenie danych wyjściowych : liczba dziesiętna; c) Lista kroków: KROK 1: wczytaj dane- n– ilość bitów liczby binarnej, a0, a1 ,..., an-1 kolejne bity liczby binarnej; KROK 2 : przypisz y najbardziej znaczący bit liczby dwójkowej y := a0 i := 0; KROK 3 : sprawdź, czy i = n-1 a) jeśli TAK to pisz y i KONIEC zadania b) jeśli NIE to i:= i +1, y := y*2 + ai i wróć do KROKU 3 Dyskusja na temat poprawności i złożoności algorytmu – testowanie dla różnych danych; np. liczba binarna: 1011(2) START n=4 a=1 i=0 y=1 I i= n-1 NIE a 0 i+1 1 y·2+a 2 II NIE 1 2 5 III NIE 1 3 11- wynik IV TAK- KONIEC ALGORYTMU 7 4. Dzielimy uczniów na grupy. Zadanie dla grup : ułóż schemat algorytmu w programie ELI 2.0 PLUS, a następnie uruchom go i prześledź jego działanie. ZAŁĄCZNIK NR 3 III. Podsumowanie Prezentacja wyników pracy grup i dyskusja na temat zastosowania schematu HORNERA. Uczniowie powinni zapamiętać schemat HORNERA oraz jego zastosowanie: - do szybkiego obliczania wartości liczbowej wielomianu; - do zamiany liczb z systemu binarnego (ogólniej z każdego systemu) na dziesiętny. Zapowiadamy następne zajęcia z wykorzystaniem schematu HORNERA: szybkie podnoszenie do potęgi. LITERATURA: 1. Maciej M. Sysło – Algorytmy, WSiP, 1997 2. Maciej M. Sysło – Piramidy, szyszki i inne konstrukcje algorytmiczne, WSiP, 1998 8 KARTA PRACY UCZNIA ( ZAŁĄCZNIK 1) Korzystając z poniższej tabeli zamień liczby dziesiętne na binarne. 4, 10, 18, 22, 36, 7, 9, 13, 21, 35 Liczba ... 24=32 24=16 23=8 22=4 21=2 20=1 dziesiętna 4 10 18 22 36 7 9 13 21 35 9 ZAMIANA LICZBY Z SYSTEMU DZIESIĘTNEGO NA BINARNY (ZAŁĄCZNIK 2) WEJŚCIE NAZWA ZMIENNEJ x – liczba naturalna PRZEWINIĘCIE TAŚMY NA POCZĄTEK LISTA WYKONANIA r:= x mod 2 x:= x div 2 Zapisanie na taśmie r – kolejnych cyfr rozwinięcia binarnego ( od najmniej znaczącego) KONIEC ALGORYTMU SPRAWDZENIE WARUNKU x=0 10 ZAMIANA LICZBY Z SYSTEMU BINARNEGO NA DZIESIĘTNY Z WYKORZYSTANIEM SCHEMATU HORNERA (ZAŁĄCZNIK 3) WEJŚCIE NAZWA ZMIENNEJ n – stopień wielomianu podawany z klawiatury ( ilość bitów liczby binarnej – 1) NAZWA ZMIENNEJ a – najbardziej znaczący bit rozwinięcia binarnego (współczynnik wielomianu przy najwyższej potędze - czytany z taśmy) LISTA WYKONANIAi:=0 y:=a LISTA WYKONANIA i:=i+1 y:=y*2+a WYPROWADZENIE WYNIKU – Liczba dziesiętna wynosi y KONIEC ALGORYTMU SPRAWDZENIE WARUNKU i=n ODCZYT Z TAŚMY – nazwa zmiennej a ( kolejny bit liczby binarnej) 11