湖北省巴東一中高二數(shù)學教案 必修三:算法案例_第1頁
湖北省巴東一中高二數(shù)學教案 必修三:算法案例_第2頁
湖北省巴東一中高二數(shù)學教案 必修三:算法案例_第3頁
湖北省巴東一中高二數(shù)學教案 必修三:算法案例_第4頁
湖北省巴東一中高二數(shù)學教案 必修三:算法案例_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1.3 算法案例一、教材分析 在學生學習了算法的初步知識,理解了表示算法的算法步驟、程序框圖和程序三種不同方式以后,再結(jié)合典型算法案例,讓學生經(jīng)歷設計算法解決問題的全過程,體驗算法在解決問題中的重要作用,體會算法的基本思想,提高邏輯思維能力,發(fā)展有條理地思考與數(shù)學表達能力.二、教學目標1、知識與技能(1)理解輾轉(zhuǎn)相除法與更相減損術(shù)中蘊含的數(shù)學原理,并能根據(jù)這些原理進行算法分析。(2)基本能根據(jù)算法語句與程序框圖的知識設計完整的程序框圖并寫出算法程序。(3)了解秦九韶算法的計算過程,并理解利用秦九韶算法可以減少計算次數(shù)提高計算效率的實質(zhì)。(4)掌握數(shù)據(jù)排序的原理能使用直接

2、排序法與冒泡排序法給一組數(shù)據(jù)排序,進而能設計冒泡排序法的程序框圖及程序,理解數(shù)學算法與計算機算法的區(qū)別,理解計算機對數(shù)學的輔助作用。(5)了解各種進位制與十進制之間轉(zhuǎn)換的規(guī)律,會利用各種進位制與十進制之間的聯(lián)系進行各種進位制之間的轉(zhuǎn)換。2、過程與方法(1)在輾轉(zhuǎn)相除法與更相減損術(shù)求最大公約數(shù)的學習過程中對比我們常見的約分求公因式的方法,比較它們在算法上的區(qū)別,并從程序的學習中體會數(shù)學的嚴謹,領(lǐng)會數(shù)學算法計算機處理的結(jié)合方式,初步掌握把數(shù)學算法轉(zhuǎn)化成計算機語言的一般步驟。(2)模仿秦九韶計算方法,體會古人計算構(gòu)思的巧妙。能根據(jù)排序法中的直接插入排序法與冒泡排序法的步驟,了解數(shù)學計算轉(zhuǎn)換為計算機計

3、算的途徑,從而探究計算機算法與數(shù)學算法的區(qū)別,體會計算機對數(shù)學學習的輔助作用。(3)學習各種進位制轉(zhuǎn)換成十進制的計算方法,研究十進制轉(zhuǎn)換為各種進位制的除k去余法,并理解其中的數(shù)學規(guī)律。3、情態(tài)與價值觀(1)通過閱讀中國古代數(shù)學中的算法案例,體會中國古代數(shù)學對世界數(shù)學發(fā)展的貢獻。(2)在學習古代數(shù)學家解決數(shù)學問題的方法的過程中培養(yǎng)嚴謹?shù)倪壿嬎季S能力,在利用算法解決數(shù)學問題的過程中培養(yǎng)理性的精神和動手實踐的能力。(3)通過對秦九韶算法的學習,了解中國古代數(shù)學家對數(shù)學的貢獻,充分認識到我國文化歷史的悠久。通過對排序法的學習,領(lǐng)會數(shù)學計算與計算機計算的區(qū)別,充分認識信息技術(shù)對數(shù)學的促進。(4)領(lǐng)悟十進

4、制,二進制的特點,了解計算機的電路與二進制的聯(lián)系,進一步認識到計算機與數(shù)學的聯(lián)系。三、重點難點教學重點:(1)引導學生得出自己設計的算法步驟、程序框圖和算法程序.(2)秦九韶算法的特點(3)兩種排序法的排序步驟及計算機程序設計(4)各進位制表示數(shù)的方法及各進位制之間的轉(zhuǎn)換教學難點:(1)體會算法的基本思想,提高邏輯思維能力,發(fā)展有條理地思考與數(shù)學表達能力.(2)秦九韶算法的先進性理解(3)排序法的計算機程序設計(4)除k去余法的理解以及各進位制之間轉(zhuǎn)換的程序框圖的設計四、課時安排 3課時五、教學設計第1課時 案例1 輾轉(zhuǎn)相除法與更相減損術(shù)(一)導入新課 思路1(情境導入) 大家喜歡打乒乓球吧,

