深圳中學(xué) 郭慧清
在廣東、山東、海南、青海四省依照《高中數(shù)學(xué)課程標(biāo)準(zhǔn)》實(shí)施的高中數(shù)學(xué)新課程中,如何貫徹新課程理念,正確把握和實(shí)施高中數(shù)學(xué)教學(xué),已成為每一個高中數(shù)學(xué)教師應(yīng)該研究的課題。本教學(xué)案例選取“進(jìn)位制”作為“算法初步”的教學(xué)內(nèi)容,以教學(xué)設(shè)計(jì)的形式探索高中數(shù)學(xué)新課程的實(shí)施過程。
一.教學(xué)設(shè)計(jì)意圖
1.關(guān)注問題性、啟發(fā)性,加強(qiáng)聯(lián)系性
本課通過“猜生月生日”這一程序游戲創(chuàng)設(shè)教學(xué)情景,使學(xué)生自然提出問題:“這一程序是怎樣設(shè)計(jì)的?”進(jìn)而啟發(fā)學(xué)生主動探索程序中的算法算理,從而引進(jìn)數(shù)的進(jìn)位制及其轉(zhuǎn)化問題。教學(xué)過程中,由學(xué)生熟悉的十進(jìn)制出發(fā),引導(dǎo)他們分析得到“除10取余法”,再通過類比得到“除2取余法”,進(jìn)而推廣得到“除k取余法”,從而解決十進(jìn)制轉(zhuǎn)化為k進(jìn)制的問題。在此基礎(chǔ)上,再研究k進(jìn)制轉(zhuǎn)化為十進(jìn)制的問題,最后解決兩種不同進(jìn)位制間的互相轉(zhuǎn)化問題。這樣設(shè)計(jì)的目的,是遵循認(rèn)知規(guī)律,以問題引導(dǎo)學(xué)習(xí),體現(xiàn)數(shù)學(xué)知識的形成與學(xué)生認(rèn)知的過程性,加強(qiáng)數(shù)學(xué)知識間的聯(lián)系性,促使學(xué)生主動探究,培養(yǎng)學(xué)生的創(chuàng)新意識和應(yīng)用意識。
2.講背景,講數(shù)學(xué),講思想,講應(yīng)用,
在“猜生月生日”這個真實(shí)背景下,學(xué)生能真切地體會算法的作用與數(shù)學(xué)的力量,引入這個背景的意義,在于講數(shù)學(xué)中的算法思想,在于應(yīng)用算法思想解決實(shí)際問題。在課的設(shè)計(jì)與實(shí)施過程中,始終圍繞“不同進(jìn)位制間的轉(zhuǎn)化”這一目標(biāo),讓學(xué)生經(jīng)歷由探究算理,到抽象算法步驟,繪制程序框圖,再到設(shè)計(jì)并優(yōu)化程序的全過程,使學(xué)生明確自己是在學(xué)數(shù)學(xué)而不僅僅是在編程序或玩計(jì)算機(jī),這一過程的主要目的是使學(xué)生得到算法思想的熏陶與提升。課后作業(yè)要求學(xué)生利用已學(xué)的知識與方法探究“猜生月生日”的算法與算理,意在講應(yīng)用,讓學(xué)生關(guān)注數(shù)學(xué)的“源”與“流”,加強(qiáng)數(shù)學(xué)與事物間的聯(lián)系。
3.注重數(shù)學(xué)課程與信息技術(shù)的整合,嘗試改進(jìn)教與學(xué)的方式
在教學(xué)過程中,師生充分利用TI圖形計(jì)算器一起進(jìn)行算理探索、程序設(shè)計(jì)、演示交流,這不僅使學(xué)生親身體驗(yàn)了算法的實(shí)現(xiàn)過程,而且為改進(jìn)教與學(xué)的方式提供了強(qiáng)有力的平臺。在數(shù)學(xué)課程與信息技術(shù)的整合中堅(jiān)持貫徹“必要性”、“平衡性”、“廣泛性”、“實(shí)踐性”、“實(shí)效性”等原則。
二.教學(xué)任務(wù)分析
1. 通過“進(jìn)位制”這一案例的教學(xué),使學(xué)生進(jìn)一步加深對算法含義的認(rèn)識:
(1)算法通常是指可以用計(jì)算機(jī)來解決某類問題的程序或步驟(可行性);
(2)算法中的程序或步驟必須是明確和有效的(確定性);
(3)算法中的程序或步驟必須在有限步之內(nèi)完成(有窮性).
2.通過“十進(jìn)制轉(zhuǎn)k進(jìn)制”與“k進(jìn)制轉(zhuǎn)十進(jìn)制”的算理分析與程序框圖,加深對算法的三種基本結(jié)構(gòu)(順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu))的認(rèn)識,正確理解與使用循環(huán)結(jié)構(gòu)中的選擇結(jié)構(gòu).
3.根據(jù)“十進(jìn)制轉(zhuǎn)k進(jìn)制”與“k進(jìn)制轉(zhuǎn)十進(jìn)制”的程序框圖,利用TI圖形計(jì)算器的程序語言寫出程序,由此體會并正確選用算法語句(輸入語句、輸出語句、賦值語句、條件語句、循環(huán)語句)表達(dá)算法的步驟與算法的基本結(jié)構(gòu).
4. 通過“進(jìn)位制”這一案例的教學(xué),使學(xué)生熟悉用算法思想解決問題的基本步驟:
(1)用自然語言寫出“算法步驟”;
(2)根據(jù)算法步驟寫出“程序框圖”;
(3)選用一種計(jì)算機(jī)程序設(shè)計(jì)語言,根據(jù)程序框圖寫出“程序”;
(4)上機(jī)驗(yàn)證程序的可行性,完善和優(yōu)化算法.
三.教學(xué)重點(diǎn)和難點(diǎn)
“十進(jìn)制轉(zhuǎn)k進(jìn)制”與“k進(jìn)制轉(zhuǎn)十進(jìn)制”的算理分析.
四.教學(xué)基本流程
五.教學(xué)用具
師生每人一臺TI-92PLUS圖形計(jì)算器,一塊TI液晶顯示屏,實(shí)物投影儀,投影機(jī),投影屏幕.
六.教學(xué)情境設(shè)計(jì)
情景步驟
師生活動
設(shè)計(jì)意圖
1.“猜生月生日游戲”:
“請先依次指出表格(見附注1)中哪些行有你的生月,然后再依次指出表格中哪些行有你的生日,便知道你的生月生日.”
教師給出生月生日表,并同時講清游戲規(guī)則,然后請一位或兩位學(xué)生根據(jù)表格回答,教師使用編好的TI程序(見附注2)記錄學(xué)生的回答,學(xué)生回答完畢則由程序立即獲得學(xué)生的生月生日.
這個游戲中用到的“生月生日表”的制作原理是二進(jìn)制記數(shù)法,它需要掌握“十進(jìn)制轉(zhuǎn)二進(jìn)制”的方法;計(jì)算生月生日的程序1的算理是“二進(jìn)制轉(zhuǎn)十進(jìn)制”的算理,這一過程可以引起學(xué)生對游戲的算法的興趣,從而引入本節(jié)課.
2.讓學(xué)生用TI圖形計(jì)算器計(jì)算:(1)3×103+7×102+2×10+1×1.00;(2)4×103+9×102+3×10+6×100.
師生一起用TI圖形計(jì)算器計(jì)算,教師的計(jì)算結(jié)果投影在屏幕上,學(xué)生計(jì)算完畢后思考一般情況.
讓學(xué)生體會十進(jìn)制記數(shù)法的實(shí)質(zhì),為探究“除10取余”作準(zhǔn)備.
3.以3721為例,探究“除10取余”的過程.
教師啟發(fā),學(xué)生觀察:
3721=372×10+1,
372= 37×10+2,
37= 3×10+7,
3= 0×10+3.
得出“除10取余”的十進(jìn)制記數(shù)法則(見附注3),為學(xué)習(xí)二進(jìn)制的“除2取余”記數(shù)法則作準(zhǔn)備.
4.以十進(jìn)制數(shù)89為例,探究“除2取余”的過程.
讓學(xué)生模仿得出:
89 = 44×2 +1,
44 = 22×2 +0,
22 = 11×2 +0,
11 = 5×2 +1,
5 = 2×2 +1,
2 = 1×2 +0,
1 = 0×2 +1.
得出“除2取余”的二進(jìn)
制記數(shù)法則.
5.在TI圖形計(jì)算器上以89實(shí)現(xiàn)“除2取余”的過程.
師生一起進(jìn)行下述操作:
89→
(取余)
(取商)
重復(fù)進(jìn)行上述取余與取商的操作,直至商為0.
探究“十進(jìn)制化二進(jìn)制”算法中的主要算法結(jié)構(gòu):條件結(jié)構(gòu)與循環(huán)結(jié)構(gòu).
6.從操作過程中提煉出“十進(jìn)制轉(zhuǎn)二進(jìn)制”算法步驟,并推廣到“十進(jìn)制轉(zhuǎn)k進(jìn)制”的算法步驟.
教師讓學(xué)生先思考上述操作中的算法結(jié)構(gòu),然后寫出算法步驟并進(jìn)行交流,最后由教師評析并給出正確的算法步驟.
得出“十進(jìn)制轉(zhuǎn)二進(jìn)制”的算法步驟,并推廣到“十進(jìn)制轉(zhuǎn)k進(jìn)制”的算法步驟(見附注4).
7. 由“十進(jìn)制轉(zhuǎn)k進(jìn)制”的算法步驟寫出程序框圖
讓學(xué)生寫出程序框圖并進(jìn)行交流,隨后教師評析 并給出正確的程序框圖.
得出“十進(jìn)制轉(zhuǎn)k進(jìn)制”的程序框圖(見附注5),進(jìn)一步領(lǐng)會算法結(jié)構(gòu).
8.根據(jù)“十進(jìn)制轉(zhuǎn)k進(jìn)制”的程序框圖,在TI-92PLUS圖形計(jì)算器上編寫程序并運(yùn)行.
讓學(xué)生在TI-92PLUS圖形計(jì)算器上編寫程序并運(yùn)行,以89分別轉(zhuǎn)二進(jìn)制、五進(jìn)制,檢查學(xué)生的程序是否正確.
這是本節(jié)課的一個重要環(huán)節(jié),不僅能使學(xué)生正確掌握“十進(jìn)制轉(zhuǎn)k進(jìn)制”的算法程序(見附注6),還能使學(xué)生積極主動并有效地學(xué)習(xí).
9.以1011001(2)為例,探究“二進(jìn)制化十進(jìn)制”的算理.
師生一起將“情景步驟4”中的“師生活動”所得到的算式由后往前代入并整理得到:1011001(2)=1×26+0×25+1×24+1×23+0×22+0×21
+1×20=89.
通過實(shí)例體會“二進(jìn)制轉(zhuǎn)十進(jìn)制”的算理,為得到“k進(jìn)制轉(zhuǎn)十進(jìn)制”的算法程序作鋪墊.
10.在TI-92PLUS圖形計(jì)算器上編寫并運(yùn)行“k進(jìn)制轉(zhuǎn)十進(jìn)制”程序.
讓學(xué)生在TI-92PLUS圖形計(jì)算器上編寫程序并運(yùn)行,以1011001(2)、324(5)分別轉(zhuǎn)十進(jìn)制,檢查學(xué)生的程序是否正確.
使學(xué)生掌握“k進(jìn)制轉(zhuǎn)十進(jìn)制”的算法程序(見附注7),促使學(xué)生積極主動并有效地學(xué)習(xí).
11.把二進(jìn)制數(shù)1011001化為五進(jìn)制數(shù).
讓學(xué)生先利用“k進(jìn)制轉(zhuǎn)十進(jìn)制”的程序得出:1011001(2)=89,
先利用“十進(jìn)制轉(zhuǎn)k進(jìn)制”的程序得出:
89=324(5),
所以,1011001(2)=324(5).
體會任意兩種進(jìn)位制的數(shù)之間的轉(zhuǎn)化方法:先“k進(jìn)制轉(zhuǎn)十進(jìn)制”,再“十進(jìn)制轉(zhuǎn)s進(jìn)制”.
12.討論與小結(jié).
讓學(xué)生討論、交流對算法的認(rèn)識及利用算法思想解決問題的基本步驟,教師進(jìn)行歸納小結(jié).
使學(xué)生體會教學(xué)任務(wù)中所期望的學(xué)習(xí)目標(biāo).
13.教師給出下列作業(yè):
(1)了解日常生活中經(jīng)常用到的進(jìn)位制,并舉一個運(yùn)用二進(jìn)制數(shù)的例子,體會
二進(jìn)制數(shù)的重要作用.
(2)將十進(jìn)制轉(zhuǎn)k進(jìn)制、 k進(jìn)制轉(zhuǎn)十進(jìn)制的算法步驟、流程圖及TI程序整理
成作業(yè).
(3)寫出“猜生月生日表”的設(shè)計(jì)原理,完成“猜生月生日”的算法步驟、流程圖
及TI程序,并上傳到數(shù)學(xué)論壇“高一(1)、(2)、(3)班”與同學(xué)交流.
七.附注
1.生月生日表:
2.猜生月生日程序:
Birthday()
Prgm
Clrio
For i,1,2
If i=1 then
Disp “month”
Else
Disp “day”
Endif
Disp “ 16 17 18 19 20 21 22 23”
Disp “ 24 25 26 27 28 29 30 31”
Input “1 or 0?”,a
Disp “ 8 9 10 11 12 13 14 15”
Disp “ 24 25 26 27 28 29 30 31”
Input “1 or 0?”,b
Clrio
Disp “ 4 5 6 7 12 13 14 15”
Disp “ 20 21 22 23 28 29 30 31”
Input “1 or 0?”,c
Clrio
Disp “ 2 3 6 7 10 11 14 15”
Disp “ 18 19 22 23 26 27 30 31”
Input “1 or 0?”,d
Clrio
Disp “ 1 3 5 7 9 11 13 15”
Disp “ 17 19 21 23 25 27 29 31”
Input “1 or 0?”,e
Clrio
If i=1 then
a*2^4+b*2^3+c*2^2+d*2+e→m
Else
a*2^4+b*2^3+c*2^2+d*2+e→n
Endif
Endfor
{m,n}→l
Disp “birthday”,l
Endprgm
3.一個十進(jìn)制數(shù)a除以10所得的商是b0,余數(shù)是
,即
,
則
是a的個位數(shù);
b0除以10所得的商是b1,余數(shù)是
,即
,
則
是a的十位數(shù).
一般地,
除以10所得的商是
,余數(shù)是
,即
,
則
是a的從右往左數(shù)第n+1位數(shù).
4.“十進(jìn)制轉(zhuǎn)k進(jìn)制”的算法步驟:
第1步:給定十進(jìn)制正整數(shù)a,確定轉(zhuǎn)化后的進(jìn)位k;
第2步:求出a除以k所得的余數(shù)、商,并分別賦值給r、a;
第3步:若a≠0,則重復(fù)第2步, 直到a=0;
第4步:將依次得到的余數(shù)從右往左排列起來,則得到k進(jìn)位數(shù).
5.“十進(jìn)制轉(zhuǎn)k進(jìn)制”的程序框圖:
6.“十進(jìn)制轉(zhuǎn)k進(jìn)制”的TI程序:
(1)循環(huán)結(jié)構(gòu)為當(dāng)型結(jié)構(gòu):
g1310520()
Prgm
Clrio
Local a,b,r,k,x
“ ”→b
Input “x(10)=?”,x
Input “k=?”,k
x→a
If a=0 then
string(a) →b
Else
While a≠0
mod(a,k) →r
string(r)&b→b
int(a/k) →a
Endwhile
Endif
b&”(”&string(k)&”)” → b
String(x)&” (10)= “&b → b
Disp b
Endprgm
(2)循環(huán)結(jié)構(gòu)為直到型結(jié)構(gòu):
g1320520()
Prgm
Clrio
Local a,b,r,k,x
“ ”→b
Input “x(10)=?”,x
Input “k=?”,k
x→a
loop
mod(a,k) →r
string(r)&b→b
int(a/k) →a
if a=0 then
exit
endif
Endloop
b&”(”&string(k)&”)” → b
String(x)&” (10)= “&b → b
Disp b
Endprgm
7.“k進(jìn)制轉(zhuǎn)十進(jìn)制”的TI程序:
g1330520()
Prgm
Clrio
Local a,b,c,k,n,s,x
0→s
1→i
Input “k=?”,k
Input “x=?”,x
Dim(string(x)) →n
String(x) →a
While i
n
mid(a,i,1) →b
expr(b) →c
s+c*k^(n-i) →s
i+1 →i
Endwhile
Disp string(x)&”(”&string(k)&”)=”&string(s)”(10)”
Endprgm
八.后記
本案例的設(shè)計(jì)者根據(jù)設(shè)計(jì)實(shí)施了課堂教學(xué),感謝廣東省一百多位高中數(shù)學(xué)老師親臨聽課并指導(dǎo),特別感謝人民教育出版社的宋莉莉老師在聽完課后與授課者進(jìn)行了交流,并給出了如下的評價:
“‘進(jìn)位制’一課是中學(xué)新增的“算法初步”的內(nèi)容,這堂課的設(shè)計(jì)與實(shí)施,值得我們認(rèn)真研究和思考。總體看來,本堂課具有較高的教學(xué)質(zhì)量,這與教師的精心設(shè)計(jì)和學(xué)生的配合是分不開的。具體分析,以下幾個方面特別值得我們借鑒:
1. 引入精彩,展開自然。能準(zhǔn)確猜出學(xué)生的生月生日的程序引起了學(xué)生極大的興趣,“這個程序的算理就是本堂課的內(nèi)容”又把學(xué)生帶入了課題,而課后作業(yè)“設(shè)計(jì)猜生月生日的程序”既與引入相呼應(yīng),又是本課內(nèi)容的自然應(yīng)用。
2. 教學(xué)重點(diǎn)突出,過程流暢自然。本堂課緊緊圍繞“進(jìn)位制的轉(zhuǎn)換”這個重點(diǎn),環(huán)環(huán)相扣,引人入勝。由學(xué)生熟悉的十進(jìn)制出發(fā),引導(dǎo)他們分析得到“除10取余法”,再將這一算法的算理進(jìn)行遷移,得到“除2取余法”,進(jìn)而得到“除k取余法”,從而解決了十進(jìn)制轉(zhuǎn)化為k進(jìn)制的問題。師生接著研究了k進(jìn)制轉(zhuǎn)化為十進(jìn)制的問題,最后解決了兩種不同進(jìn)位制間的互相轉(zhuǎn)化問題。
3. 重視學(xué)生的親身體驗(yàn),培養(yǎng)學(xué)生的算法思想。在教學(xué)過程中,師生利用TI圖形計(jì)算器一起進(jìn)行算理探索、程序設(shè)計(jì)、演示交流,使學(xué)生親身體驗(yàn)了算法的實(shí)現(xiàn)過程,讓學(xué)生經(jīng)歷了由探究具體問題的算理,到抽象出算法步驟,繪制出程序框圖,再到設(shè)計(jì)并優(yōu)化程序的全過程,使學(xué)生的算法思想得到了熏陶與提升?!?div style="height:15px;">