《2019-2020年高中數(shù)學(xué) 1.3 《算法案例》 教案 新人教版必修3.doc》由會員分享,可在線閱讀,更多相關(guān)《2019-2020年高中數(shù)學(xué) 1.3 《算法案例》 教案 新人教版必修3.doc(10頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
2019-2020年高中數(shù)學(xué) 1.3 《算法案例》 教案 新人教版必修3
(1)教學(xué)目標(biāo)
(a)知識與技能
1.理解輾轉(zhuǎn)相除法與更相減損術(shù)中蘊(yùn)含的數(shù)學(xué)原理,并能根據(jù)這些原理進(jìn)行算法分析。
2.基本能根據(jù)算法語句與程序框圖的知識設(shè)計完整的程序框圖并寫出算法程序。
(b)過程與方法
在輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù)的學(xué)習(xí)過程中對比我們常見的約分求公因式的方法,比較它們在算法上的區(qū)別,并從程序的學(xué)習(xí)中體會數(shù)學(xué)的嚴(yán)謹(jǐn),領(lǐng)會數(shù)學(xué)算法計算機(jī)處理的結(jié)合方式,初步掌握把數(shù)學(xué)算法轉(zhuǎn)化成計算機(jī)語言的一般步驟。
(c)情態(tài)與價值
1.通過閱讀中國古代數(shù)學(xué)中的算法案例,體會中國古代數(shù)學(xué)對世界數(shù)學(xué)發(fā)展的貢獻(xiàn)。
2.在學(xué)習(xí)古代數(shù)學(xué)家解決數(shù)學(xué)問題的方法的過程中培養(yǎng)嚴(yán)謹(jǐn)?shù)倪壿嬎季S能力,在利用算法解決數(shù)學(xué)問題的過程中培養(yǎng)理性的精神和動手實(shí)踐的能力。
(2)教學(xué)重難點(diǎn)
重點(diǎn):理解輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù)的方法。
難點(diǎn):把輾轉(zhuǎn)相除法與更相減損術(shù)的方法轉(zhuǎn)換成程序框圖與程序語言。
(3)學(xué)法與教學(xué)用具
學(xué)法:在理解最大公約數(shù)的基礎(chǔ)上去發(fā)現(xiàn)輾轉(zhuǎn)相除法與更相減損術(shù)中的數(shù)學(xué)規(guī)律,并能模仿已經(jīng)學(xué)過的程序框圖與算法語句設(shè)計出輾轉(zhuǎn)相除法與更相減損術(shù)的程序框圖與算法程序。
教學(xué)用具:電腦,計算器,圖形計算器
(4)教學(xué)設(shè)想
(一)創(chuàng)設(shè)情景,揭示課題
1.教師首先提出問題:在初中,我們已經(jīng)學(xué)過求最大公約數(shù)的知識,你能求出18與30的公約數(shù)嗎?
2.接著教師進(jìn)一步提出問題,我們都是利用找公約數(shù)的方法來求最大公約數(shù),如果公約數(shù)比較大而且根據(jù)我們的觀察又不能得到一些公約數(shù),我們又應(yīng)該怎樣求它們的最大公約數(shù)?比如求8251與6105的最大公約數(shù)?這就是我們這一堂課所要探討的內(nèi)容。
(二)研探新知
1.輾轉(zhuǎn)相除法
例1 求兩個正數(shù)8251和6105的最大公約數(shù)。
(分析:8251與6105兩數(shù)都比較大,而且沒有明顯的公約數(shù),如能把它們都變小一點(diǎn),根據(jù)已有的知識即可求出最大公約數(shù))
解:8251=61051+2146
顯然8251的最大公約數(shù)也必是2146的約數(shù),同樣6105與2146的公約數(shù)也必是8251的約數(shù),所以8251與6105的最大公約數(shù)也是6105與2146的最大公約數(shù)。
6105=21462+1813
2146=18131+333
1813=3335+148
333=1482+37
148=374+0
則37為8251與6105的最大公約數(shù)。
以上我們求最大公約數(shù)的方法就是輾轉(zhuǎn)相除法。也叫歐幾里德算法,它是由歐幾里德在公元前300年左右首先提出的。利用輾轉(zhuǎn)相除法求最大公約數(shù)的步驟如下:
第一步:用較大的數(shù)m除以較小的數(shù)n得到一個商q0和一個余數(shù)r0;
第二步:若r0=0,則n為m,n的最大公約數(shù);若r0≠0,則用除數(shù)n除以余數(shù)r0得到一個商q1和一個余數(shù)r1;
第三步:若r1=0,則r1為m,n的最大公約數(shù);若r1≠0,則用除數(shù)r0除以余數(shù)r1得到一個商q2和一個余數(shù)r2;
……
依次計算直至rn=0,此時所得到的rn-1即為所求的最大公約數(shù)。
練習(xí):利用輾轉(zhuǎn)相除法求兩數(shù)4081與20723的最大公約數(shù)(答案:53)
2.更相減損術(shù)
我國早期也有解決求最大公約數(shù)問題的算法,就是更相減損術(shù)。
更相減損術(shù)求最大公約數(shù)的步驟如下:可半者半之,不可半者,副置分母子之?dāng)?shù),以少減多,更相減損,求其等也,以等數(shù)約之。
翻譯出來為:
第一步:任意給出兩個正數(shù);判斷它們是否都是偶數(shù)。若是,用2約簡;若不是,執(zhí)行第二步。
第二步:以較大的數(shù)減去較小的數(shù),接著把較小的數(shù)與所得的差比較,并以大數(shù)減小數(shù)。繼續(xù)這個操作,直到所得的數(shù)相等為止,則這個數(shù)(等數(shù))就是所求的最大公約數(shù)。
例2 用更相減損術(shù)求98與63的最大公約數(shù).
解:由于63不是偶數(shù),把98和63以大數(shù)減小數(shù),并輾轉(zhuǎn)相減,即:98-63=35
63-35=28
35-28=7
28-7=21
21-7=14
14-7=7
所以,98與63的最大公約數(shù)是7。
練習(xí):用更相減損術(shù)求兩個正數(shù)84與72的最大公約數(shù)。(答案:12)
3.比較輾轉(zhuǎn)相除法與更相減損術(shù)的區(qū)別
(1)都是求最大公約數(shù)的方法,計算上輾轉(zhuǎn)相除法以除法為主,更相減損術(shù)以減法為主,計算次數(shù)上輾轉(zhuǎn)相除法計算次數(shù)相對較少,特別當(dāng)兩個數(shù)字大小區(qū)別較大時計算次數(shù)的區(qū)別較明顯。
(2)從結(jié)果體現(xiàn)形式來看,輾轉(zhuǎn)相除法體現(xiàn)結(jié)果是以相除余數(shù)為0則得到,而更相減損術(shù)則以減數(shù)與差相等而得到
4. 輾轉(zhuǎn)相除法與更相減損術(shù)計算的程序框圖及程序
利用輾轉(zhuǎn)相除法與更相減損術(shù)的計算算法,我們可以設(shè)計出程序框圖以及BSAIC程序來在計算機(jī)上實(shí)現(xiàn)輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù),下面由同學(xué)們設(shè)計相應(yīng)框圖并相互之間檢查框圖與程序的正確性,并在計算機(jī)上驗(yàn)證自己的結(jié)果。
(1)輾轉(zhuǎn)相除法的程序框圖及程序
程序框圖:
程序:
INPUT “m=”;m
INPUT “n=”;n
IF m
0
r=m MOD n
m=n
n=r
WEND
PRINT m
END
5.課堂練習(xí)
一.用輾轉(zhuǎn)相除法求下列各組數(shù)的最大公約數(shù),并在自己編寫的BASIC程序中驗(yàn)證。
(1)225;135 (2)98;196 (3)72;168 (4)153;119
二.思考:用求質(zhì)因數(shù)的方法可否求上述4組數(shù)的最大公約數(shù)?可否利用求質(zhì)因數(shù)的算法設(shè)計出程序框圖及程序?若能,在電腦上測試自己的程序;若不能說明無法實(shí)現(xiàn)的理由。
三。思考:利用輾轉(zhuǎn)相除法是否可以求兩數(shù)的最大公倍數(shù)?試設(shè)計程序框圖并轉(zhuǎn)換成程序在BASIC中實(shí)現(xiàn)。
6.小結(jié):
輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù)的計算方法及完整算法程序的編寫。
(5)評價設(shè)計
作業(yè):P38 A(1)B(2)
補(bǔ)充:設(shè)計更相減損術(shù)求最大公約數(shù)的程序框圖
第三、四課時 秦九韶算法與排序
(1)教學(xué)目標(biāo)
(a)知識與技能
1.了解秦九韶算法的計算過程,并理解利用秦九韶算法可以減少計算次數(shù)提高計算效率的實(shí)質(zhì)。
2.掌握數(shù)據(jù)排序的原理能使用直接排序法與冒泡排序法給一組數(shù)據(jù)排序,進(jìn)而能設(shè)計冒泡排序法的程序框圖及程序,理解數(shù)學(xué)算法與計算機(jī)算法的區(qū)別,理解計算機(jī)對數(shù)學(xué)的輔助作用。
(b)過程與方法
模仿秦九韶計算方法,體會古人計算構(gòu)思的巧妙。能根據(jù)排序法中的直接插入排序法與冒泡排序法的步驟,了解數(shù)學(xué)計算轉(zhuǎn)換為計算機(jī)計算的途徑,從而探究計算機(jī)算法與數(shù)學(xué)算法的區(qū)別,體會計算機(jī)對數(shù)學(xué)學(xué)習(xí)的輔助作用。
(c)情態(tài)與價值
通過對秦九韶算法的學(xué)習(xí),了解中國古代數(shù)學(xué)家對數(shù)學(xué)的貢獻(xiàn),充分認(rèn)識到我國文化歷史的悠久。通過對排序法的學(xué)習(xí),領(lǐng)會數(shù)學(xué)計算與計算機(jī)計算的區(qū)別,充分認(rèn)識信息技術(shù)對數(shù)學(xué)的促進(jìn)。
(2)教學(xué)重難點(diǎn)
重點(diǎn):1.秦九韶算法的特點(diǎn)
2.兩種排序法的排序步驟及計算機(jī)程序設(shè)計
難點(diǎn):1.秦九韶算法的先進(jìn)性理解
2.排序法的計算機(jī)程序設(shè)計
(3)學(xué)法與教學(xué)用具
學(xué)法:1.探究秦九韶算法對比一般計算方法中計算次數(shù)的改變,體會科學(xué)的計算。
2.模仿排序法中數(shù)字排序的步驟,理解計算機(jī)計算的一般步驟,領(lǐng)會數(shù)學(xué)計算在計算機(jī)上實(shí)施的要求。
教學(xué)用具:電腦,計算器,圖形計算器
(4)教學(xué)設(shè)想
(一)創(chuàng)設(shè)情景,揭示課題
我們已經(jīng)學(xué)過了多項(xiàng)式的計算,下面我們計算一下多項(xiàng)式
當(dāng)時的值,并統(tǒng)計所做的計算的種類及計算次數(shù)。
根據(jù)我們的計算統(tǒng)計可以得出我們共需要10次乘法運(yùn)算,5次加法運(yùn)算。
我們把多項(xiàng)式變形為:再統(tǒng)計一下計算當(dāng)時的值時需要的計算次數(shù),可以得出僅需4次乘法和5次加法運(yùn)算即可得出結(jié)果。顯然少了6次乘法運(yùn)算。這種算法就叫秦九韶算法。
(二)研探新知
1.秦九韶計算多項(xiàng)式的方法
例1 已知一個5次多項(xiàng)式為
用秦九韶算法求這個多項(xiàng)式當(dāng)時的值。
解:略
思考:(1)例1計算時需要多少次乘法計算?多少次加法計算?
(2)在利用秦九韶算法計算n次多項(xiàng)式當(dāng)時需要多少次乘法計算和多少次加法計算?
練習(xí):利用秦九韶算法計算
當(dāng)時的值,并統(tǒng)計需要多少次乘法計算和多少次加法計算?
例2 設(shè)計利用秦九韶算法計算5次多項(xiàng)式
當(dāng)時的值的程序框圖。
解:程序框圖如下:
練習(xí):利用程序框圖試編寫B(tài)ASIC程序并在計算機(jī)上測試自己的程序。
2.排序
在信息技術(shù)課中我們學(xué)習(xí)過電子表格,電子表格對分?jǐn)?shù)的排序非常簡單,那么電子計算機(jī)是怎么對數(shù)據(jù)進(jìn)行排序的呢?
閱讀課本P30—P31面的內(nèi)容,回答下面的問題:
(1)排序法中的直接插入排序法與冒泡排序法的步驟有什么區(qū)別?
(2)冒泡法排序中對5個數(shù)字進(jìn)行排序最多需要多少趟?
(3)在冒泡法排序?qū)?個數(shù)字進(jìn)行排序的每一趟中需要比較大小幾次?
游戲:5位同學(xué)每人拿一個數(shù)字牌在講臺上演示冒泡排序法對5個數(shù)據(jù)4,11,7,9,6排序的過程,讓學(xué)生通過觀察敘述冒泡排序法的主要步驟.并結(jié)合步驟解決例3的問題.
例3 用冒泡排序法對數(shù)據(jù)7,5,3,9,1從小到大進(jìn)行排序
解:P32
練習(xí):寫出用冒泡排序法對5個數(shù)據(jù)4,11,7,9,6排序的過程中每一趟排序的結(jié)果.
例4 設(shè)計冒泡排序法對5個數(shù)據(jù)進(jìn)行排序的程序框圖.
解: 程序框圖如下:
思考:直接排序法的程序框圖如何設(shè)計?可否把上述程序框圖轉(zhuǎn)化為程序?
練習(xí):用直接排序法對例3中的數(shù)據(jù)從小到大排序
3.小結(jié):
(1)秦九韶算法計算多項(xiàng)式的值及程序設(shè)計
(2)數(shù)字排序法中的常見的兩種排序法直接插入排序法與冒泡排序法
(3)冒泡法排序的計算機(jī)程序框圖設(shè)計
(5)評價設(shè)計
作業(yè):P38 A(2)(3)
補(bǔ)充:設(shè)計程序框圖對上述兩組數(shù)進(jìn)行排序
第五課時 進(jìn)位制
(1)教學(xué)目標(biāo)
(a)知識與技能
了解各種進(jìn)位制與十進(jìn)制之間轉(zhuǎn)換的規(guī)律,會利用各種進(jìn)位制與十進(jìn)制之間的聯(lián)系進(jìn)行各種進(jìn)位制之間的轉(zhuǎn)換。
(b)過程與方法
學(xué)習(xí)各種進(jìn)位制轉(zhuǎn)換成十進(jìn)制的計算方法,研究十進(jìn)制轉(zhuǎn)換為各種進(jìn)位制的除k去余法,并理解其中的數(shù)學(xué)規(guī)律。
(c)情態(tài)與價值
領(lǐng)悟十進(jìn)制,二進(jìn)制的特點(diǎn),了解計算機(jī)的電路與二進(jìn)制的聯(lián)系,進(jìn)一步認(rèn)識到計算機(jī)與數(shù)學(xué)的聯(lián)系。
(2)教學(xué)重難點(diǎn)
重點(diǎn):各進(jìn)位制表示數(shù)的方法及各進(jìn)位制之間的轉(zhuǎn)換
難點(diǎn):除k去余法的理解以及各進(jìn)位制之間轉(zhuǎn)換的程序框圖的設(shè)計
(3)學(xué)法與教學(xué)用具
學(xué)法:在學(xué)習(xí)各種進(jìn)位制特點(diǎn)的同時探討進(jìn)位制表示數(shù)與十進(jìn)制表示數(shù)的區(qū)別與聯(lián)系,熟悉各種進(jìn)位制表示數(shù)的方法,從而理解十進(jìn)制轉(zhuǎn)換為各種進(jìn)位制的除k去余法。
教學(xué)用具:電腦,計算器,圖形計算器
(4)教學(xué)設(shè)想
(一)創(chuàng)設(shè)情景,揭示課題
我們常見的數(shù)字都是十進(jìn)制的,但是并不是生活中的每一種數(shù)字都是十進(jìn)制的.比如時間和角度的單位用六十進(jìn)位制,電子計算機(jī)用的是二進(jìn)制.那么什么是進(jìn)位制?不同的進(jìn)位制之間又又什么聯(lián)系呢?
(二)研探新知
進(jìn)位制是一種記數(shù)方式,用有限的數(shù)字在不同的位置表示不同的數(shù)值。可使用數(shù)字符號的個數(shù)稱為基數(shù),基數(shù)為n,即可稱n進(jìn)位制,簡稱n進(jìn)制?,F(xiàn)在最常用的是十進(jìn)制,通常使用10個阿拉伯?dāng)?shù)字0-9進(jìn)行記數(shù)。
對于任何一個數(shù),我們可以用不同的進(jìn)位制來表示。比如:十進(jìn)數(shù)57,可以用二進(jìn)制表示為111001,也可以用八進(jìn)制表示為71、用十六進(jìn)制表示為39,它們所代表的數(shù)值都是一樣的。
表示各種進(jìn)位制數(shù)一般在數(shù)字右下腳加注來表示,如111001(2)表示二進(jìn)制數(shù),34(5)表示5進(jìn)制數(shù).
電子計算機(jī)一般都使用二進(jìn)制,下面我們來進(jìn)行二進(jìn)制與十進(jìn)制之間的轉(zhuǎn)化
例1 把二進(jìn)制數(shù)110011(2)化為十進(jìn)制數(shù).
解:110011=1*25+1*24+0*23+1*24+0*22+1*21+1*20
=32+16+2+1
=51
例2 把89化為二進(jìn)制數(shù).
解:根據(jù)二進(jìn)制數(shù)滿二進(jìn)一的原則,可以用2連續(xù)去除89或所得商,然后去余數(shù).
具體的計算方法如下:
89=2*44+1
44=2*22+0
22=2*11+0
11=2*5+1
5=2*2+1
所以:89=2*(2*(2*(2*(2*2+1)+1)+0)+0)+1
=1*26+0*25+1*24+1*23+0*22+0*21+1*20
=1011001(2)
這種算法叫做除2取余法,還可以用下面的除法算式表示:
89
44
22
11
5
2
1
2
2
2
2
2
2
2
0
余數(shù)
1
0
0
1
1
0
1
把上式中的各步所得的余數(shù)從下到上排列即可得到89=1011001(2)
上述方法也可以推廣為把十進(jìn)制化為k進(jìn)制數(shù)的算法,這種算法成為除k取余法.
當(dāng)數(shù)字較小時,也可直接利用各進(jìn)位制表示數(shù)的特點(diǎn),都是以冪的形式來表示各位數(shù)字,比如2*103表示千位數(shù)字是2,所以可以直接求出各位數(shù)字.即把89轉(zhuǎn)換為二進(jìn)制數(shù)時,直接觀察得出89與64最接近故89=64*1+25
同理:25=16*1+9
9=8*!+1
即89=64*1+16*1+8*!+1=1*26+1*24+1*23+1*20
位數(shù)
6
5
4
3
2
1
0
數(shù)字
1
0
1
1
0
0
1
即89=1011001(2)
練習(xí):(1)把73轉(zhuǎn)換為二進(jìn)制數(shù)
(2)利用除k取余法把89轉(zhuǎn)換為5進(jìn)制數(shù)
把k進(jìn)制數(shù)a(共有n位)轉(zhuǎn)換為十進(jìn)制數(shù)b的過程可以利用計算機(jī)程序來實(shí)現(xiàn),語句為:
INPUT a,k,n
i=1
b=0
WHILE i<=n
t=GET a[i]
b=b+t*k^(i-1)
i=i+1
WEND
PRINT b
END
練習(xí):(1)請根據(jù)上述程序畫出程序框圖.
參考程序框圖:
(2)設(shè)計一個算法,實(shí)現(xiàn)把k進(jìn)制數(shù)a(共有n位)轉(zhuǎn)換為十進(jìn)制數(shù)b的過程的程序中的GET函數(shù)的功能,輸入一個正5位數(shù),取出它的各位數(shù)字,并輸出.
小結(jié):
(1)進(jìn)位制的概念及表示方法
(2)十進(jìn)制與二進(jìn)制之間轉(zhuǎn)換的方法及計算機(jī)程序
(5)評價設(shè)計
作業(yè):P38 A(4)
補(bǔ)充:設(shè)計程序框圖把一個八進(jìn)制數(shù)23456轉(zhuǎn)換成十進(jìn)制數(shù).
鏈接地址:http://appdesigncorp.com/p-2625932.html