5、由于東、西方文化及身體條件的不同,西方人喜歡橫握拍打球,東方人喜歡直握拍打球,對于同一個問題,東、西方人處理問題方式是有所不同的.在小學,我們學過求兩個正整數(shù)的最大公約數(shù)的方法:先用兩個數(shù)公有的質(zhì)因數(shù)連續(xù)去除,一直除到所得的商是互質(zhì)數(shù)為止,然后把所有的除數(shù)連乘起來. 當兩個數(shù)公有的質(zhì)因數(shù)較大時(如8 251與6 105),使用上述方法求最大公約數(shù)就比較困難.下面我們介紹兩種不同的算法輾轉(zhuǎn)相除法與更相減損術(shù),由此可以體會東、西方文化的差異. 思路2(直接導入) 前面我們學習了算法步驟、程序框圖和算法語句.今天我們將通過輾轉(zhuǎn)相除法與更相減損術(shù)來進一步體會算法的思想.(二)推進新課、新知探究、提出問

6、題(1)怎樣用短除法求最大公約數(shù)?(2)怎樣用窮舉法(也叫枚舉法)求最大公約數(shù)?(3)怎樣用輾轉(zhuǎn)相除法求最大公約數(shù)?(4)怎樣用更相減損術(shù)求最大公約數(shù)?討論結(jié)果:(1)短除法 求兩個正整數(shù)的最大公約數(shù)的步驟:先用兩個數(shù)公有的質(zhì)因數(shù)連續(xù)去除,一直除到所得的商是兩個互質(zhì)數(shù)為止,然后把所有的除數(shù)連乘起來.(2)窮舉法(也叫枚舉法) 窮舉法求兩個正整數(shù)的最大公約數(shù)的解題步驟:從兩個數(shù)中較小數(shù)開始由大到小列舉,直到找到公約數(shù)立即中斷列舉,得到的公約數(shù)便是最大公約數(shù).(3)輾轉(zhuǎn)相除法 輾轉(zhuǎn)相除法求兩個數(shù)的最大公約數(shù),其算法步驟可以描述如下: 第一步,給定兩個正整數(shù)m,n. 第二步,求余數(shù)r:計算m除以n,

7、將所得余數(shù)存放到變量r中. 第三步,更新被除數(shù)和余數(shù):m=n,n=r. 第四步,判斷余數(shù)r是否為0.若余數(shù)為0,則輸出結(jié)果;否則轉(zhuǎn)向第二步繼續(xù)循環(huán)執(zhí)行. 如此循環(huán),直到得到結(jié)果為止. 這種算法是由歐幾里得在公元前300年左右首先提出的,因而又叫歐幾里得算法.(4)更相減損術(shù) 我國早期也有解決求最大公約數(shù)問題的算法,就是更相減損術(shù). 九章算術(shù)是中國古代的數(shù)學專著,其中的“更相減損術(shù)”也可以用來求兩個數(shù)的最大公約數(shù),即“可半者半之,不可半者,副置分母、子之數(shù),以少減多,更相減損,求其等也.以等數(shù)約之.”翻譯為現(xiàn)代語言如下: 第一步,任意給定兩個正整數(shù),判斷它們是否都是偶數(shù),若是,用2約簡;若不是,

8、執(zhí)行第二步. 第二步,以較大的數(shù)減去較小的數(shù),接著把所得的差與較小的數(shù)比較,并以大數(shù)減小數(shù),繼續(xù)這個操作,直到所得的數(shù)相等為止,則這個數(shù)(等數(shù))或這個數(shù)與約簡的數(shù)的乘積就是所求的最大公約數(shù).(三)應用示例例1 用輾轉(zhuǎn)相除法求8 251與6 105的最大公約數(shù),寫出算法分析,畫出程序框圖,寫出算法程序.解:用兩數(shù)中較大的數(shù)除以較小的數(shù),求得商和余數(shù):8 251=6 1051+2 146.由此可得,6 105與2 146的公約數(shù)也是8 251與6 105的公約數(shù),反過來,8 251與6 105的公約數(shù)也是6 105與2 146的公約數(shù),所以它們的最大公約數(shù)相等.對6 105與2 146重復上述步驟

