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