高中數(shù)學 (1.3 算法案例)示范教案 新人教A版必修
《高中數(shù)學 (1.3 算法案例)示范教案 新人教A版必修》由會員分享,可在線閱讀,更多相關《高中數(shù)學 (1.3 算法案例)示范教案 新人教A版必修(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 1.3 算法案例 整體設計 教學分析 在學生學習了算法的初步知識,理解了表示算法的算法步驟、程序框圖和程序三種不同方式以后,再結(jié)合典型算法案例,讓學生經(jīng)歷設計算法解決問題的全過程,體驗算法在解決問題中的重要作用,體會算法的基本思想,提高邏輯思維能力,發(fā)展有條理地思考與數(shù)學表達能力. 三維目標 1.理解算法案例的算法步驟和程序框圖. 2.引導學生得出自己設計的算法程序. 3. 體會算法的基本思想,提高邏輯思維能力,發(fā)展有條理地思考與數(shù)學表達能力. 重點難點 教學重點:引導學生得出自己設計的算法步驟、程序框圖和算法程序. 教學難點:體會算法的基本思想,提高邏輯思維
2、能力,發(fā)展有條理地思考與數(shù)學表達能力. 課時安排 3課時 教學過程 第1課時 案例1 輾轉(zhuǎn)相除法與更相減損術 導入新課 思路1(情境導入) 大家喜歡打乒乓球吧,由于東、西方文化及身體條件的不同,西方人喜歡橫握拍打球,東方人喜歡直握拍打球,對于同一個問題,東、西方人處理問題方式是有所不同的.在小學,我們學過求兩個正整數(shù)的最大公約數(shù)的方法:先用兩個數(shù)公有的質(zhì)因數(shù)連續(xù)去除,一直除到所得的商是互質(zhì)數(shù)為止,然后把所有的除數(shù)連乘起來. 當兩個數(shù)公有的質(zhì)因數(shù)較大時(如8 251與6 105),使用上述方法求最大公約數(shù)就比較困難.下面我們介紹兩種不同的算法——輾轉(zhuǎn)
3、相除法與更相減損術,由此可以體會東、西方文化的差異. 思路2(直接導入) 前面我們學習了算法步驟、程序框圖和算法語句.今天我們將通過輾轉(zhuǎn)相除法與更相減損術來進一步體會算法的思想. 推進新課 新知探究 提出問題 (1)怎樣用短除法求最大公約數(shù)? (2)怎樣用窮舉法(也叫枚舉法)求最大公約數(shù)? (3)怎樣用輾轉(zhuǎn)相除法求最大公約數(shù)? (4)怎樣用更相減損術求最大公約數(shù)? 討論結(jié)果: (1)短除法 求兩個正整數(shù)的最大公約數(shù)的步驟:先用兩個數(shù)公有的質(zhì)因數(shù)連續(xù)去除,一直除到所得的商是兩個互質(zhì)數(shù)為止,然后把所有的除數(shù)連乘起來. (2)窮舉法(也叫枚舉法)
4、 窮舉法求兩個正整數(shù)的最大公約數(shù)的解題步驟:從兩個數(shù)中較小數(shù)開始由大到小列舉,直到找到公約數(shù)立即中斷列舉,得到的公約數(shù)便是最大公約數(shù). 1 / 17 (3)輾轉(zhuǎn)相除法 輾轉(zhuǎn)相除法求兩個數(shù)的最大公約數(shù),其算法步驟可以描述如下: 第一步,給定兩個正整數(shù)m,n. 第二步,求余數(shù)r:計算m除以n,將所得余數(shù)存放到變量r中. 第三步,更新被除數(shù)和余數(shù):m=n,n=r. 第四步,判斷余數(shù)r是否為0.若余數(shù)為0,則輸出結(jié)果;否則轉(zhuǎn)向第二步繼續(xù)循環(huán)執(zhí)行. 如此循環(huán),直到得到結(jié)果為止. 這種算法是由歐幾里得在公元前300年左右首先提出的,
5、因而又叫歐幾里得算法. (4)更相減損術 我國早期也有解決求最大公約數(shù)問題的算法,就是更相減損術. 《九章算術》是中國古代的數(shù)學專著,其中的“更相減損術”也可以用來求兩個數(shù)的最大公約數(shù),即“可半者半之,不可半者,副置分母、子之數(shù),以少減多,更相減損,求其等也.以等數(shù)約之.”翻譯為現(xiàn)代語言如下: 第一步,任意給定兩個正整數(shù),判斷它們是否都是偶數(shù),若是,用2約簡;若不是,執(zhí)行第二步. 第二步,以較大的數(shù)減去較小的數(shù),接著把所得的差與較小的數(shù)比較,并以大數(shù)減小數(shù),繼續(xù)這個操作,直到所得的數(shù)相等為止,則這個數(shù)(等數(shù))或這個數(shù)與約簡的數(shù)的乘積就是所求的最大公約數(shù). 應用
6、示例 例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重復上述步驟:6 105=2 1462+1 813. 同理,2 146與1 813的最大公約數(shù)也是6 105與2 146的最大公約數(shù).繼續(xù)重復上述步驟: 2 146=1 8131+333,
7、 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)造算法. 算法步驟如下: 第一步,給定兩個正整數(shù)m,n. 第二步,計算m除以n所得的余數(shù)為r. 第三步,m=n,n=r. 第四步,若r=0,則m,n的最大公約數(shù)等于m
8、;否則,返回第二步. 程序框圖如下圖: 程序: INPUT m,n DO r=m MOD n m=n n=r LOOP UNTIL r=0 PRINT m END 點評:從教學實踐看,有些學生不能理解算法中的轉(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ù). 變式訓練 你能用當型循環(huán)結(jié)構(gòu)構(gòu)造算
9、法,求兩個正整數(shù)的最大公約數(shù)嗎?試畫出程序框圖和程序. 解:當型循環(huán)結(jié)構(gòu)的程序框圖如下圖: 程序: INPUT m,n r=1 WHILE r>0 r=m MOD n m=n n=r WEND PRINT m END 例2 用更相減損術求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. 點評:更相減損術與輾轉(zhuǎn)相除法的比較:盡管兩種算法分別來
10、源于東、西方古代數(shù)學名著,但是二者的算理卻是相似的,有異曲同工之妙.主要區(qū)別在于輾轉(zhuǎn)相除法進行的是除法運算,即輾轉(zhuǎn)相除;而更相減損術進行的是減法運算,即輾轉(zhuǎn)相減,但是實質(zhì)都是一個不斷的遞歸過程. 變式訓練 用輾轉(zhuǎn)相除法或者更相減損術求三個數(shù)324,243,135的最大公約數(shù). 解:324=2431+81, 243=813+0, 則324與243的最大公約數(shù)為81. 又135=811+54,81=541+27, 54=272+0, 則 81 與 135的最大公約數(shù)為27. 所以,三個數(shù)324、243、135的最大公約數(shù)為27. 另法:324-243=81,243-81
11、=162,162-81=81,則324與243的最大公約數(shù)為81. 135-81=54,81-54=27,54-27=27,則81與135的最大公約數(shù)為27. 所以,三個數(shù)324、243.135的最大公約數(shù)為27. 例3 (1)用輾轉(zhuǎn)相除法求123和48的最大公約數(shù). (2)用更相減損術求80和36的最大公約數(shù). 解:(1)輾轉(zhuǎn)相除法求最大公約數(shù)的過程如下: 123=248+27, 48=127+21, 27=121+6, 21=36+3, 6=23+0, 最后6能被3整除,得123和48的最大公約數(shù)為3. (2)我們將80作為大數(shù),36作為小數(shù),因為80和3
12、6都是偶數(shù),要除公因數(shù)2. 802=40,362=18. 40和18都是偶數(shù),要除公因數(shù)2. 402=20,182=9. 下面來求20與9的最大公約數(shù), 20-9=11, 11-9=2, 9-2=7, 7-2=5, 5-2=3, 3-2=1, 2-1=1, 可得80和36的最大公約數(shù)為221=4. 點評:對比兩種方法控制好算法的結(jié)束,輾轉(zhuǎn)相除法是到達余數(shù)為0,更相減損術是到達減數(shù)和差相等. 變式訓練 分別用輾轉(zhuǎn)相除法和更相減損術求1 734,816的最大公約數(shù). 解:輾轉(zhuǎn)相除法: 1 734=8162+102,816=1028(余0), ∴1 734
13、與816的最大公約數(shù)是102. 更相減損術:因為兩數(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 734與816的最大公約數(shù)是512=102. 利用更相減損術可另解: 1 734-816=918, 918-816=102, 816-102=714, 714-102=612, 612-102=510, 510-10
14、2=408, 408-102=306, 306-102=204, 204-102=102. ∴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ù)的最大公約數(shù)的程序. 解:更相減損術程序: INPUT “m,n=”;m,n
15、 WHILE m<>n IF m>n THEN m=m-n ELSE m=n-m END IF WEND PRINT m END 課堂小結(jié) (1)用輾轉(zhuǎn)相除法求最大公約數(shù). (2)用更相減損術求最大公約數(shù). 思想方法:遞歸思想. 作業(yè) 分別用輾轉(zhuǎn)相除法和更相減損術求261,319的最大公約數(shù). 分析:本題主要考查輾轉(zhuǎn)相除法和更相減損術及其應用.使用輾轉(zhuǎn)相除法可依據(jù)m=nq+r,反復執(zhí)行,直到r=0為止;用更相減損術就是根據(jù)m-n=r,反復執(zhí)行,直到n=r為止. 解:輾轉(zhuǎn)相除法: 319=2611+58, 261=584+29, 58=292.
16、∴319與261的最大公約數(shù)是29. 更相減損術: 319-261=58, 261-58=203, 203-58=145, 145-58=87, 87-58=29, 58-29=29, ∴319與261的最大公約數(shù)是29. 設計感想 數(shù)學不僅是一門科學,也是一種文化,本節(jié)的引入從東、西方文化的不同開始,逐步向?qū)W生滲透數(shù)學文化.從知識方面主要學習用兩種方法求兩個正整數(shù)的最大公約數(shù),從思想方法方面,主要學習遞歸思想.本節(jié)設置精彩例題,不僅讓學生學到知識,而且讓學生進一步體會算法的思想,培養(yǎng)學生的愛國主義情操. 第2課時 案例2 秦九韶算法 導入新課
17、 思路1(情境導入) 大家都喜歡吃蘋果吧,我們吃蘋果都是從外到里一口一口的吃,而蟲子卻是先鉆到蘋果里面從里到外一口一口的吃,由此看來處理同一個問題的方法多種多樣.怎樣求多項式f(x)=x5+x4+x3+x2+x+1當x=5時的值呢?方法也是多種多樣的,今天我們開始學習秦九韶算法. 思路2(直接導入) 前面我們學習了輾轉(zhuǎn)相除法與更相減損術, 今天我們開始學習秦九韶算法. 推進新課 新知探究 提出問題 (1)求多項式f(x)=x5+x4+x3+x2+x+1當x=5時的值有哪些方法?比較它們的特點. (2)什么是秦九韶算法? (3)怎樣評價一個算法的好壞
18、? 討論結(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次加法運算. 第二種做法與第一種做法相比,乘法的運算次數(shù)減少了,因而能夠提高運算效率,對于計算機來說,做一次乘法運算所用的時間比做一次加法運算要長得多,所以采用第二種做法,計算
19、機能更快地得到結(jié)果. (2)上面問題有沒有更有效的算法呢?我國南宋時期的數(shù)學家秦九韶(約1202~1261)在他的著作《數(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. 求多項式的值時,首先計算最內(nèi)層括號內(nèi)一次多項式的值,即 v1=anx+an-1
20、, 然后由內(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=a
22、n,我們可以得到下面的公式: 這是一個在秦九韶算法中反復執(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=”;n INPUT “an=”;a INPUT “x=”;x v=a i=n-1 WHILE i>=0 PRINT “i=”;i
23、INPUT “ai=”;a v=v*x+a i=i-1 WEND PRINT v END 點評:本題是古老算法與現(xiàn)代計算機語言的完美結(jié)合,詳盡介紹了思想方法、算法步驟、程序框圖和算法語句,是一個典型的算法案例. 變式訓練 請以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+
24、a2)x+a1)x+a0 =((((a5x+a4)x+ a3)x+a2)x+a1)x+a0. 上面的分層計算,只用了小括號,計算時,首先計算最內(nèi)層的括號,然后由里向外逐層計算,直到最外層的括號,然后加上常數(shù)項即可. 程序框圖如下圖: 例2 已知n次多項式Pn(x)=a0xn+a1xn-1+…+an-1x+an,如果在一種算法中,計算(k=2,3,4,…,n)的值需要k-1次乘法,計算P3(x0)的值共需要9次運算(6次乘法,3次加法),那么計算P10(x0)的值共需要__________次運算.下面給出一種減少運算次數(shù)的算法:P0(x)=a0,Pk+1(x)=xPk(x)
25、+ak+1(k=0,1,2,…,n-1).利用該算法,計算P3(x0)的值共需要6次運算,計算P10(x0)的值共需要___________次運算. 答案:65 20 點評:秦九韶算法適用一般的多項式f(x)=anxn+an-1xn-1+…+a1x+a0的求值問題.直接法乘法運算的次數(shù)最多可到達,加法最多n次.秦九韶算法通過轉(zhuǎn)化把乘法運算的次數(shù)減少到最多n次,加法最多n次. 例3 已知多項式函數(shù)f(x)=2x5-5x4-4x3+3x2-6x+7,求當x=5時的函數(shù)的值. 解析:把多項式變形為:f(x)=2x5-5x4-4x3+3x2-6x+7 =((((2x-5)x-4)x+3)
26、x-6)x+7. 計算的過程可以列表表示為: 最后的系數(shù)2 677即為所求的值. 算法過程: v0=2; v1=25-5=5; v2=55-4=21; v3=215+3=108; v4=1085-6=534; v5=5345+7=2 677. 點評:如果多項式函數(shù)中有缺項的話,要以系數(shù)為0的項補齊后再計算. 知能訓練 當x=2時,用秦九韶算法求多項式f(x)=3x5+8x4-3x3+5x2+12x-6的值. 解法一:根據(jù)秦九韶算法,把多項式改寫成如下形式: f(x)=((((3x+8)x-3)x+5)x+12)x-6. 按照從內(nèi)到外的順序,依次計算一次多項式當
27、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)2-3)2+5)2+12)2-6=238. 拓展提升 用秦九韶算法求多項式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x當x=3時的值. 解:f(x)=((((((7x+6)+5)x
28、+4)x+3)x+2)x+1)x v0=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)=x3-2x2-5x+8,求f(9)的值. 解:f(x)=x3-2x2-5x+8=(x2-2x-5)x+8=((x-2)x-5)x+8 ∴f(9)=((9-2)9-5)9+8=
29、530. 設計感想 古老的算法散發(fā)濃郁的現(xiàn)代氣息,這是一節(jié)充滿智慧的課.本節(jié)主要介紹了秦九韶算法. 通過對秦九韶算法的學習,對算法本身有哪些進一步的認識? 教師引導學生思考、討論、概括,小結(jié)時要關注如下幾點:(1)算法具有通用的特點,可以解決一類問題;(2)解決同一類問題,可以有不同的算法,但計算的效率是不同的,應該選擇高效的算法;(3)算法的種類雖多,但三種邏輯結(jié)構(gòu)可以有效地表達各種算法等等. 第3課時 案例3 進位制 導入新課 情境導入 在日常生活中,我們最熟悉、最常用的是十進制,據(jù)說這與古人曾以手指計數(shù)有關,愛好天文學的古人也曾經(jīng)采用七
30、進制、十二進制、六十進制,至今我們?nèi)匀皇褂靡恢芷咛臁⒁荒晔€月、一小時六十分的歷法.今天我們來學習一下進位制. 推進新課 新知探究 提出問題 (1)你都了解哪些進位制? (2)舉出常見的進位制. (3)思考非十進制數(shù)轉(zhuǎn)換為十進制數(shù)的轉(zhuǎn)化方法. (4)思考十進制數(shù)轉(zhuǎn)換成非十進制數(shù)及非十進制之間的轉(zhuǎn)換方法. 活動:先讓學生思考或討論后再回答,經(jīng)教師提示、點撥,對回答正確的學生及時表揚,對回答不準確的學生提示引導考慮問題的思路. 討論結(jié)果: (1)進位制是人們?yōu)榱擞嫈?shù)和運算方便而約定的計數(shù)系統(tǒng),約定滿二進一,就是二進制;滿十進一,就是十進制;滿十二進一,就是十二進制;滿
31、六十進一,就是六十進制等等.也就是說:“滿幾進一”就是幾進制,幾進制的基數(shù)(都是大于1的整數(shù))就是幾. (2)在日常生活中,我們最熟悉、最常用的是十進制,據(jù)說這與古人曾以手指計數(shù)有關,愛好天文學的古人也曾經(jīng)采用七進制、十二進制、六十進制,至今我們?nèi)匀皇褂靡恢芷咛?、一年十二個月、一小時六十分的歷法. (3)十進制使用0~9十個數(shù)字.計數(shù)時,幾個數(shù)字排成一行,從右起,第一位是個位,個位上的數(shù)字是幾,就表示幾個一;第二位是十位,十位上的數(shù)字是幾,就表示幾個十;接著依次是百位、千位、萬位…… 例如:十進制數(shù)3 721中的3表示3個千,7表示7個百,2表示2個十,1表示1個一.于是,我們得到下面的
32、式子: 3 721=3103+7102+2101+1100. 與十進制類似,其他的進位制也可以按照位置原則計數(shù).由于每一種進位制的基數(shù)不同,所用的數(shù)字個數(shù)也不同.如二進制用0和1兩個數(shù)字,七進制用0~6七個數(shù)字. 一般地,若k是一個大于1的整數(shù),那么以k為基數(shù)的k進制數(shù)可以表示為一串數(shù)字連寫在一起的形式 anan-1…a1a0(k)(0<an<k,0≤an-1,…,a1,a0<k). 其他進位制的數(shù)也可以表示成不同位上數(shù)字與基數(shù)的冪的乘積之和的形式,如 110 011(2)=125+124+023+022+121+120, 7 342(8)=783+382+481+28
33、0. 非十進制數(shù)轉(zhuǎn)換為十進制數(shù)比較簡單,只要計算下面的式子值即可: anan-1…a1a0(k)=ankn+an-1kn-1+…+a1k+a0. 第一步:從左到右依次取出k進制數(shù)anan-1…a1a0(k)各位上的數(shù)字,乘以相應的k的冪,k的冪從n開始取值,每次遞減1,遞減到0,即ankn,an-1kn-1,…,a1k,a0k0; 第二步:把所得到的乘積加起來,所得的結(jié)果就是相應的十進制數(shù). (4)關于進位制的轉(zhuǎn)換,教科書上以十進制和二進制之間的轉(zhuǎn)換為例講解,并推廣到十進制和其他進制之間的轉(zhuǎn)換.這樣做的原因是,計算機是以二進制的形式進行存儲和計算數(shù)據(jù)的,而一般我們傳輸給計算機的數(shù)據(jù)是
34、十進制數(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(
35、2)=125+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. 第四步,判斷i>
36、n是否成立.若是,則執(zhí)行第五步;否則,返回第三步. 第五步,輸出b的值. 程序框圖如下圖: 程序: INPUT “a,k,n=”;a,k,n b=0 i=1 t=a MOD 10 DO b=b+t*k^(i-1) a=a\\10 t=a MOD 10 i=i+1 LOOP UNTIL i>n PRINT b END 例2 把89化為二進制數(shù). 解:根據(jù)二進制數(shù)“滿二進一”的原則,可以用2連續(xù)去除89或所得商,然后取余數(shù).具體計算方法如下: 因為89=244+1,44=222+0, 22=211+0, 11=25+1, 5=
37、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+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除
38、以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,則rn是a的k進制數(shù)的左數(shù)第1位數(shù). 這樣,我們可以得到算法步驟如下: 第一步,給定十進制正整數(shù)a和轉(zhuǎn)化后的數(shù)的基數(shù)k. 第二步,求出a除以k所得的商q,余數(shù)r. 第三步,把得到的余數(shù)依次從右到左排列. 第四步,若q≠0,則a=q,返回第二步;否則,輸出全部余數(shù)r排
39、列得到的k進制數(shù). 程序框圖如下圖: 程序: INPUT “a,k=”;a,k b=0 i=0 DO q=a\\k r=a MOD k b=b+r*10^i i=i+1 a=q LOOP UNTIL q=0 PRINT b END 思路2 例1 將8進制數(shù)314 706(8)化為十進制數(shù),并編寫出一個實現(xiàn)算法的程序. 解:314 706(8)=385+184+483+782+081+680=104 902. 所以,化為十進制數(shù)是104 902. 點評:利用把k進制數(shù)轉(zhuǎn)化為十進制數(shù)的一般方法就可以把8進制數(shù)314 7
40、06(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ù)(從下往上讀)就是所求. 解: 即34(10)=100 010(2) 拓展提升 把
41、1 234(5)分別轉(zhuǎn)化為十進制數(shù)和八進制數(shù). 解:1 234(5)=153+252+35+4=194. 則1 234(5)=302(8) 所以,1 234(5)=194=302(8) 點評:本題主要考查進位制以及不同進位制數(shù)的互化.五進制數(shù)直接利用公式就可以轉(zhuǎn)化為十進制數(shù);五進制數(shù)和八進制數(shù)之間需要借助于十進制數(shù)來轉(zhuǎn)化. 課堂小結(jié) (1)理解算法與進位制的關系. (2)熟練掌握各種進位制之間轉(zhuǎn)化. 作業(yè) 習題1.3A組3、4. 設計感想 計算機是以二進制的形式進行存儲和計算數(shù)據(jù)的,而一般我們傳輸給計算機的數(shù)據(jù)是十進制數(shù)據(jù),因此計算機必須先將十進制數(shù)轉(zhuǎn)換為二進制數(shù),再處理,顯然運算后首次得到的結(jié)果為二進制數(shù),同時,計算機又把運算結(jié)果由二進制數(shù)轉(zhuǎn)換成十進制數(shù)輸出.因此學好進位制是非常必要的,另外,進位制也是高考的重點,本節(jié)設置了多種題型供學生訓練,所以這節(jié)課非常實用. 希望對大家有所幫助,多謝您的瀏覽!
- 溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學下冊6整理和復習2圖形與幾何第7課時圖形的位置練習課件新人教版
- 2023年六年級數(shù)學下冊6整理和復習2圖形與幾何第1課時圖形的認識與測量1平面圖形的認識練習課件新人教版
- 2023年六年級數(shù)學下冊6整理和復習1數(shù)與代數(shù)第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊4比例1比例的意義和基本性質(zhì)第3課時解比例練習課件新人教版
- 2023年六年級數(shù)學下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認識作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊2百分數(shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊1負數(shù)第1課時負數(shù)的初步認識作業(yè)課件新人教版
- 2023年六年級數(shù)學上冊期末復習考前模擬期末模擬訓練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學上冊易錯清單十二課件新人教版
- 標準工時講義
- 2021年一年級語文上冊第六單元知識要點習題課件新人教版
- 2022春一年級語文下冊課文5識字測評習題課件新人教版
- 2023年六年級數(shù)學下冊6整理和復習4數(shù)學思考第1課時數(shù)學思考1練習課件新人教版