9、:6 105=2 1462+1 813.同理,2 146與1 813的最大公約數(shù)也是6 105與2 146的最大公約數(shù).繼續(xù)重復上述步驟:2 146=1 8131+333,1 813=3335+148,333=1482+37,148=374. 最后的除數(shù)37是148和37的最大公約數(shù),也就是8 251與6 105的最大公約數(shù). 這就是輾轉(zhuǎn)相除法.由除法的性質(zhì)可以知道,對于任意兩個正整數(shù),上述除法步驟總可以在有限步之后完成,從而總可以用輾轉(zhuǎn)相除法求出兩個正整數(shù)的最大公約數(shù).算法分析:從上面的例子可以看出,輾轉(zhuǎn)相除法中包含重復操作的步驟,因此可以用循環(huán)結(jié)構(gòu)來構(gòu)造算法.算法步驟如下:第一步,給定兩個

10、正整數(shù)m,n.第二步,計算m除以n所得的余數(shù)為r.第三步,m=n,n=r.第四步,若r=0,則m,n的最大公約數(shù)等于m;否則,返回第二步.程序框圖如下圖:程序:input m,ndo r=m mod n m=n n=rloop until r=0print mend點評:從教學實踐看,有些學生不能理解算法中的轉(zhuǎn)化過程,例如:求8 251與6 105的最大公約數(shù),為什么可以轉(zhuǎn)化為求6 105與2 146的公約數(shù).因為8 251=6 1051+2 146,可以化為8 251-6 1051=2 164,所以公約數(shù)能夠整除等式兩邊的數(shù),即6 105與2 146的公約數(shù)也是8 251與6 105的公約數(shù)

11、.變式訓練 你能用當型循環(huán)結(jié)構(gòu)構(gòu)造算法,求兩個正整數(shù)的最大公約數(shù)嗎?試畫出程序框圖和程序.解:當型循環(huán)結(jié)構(gòu)的程序框圖如下圖:程序:input m,nr=1while r0 r=m mod n m=n n=rwendprint mend例2 用更相減損術(shù)求98與63的最大公約數(shù).解:由于63不是偶數(shù),把98和63以大數(shù)減小數(shù),并輾轉(zhuǎn)相減,如下圖所示.98-63=3563-35=2835-28=728-7=2121-7=1414-7=7所以,98和63的最大公約數(shù)等于7.點評:更相減損術(shù)與輾轉(zhuǎn)相除法的比較:盡管兩種算法分別來源于東、西方古代數(shù)學名著,但是二者的算理卻是相似的,有異曲同工之妙主要區(qū)別

12、在于輾轉(zhuǎn)相除法進行的是除法運算,即輾轉(zhuǎn)相除;而更相減損術(shù)進行的是減法運算,即輾轉(zhuǎn)相減,但是實質(zhì)都是一個不斷的遞歸過程變式訓練 用輾轉(zhuǎn)相除法或者更相減損術(shù)求三個數(shù)324,243,135的最大公約數(shù).解:324=243181,243=8130,則324與243的最大公約數(shù)為81.又135=81154,81=54127,54=2720,則 81 與 135的最大公約數(shù)為27.所以,三個數(shù)324、243、135的最大公約數(shù)為27.另法:324243=81,24381=162,16281=81,則324與243的最大公約數(shù)為81.13581=54,8154=27,5427=27,則81與135的最大公約

13、數(shù)為27.所以,三個數(shù)324、243.135的最大公約數(shù)為27.例3 (1)用輾轉(zhuǎn)相除法求123和48的最大公約數(shù).(2)用更相減損術(shù)求80和36的最大公約數(shù).解:(1)輾轉(zhuǎn)相除法求最大公約數(shù)的過程如下:12324827,4812721,271216,21363,623+0,最后6能被3整除,得123和48的最大公約數(shù)為3.(2)我們將80作為大數(shù),36作為小數(shù),因為80和36都是偶數(shù),要除公因數(shù)2.802=40,362=18.40和18都是偶數(shù),要除公因數(shù)2.402=20,182=9.下面來求20與9的最大公約數(shù),209=11,119=2,92=7,72=5,52=3,32=1,21=1,可

14、得80和36的最大公約數(shù)為221=4.點評:對比兩種方法控制好算法的結(jié)束,輾轉(zhuǎn)相除法是到達余數(shù)為0,更相減損術(shù)是到達減數(shù)和差相等.變式訓練 分別用輾轉(zhuǎn)相除法和更相減損術(shù)求1 734,816的最大公約數(shù)解:輾轉(zhuǎn)相除法:1 734=8162+102,816=1028(余0),1 734與816的最大公約數(shù)是102更相減損術(shù):因為兩數(shù)皆為偶數(shù),首先除以2得到867,408,再求867與408的最大公約數(shù)867-408=459,459-408=51,408-51=357,357-51=306,306-51=255,255-51=204,204-51=153,153-51=102,102-51=51.1

15、 734與816的最大公約數(shù)是512=102利用更相減損術(shù)可另解:1 734816918,918816102,816102714,714102612,612102510,510102408,408102306,306102204,204102102.1 734與816的最大公約數(shù)是102(四)知能訓練 求319,377,116的最大公約數(shù)解:377=3191+58,319=585+29,58=292.377與319的最大公約數(shù)為29,再求29與116的最大公約數(shù)116=294.29與116的最大公約數(shù)為29.377,319,116的最大公約數(shù)為29.(五)拓展提升 試寫出利用更相減損術(shù)求兩個正

16、整數(shù)的最大公約數(shù)的程序解:更相減損術(shù)程序:input “m,n=”;m,nwhile mnif mn thenm-nelsem=n-mend ifwendprint mend(六)課堂小結(jié)(1)用輾轉(zhuǎn)相除法求最大公約數(shù).(2)用更相減損術(shù)求最大公約數(shù).思想方法:遞歸思想.(七)作業(yè) 分別用輾轉(zhuǎn)相除法和更相減損術(shù)求261,319的最大公約數(shù).分析:本題主要考查輾轉(zhuǎn)相除法和更相減損術(shù)及其應用使用輾轉(zhuǎn)相除法可依據(jù)m=nq+r,反復執(zhí)行,直到r=0為止;用更相減損術(shù)就是根據(jù)m-n=r,反復執(zhí)行,直到n=r為止解:輾轉(zhuǎn)相除法:319=2611+58,261=584+29,58=292.319與261的最

17、大公約數(shù)是29更相減損術(shù):319-261=58,261-58=203,203-58=145,145-58=87,87-58=29,58-29=29,319與261的最大公約數(shù)是29第2課時 案例2 秦九韶算法(一)導入新課 思路1(情境導入) 大家都喜歡吃蘋果吧,我們吃蘋果都是從外到里一口一口的吃,而蟲子卻是先鉆到蘋果里面從里到外一口一口的吃,由此看來處理同一個問題的方法多種多樣.怎樣求多項式f(x)=x5+x4+x3+x2+x+1當x=5時的值呢?方法也是多種多樣的,今天我們開始學習秦九韶算法. 思路2(直接導入) 前面我們學習了輾轉(zhuǎn)相除法與更相減損術(shù), 今天我們開始學習秦九韶算法.(二)推

18、進新課、新知探究、提出問題(1)求多項式f(x)=x5+x4+x3+x2+x+1當x=5時的值有哪些方法?比較它們的特點.(2)什么是秦九韶算法?(3)怎樣評價一個算法的好壞?討論結(jié)果:(1)怎樣求多項式f(x)=x5+x4+x3+x2+x+1當x=5時的值呢? 一個自然的做法就是把5代入多項式f(x),計算各項的值,然后把它們加起來,這時,我們一共做了1+2+3+4=10次乘法運算,5次加法運算. 另一種做法是先計算x2的值,然后依次計算x2x,(x2x)x,(x2x)x)x的值,這樣每次都可以利用上一次計算的結(jié)果,這時,我們一共做了4次乘法運算,5次加法運算. 第二種做法與第一種做法相比,

19、乘法的運算次數(shù)減少了,因而能夠提高運算效率,對于計算機來說,做一次乘法運算所用的時間比做一次加法運算要長得多,所以采用第二種做法,計算機能更快地得到結(jié)果.(2)上面問題有沒有更有效的算法呢?我國南宋時期的數(shù)學家秦九韶(約12021261)在他的著作數(shù)書九章中提出了下面的算法: 把一個n次多項式f(x)=anxn+an-1xn-1+a1x+a0改寫成如下形式:f(x)=anxn+an-1xn-1+a1x+a0=(anxn-1+an-1xn-2+a1)x+ a0=(anxn-2+an-1xn-3+a2)x+a1)x+a0=(anx+an-1)x+an-2)x+a1)x+a0.求多項式的值時,首先計

20、算最內(nèi)層括號內(nèi)一次多項式的值,即v1=anx+an-1,然后由內(nèi)向外逐層計算一次多項式的值,即v2=v1x+an-2,v3=v2x+an-3,vn=vn-1x+a0,這樣,求n次多項式f(x)的值就轉(zhuǎn)化為求n個一次多項式的值.上述方法稱為秦九韶算法.直到今天,這種算法仍是多項式求值比較先進的算法.(3)計算機的一個很重要的特點就是運算速度快,但即便如此,算法好壞的一個重要標志仍然是運算的次數(shù).如果一個算法從理論上需要超出計算機允許范圍內(nèi)的運算次數(shù),那么這樣的算法就只能是一個理論的算法.(三)應用示例例1 已知一個5次多項式為f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8,

21、用秦九韶算法求這個多項式當x=5時的值.解:根據(jù)秦九韶算法,把多項式改寫成如下形式:f(x)=((5x+2)x+3.5)x-2.6)x+1.7)x-0.8,按照從內(nèi)到外的順序,依次計算一次多項式當x=5時的值:v0=5;v1=55+2=27;v2=275+3.5=138.5;v3=138.55-2.6=689.9;v4=689.95+1.7=3 451.2;v5=3 415.25-0.8=17 255.2;所以,當x=5時,多項式的值等于17 255.2.算法分析:觀察上述秦九韶算法中的n個一次式,可見vk的計算要用到vk-1的值,若令v0=an,我們可以得到下面的公式:這是一個在秦九韶算法中

22、反復執(zhí)行的步驟,因此可用循環(huán)結(jié)構(gòu)來實現(xiàn).算法步驟如下:第一步,輸入多項式次數(shù)n、最高次的系數(shù)an和x的值.第二步,將v的值初始化為an,將i的值初始化為n-1.第三步,輸入i次項的系數(shù)ai.第四步,v=vx+ai,i=i-1.第五步,判斷i是否大于或等于0.若是,則返回第三步;否則,輸出多項式的值v.程序框圖如下圖:程序:input “n=”;ninput “an=”;ainput “x=”;xv=ai=n-1while i=0 print “i=”;i input “ai=”;a v=v*x+a i=i-1wendprint vend點評:本題是古老算法與現(xiàn)代計算機語言的完美結(jié)合,詳盡介紹了

23、思想方法、算法步驟、程序框圖和算法語句,是一個典型的算法案例.變式訓練 請以5次多項式函數(shù)為例說明秦九韶算法,并畫出程序框圖.解:設f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0首先,讓我們以5次多項式一步步地進行改寫:f(x)=(a5x4+a4x3+a3x2+a2x+a1)x+a0=(a5x3+a4x2+ a3x+a2)x+a1)x+a0=(a5x2+a4x+ a3)x+a2)x+a1)x+a0=(a5x+a4)x+ a3)x+a2)x+a1)x+a0.上面的分層計算,只用了小括號,計算時,首先計算最內(nèi)層的括號,然后由里向外逐層計算,直到最外層的括號,然后加上常數(shù)項即可.程序

24、框圖如下圖:例2 已知n次多項式pn(x)=a0xn+a1xn-1+an-1x+an,如果在一種算法中,計算(k=2,3,4,n)的值需要k1次乘法,計算p3(x0)的值共需要9次運算(6次乘法,3次加法),那么計算p10(x0)的值共需要_次運算.下面給出一種減少運算次數(shù)的算法:p0(x)=a0,pk+1(x)=xpk(x)+ak+1(k0,1,2,n1)利用該算法,計算p3(x0)的值共需要6次運算,計算p10(x0)的值共需要_次運算.答案:65 20點評:秦九韶算法適用一般的多項式f(x)=anxn+an-1xn-1+a1x+a0的求值問題.直接法乘法運算的次數(shù)最多可到達,加法最多n次

25、.秦九韶算法通過轉(zhuǎn)化把乘法運算的次數(shù)減少到最多n次,加法最多n次.例3 已知多項式函數(shù)f(x)=2x55x44x3+3x26x+7,求當x=5時的函數(shù)的值.解析:把多項式變形為:f(x)=2x55x44x3+3x26x+7=(2x5)x4)x+3)x6)x+7.計算的過程可以列表表示為:最后的系數(shù)2 677即為所求的值.算法過程:v0=2;v1=255=5;v2=554=21;v3=215+3=108;v4=10856=534;v5=5345+7=2 677.點評:如果多項式函數(shù)中有缺項的話,要以系數(shù)為0的項補齊后再計算.(四)知能訓練當x=2時,用秦九韶算法求多項式f(x)=3x5+8x4-

26、3x3+5x2+12x-6的值解法一:根據(jù)秦九韶算法,把多項式改寫成如下形式:f(x)=(3x+8)x-3)x+5)x+12)x-6.按照從內(nèi)到外的順序,依次計算一次多項式當x=2時的值.v0=3;v1=v02+8=32+8=14;v2=v12-3=142-3=25;v3=v22+5=252+5=55;v4=v32+12=552+12=122;v5=v42-6=1222-6=238.當x=2時,多項式的值為238.解法二:f(x)=(3x+8)x-3)x+5)x+12)x-6,則f(2)=(32+8)23)2+5)2+12)26238(五)拓展提升 用秦九韶算法求多項式f(x)=7x7+6x6

27、+5x5+4x4+3x3+2x2+x當x=3時的值.解:f(x)=(7x+6)+5)x+4)x+3)x+2)x+1)xv0=7;v1=73+6=27;v2=273+5=86;v3=863+4=262;v4=2623+3=789;v5=7893+2=2 369;v6=2 3693+1=7 108;v7=7 1083+0=21 324.f(3)=21 324.(六)課堂小結(jié)1.秦九韶算法的方法和步驟.2.秦九韶算法的計算機程序框圖.(七)作業(yè)已知函數(shù)f(x)=x32x25x+8,求f(9)的值.解:f(x)=x32x25x+8=(x22x5)x+8=(x2)x5)x+8 f(9)=(92)95)9

28、+8=530.第3課時 案例3 進位制(一)導入新課情境導入 在日常生活中,我們最熟悉、最常用的是十進制,據(jù)說這與古人曾以手指計數(shù)有關(guān),愛好天文學的古人也曾經(jīng)采用七進制、十二進制、六十進制,至今我們?nèi)匀皇褂靡恢芷咛?、一年十二個月、一小時六十分的歷法.今天我們來學習一下進位制.(二)推進新課、新知探究、提出問題(1)你都了解哪些進位制?(2)舉出常見的進位制.(3)思考非十進制數(shù)轉(zhuǎn)換為十進制數(shù)的轉(zhuǎn)化方法.(4)思考十進制數(shù)轉(zhuǎn)換成非十進制數(shù)及非十進制之間的轉(zhuǎn)換方法.活動:先讓學生思考或討論后再回答,經(jīng)教師提示、點撥,對回答正確的學生及時表揚,對回答不準確的學生提示引導考慮問題的思路討論結(jié)果:(1)

29、進位制是人們?yōu)榱擞嫈?shù)和運算方便而約定的計數(shù)系統(tǒng),約定滿二進一,就是二進制;滿十進一,就是十進制;滿十二進一,就是十二進制;滿六十進一,就是六十進制等等.也就是說:“滿幾進一”就是幾進制,幾進制的基數(shù)(都是大于1的整數(shù))就是幾.(2)在日常生活中,我們最熟悉、最常用的是十進制,據(jù)說這與古人曾以手指計數(shù)有關(guān),愛好天文學的古人也曾經(jīng)采用七進制、十二進制、六十進制,至今我們?nèi)匀皇褂靡恢芷咛臁⒁荒晔€月、一小時六十分的歷法.(3)十進制使用09十個數(shù)字.計數(shù)時,幾個數(shù)字排成一行,從右起,第一位是個位,個位上的數(shù)字是幾,就表示幾個一;第二位是十位,十位上的數(shù)字是幾,就表示幾個十;接著依次是百位、千位、萬

30、位例如:十進制數(shù)3 721中的3表示3個千,7表示7個百,2表示2個十,1表示1個一.于是,我們得到下面的式子:3 721=3103+7102+2101+1100.與十進制類似,其他的進位制也可以按照位置原則計數(shù).由于每一種進位制的基數(shù)不同,所用的數(shù)字個數(shù)也不同.如二進制用0和1兩個數(shù)字,七進制用06七個數(shù)字.一般地,若k是一個大于1的整數(shù),那么以k為基數(shù)的k進制數(shù)可以表示為一串數(shù)字連寫在一起的形式 anan-1a1a0(k)(0ank,0an-1,a1,a0k).其他進位制的數(shù)也可以表示成不同位上數(shù)字與基數(shù)的冪的乘積之和的形式,如110 011(2)=125+124+023+022+121+

31、120, 7 342(8)=783+382+481+280.非十進制數(shù)轉(zhuǎn)換為十進制數(shù)比較簡單,只要計算下面的式子值即可:anan-1a1a0(k)=ankn+an-1kn-1+a1k+a0.第一步:從左到右依次取出k進制數(shù)anan-1a1a0(k)各位上的數(shù)字,乘以相應的k的冪,k的冪從n開始取值,每次遞減1,遞減到0,即ankn,an-1kn-1,a1k,a0k0;第二步:把所得到的乘積加起來,所得的結(jié)果就是相應的十進制數(shù).(4)關(guān)于進位制的轉(zhuǎn)換,教科書上以十進制和二進制之間的轉(zhuǎn)換為例講解,并推廣到十進制和其他進制之間的轉(zhuǎn)換.這樣做的原因是,計算機是以二進制的形式進行存儲和計算數(shù)據(jù)的,而一般

32、我們傳輸給計算機的數(shù)據(jù)是十進制數(shù)據(jù),因此計算機必須先將十進制數(shù)轉(zhuǎn)換為二進制數(shù),再處理,顯然運算后首次得到的結(jié)果為二進制數(shù),同時計算機又把運算結(jié)果由二進制數(shù)轉(zhuǎn)換成十進制數(shù)輸出.1十進制數(shù)轉(zhuǎn)換成非十進制數(shù)把十進制數(shù)轉(zhuǎn)換為二進制數(shù),教科書上提供了“除2取余法”,我們可以類比得到十進制數(shù)轉(zhuǎn)換成k進制數(shù)的算法“除k取余法”.2非十進制之間的轉(zhuǎn)換一個自然的想法是利用十進制作為橋梁.教科書上提供了一個二進制數(shù)據(jù)與16進制數(shù)據(jù)之間的互化的方法,也就是先由二進制數(shù)轉(zhuǎn)化為十進制數(shù),再由十進制數(shù)轉(zhuǎn)化成為16進制數(shù).(三)應用示例思路1例1 把二進制數(shù)110 011(2)化為十進制數(shù).解:110 011(2)=125

33、+124+023+022+121+120=132+116+12+1=51.點評:先把二進制數(shù)寫成不同位上數(shù)字與2的冪的乘積之和的形式,再按照十進制的運算規(guī)則計算出結(jié)果.變式訓練設計一個算法,把k進制數(shù)a(共有n位)化為十進制數(shù)b.算法分析:從例1的計算過程可以看出,計算k進制數(shù)a的右數(shù)第i位數(shù)字ai與ki-1的乘積aiki-1,再將其累加,這是一個重復操作的步驟.所以,可以用循環(huán)結(jié)構(gòu)來構(gòu)造算法. 算法步驟如下:第一步,輸入a,k和n的值.第二步,將b的值初始化為0,i的值初始化為1.第三步,b=b+aiki-1,i=i+1.第四步,判斷in是否成立.若是,則執(zhí)行第五步;否則,返回第三步.第五步

34、,輸出b的值.程序框圖如下圖:程序:input “a,k,n=”;a,k,nb=0i=1t=a mod 10do b=b+t*k(i-1) a=a10 t=a mod 10 i=i+1loop until inprint bend例2 把89化為二進制數(shù).解:根據(jù)二進制數(shù)“滿二進一”的原則,可以用2連續(xù)去除89或所得商,然后取余數(shù).具體計算方法如下:因為89=244+1,44=222+0,22=211+0,11=25+1,5=22+1,2=21+0,1=20+1,所以89=2(2(2(2(22+1)+1)+0)+0)+1=2(2(2(2(22+1)+1)+0)+0)+1=126+025+124

35、+123+022+021+120=1 011 001(2).這種算法叫做除2取余法,還可以用下面的除法算式表示:把上式中各步所得的余數(shù)從下到上排列,得到89=1 011 001(2).上述方法也可以推廣為把十進制數(shù)化為k進制數(shù)的算法,稱為除k取余法.變式訓練 設計一個程序,實現(xiàn)“除k取余法”.算法分析:從例2的計算過程可以看出如下的規(guī)律: 若十制數(shù)a除以k所得商是q0,余數(shù)是r0,即a=kq0+r0,則r0是a的k進制數(shù)的右數(shù)第1位數(shù). 若q0除以k所得的商是q1,余數(shù)是r1,即q0=kq1+r1,則r1是a的k進制數(shù)的左數(shù)第2位數(shù). 若qn-1除以k所得的商是0,余數(shù)是rn,即qn-1=rn

36、,則rn是a的k進制數(shù)的左數(shù)第1位數(shù). 這樣,我們可以得到算法步驟如下: 第一步,給定十進制正整數(shù)a和轉(zhuǎn)化后的數(shù)的基數(shù)k. 第二步,求出a除以k所得的商q,余數(shù)r. 第三步,把得到的余數(shù)依次從右到左排列. 第四步,若q0,則a=q,返回第二步;否則,輸出全部余數(shù)r排列得到的k進制數(shù). 程序框圖如下圖:程序:input “a,k=”;a,kb=0i=0do q=ak r=a mod k b=b+r*10i i=i+1 a=qloop until q=0print bend思路2例1 將8進制數(shù)314 706(8)化為十進制數(shù),并編寫出一個實現(xiàn)算法的程序.解:314 706(8)=385+184+

37、483+782+081+680=104 902.所以,化為十進制數(shù)是104 902.點評:利用把k進制數(shù)轉(zhuǎn)化為十進制數(shù)的一般方法就可以把8進制數(shù)314 706(8)化為十進制數(shù).例2 把十進制數(shù)89化為三進制數(shù),并寫出程序語句.解:具體的計算方法如下:89=329+2,29=39+2,9=33+0,3=31+0,1=30+1,所以:89(10)=10 022(3).點評:根據(jù)三進制數(shù)滿三進一的原則,可以用3連續(xù)去除89及其所得的商,然后按倒序的順序取出余數(shù)組成數(shù)據(jù)即可.(四)知能訓練 將十進制數(shù)34轉(zhuǎn)化為二進制數(shù)分析:把一個十進制數(shù)轉(zhuǎn)換成二進制數(shù),用2反復去除這個十進制數(shù),直到商為0,所得余數(shù)

38、(從下往上讀)就是所求解:即34(10)=100 010(2)(五)拓展提升把1 234(5)分別轉(zhuǎn)化為十進制數(shù)和八進制數(shù)解:1 234(5)=153+252+35+4194則1 234(5)=302(8)所以,1 234(5)=194302(8)點評:本題主要考查進位制以及不同進位制數(shù)的互化五進制數(shù)直接利用公式就可以轉(zhuǎn)化為十進制數(shù);五進制數(shù)和八進制數(shù)之間需要借助于十進制數(shù)來轉(zhuǎn)化(六)課堂小結(jié)(1)理解算法與進位制的關(guān)系.(2)熟練掌握各種進位制之間轉(zhuǎn)化.(七)作業(yè) 習題1.3a組3、4.算法初步 復習課一、教學目標1、知識與技能(1)明確算法的含義,熟悉算法的三種基本結(jié)構(gòu):順序、條件和循環(huán),

39、以及基本的算法語句。(2)能熟練運用輾轉(zhuǎn)相除法與更相減損術(shù)、秦九韶算法、排序、進位制等典型的算法知識解決同類問題。2、過程與方法在復習舊知識的過程中把知識系統(tǒng)化,通過模仿、操作、探索,經(jīng)歷設計程序框圖表達解決問題的過程。在具體問題的解決過程中進一步理解程序框圖的三種基本邏輯結(jié)構(gòu):順序、條件分支、循環(huán)。3、情態(tài)與價值觀算法內(nèi)容反映了時代的特點,同時也是中國數(shù)學課程內(nèi)容的新特色。中國古代數(shù)學以算法為主要特征,取得了舉世公認的偉大成就。現(xiàn)代信息技術(shù)的發(fā)展使算法重新煥發(fā)了前所未有的生機和活力,算法進入中學數(shù)學課程,既反映了時代的要求,也是中國古代數(shù)學思想在一個新的層次上的復興,也就成為了中國數(shù)學課程的一個新的特色。二、教學重難點重點:算法的基本知識與算法對應的程序框圖的設計難點:與算法對應的程序框圖的設計及算法程序的編寫三、學法與教學用具學法:利用實例讓學生體會基本的算法思想,提高邏輯思維能力,對比信息技術(shù)課程中的程序語言的學習和程序設計,了解數(shù)學算法與信息技術(shù)上的區(qū)別。通過案例的運用,引導學生體會算法的核心是一般意義上的解決問題策略的具體化。面臨一個問題時,在分析、思考后獲得了解決它的基本思路(解題策略),將這種思路具體化、條理化,用適當?shù)姆绞奖磉_出來(畫出程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論