第一篇:2.1算法的基本思想教學(xué)設(shè)計(jì) 教案 (北師大必修3)
第二章 算法初步 第一課時(shí) 2.1算法的基本思想
【課程標(biāo)準(zhǔn)】通過(guò)對(duì)解決具體問(wèn)題過(guò)程與步驟的分析(如二元一次方程組求解等問(wèn)題),體會(huì)算法的思想,了解算法的含義.【教學(xué)目標(biāo)】1.理解算法的概念與特點(diǎn);
2.學(xué)會(huì)用自然語(yǔ)言描述算法,體會(huì)算法思想; 3.培養(yǎng)學(xué)生邏輯思維能力與表達(dá)能力.【教學(xué)重點(diǎn)】算法概念以及用自然語(yǔ)言描述算法 【教學(xué)難點(diǎn)】用自然語(yǔ)言描述算法 【教學(xué)過(guò)程】
一、序言
算法不僅是數(shù)學(xué)及其應(yīng)用的重要組成部分,也是計(jì)算機(jī)科學(xué)的重要基礎(chǔ).在現(xiàn)代社會(huì)里,計(jì)算機(jī)已經(jīng)成為人們?nèi)粘I詈凸ぷ鞑豢扇鄙俚墓ぞ?聽音樂(lè)、看電影、玩游戲、打字、畫卡通畫、處理數(shù)據(jù),計(jì)算機(jī)幾乎滲透到了人們生活的所有領(lǐng)域.那么,計(jì)算機(jī)是怎樣工作的呢?要想弄清楚這個(gè)問(wèn)題,算法的學(xué)習(xí)是一個(gè)開始.同時(shí),算法有利于發(fā)展有條理的思考與表達(dá)的能力,提高邏輯思維能力.在以前的學(xué)習(xí)中,雖然沒(méi)有出現(xiàn)算法這個(gè)名詞,但實(shí)際上在數(shù)學(xué)學(xué)習(xí)中已經(jīng)滲透了大量的算法思想,如四則運(yùn)算的過(guò)程、求解方程的步驟等等,完成這些工作都需要一系列程序化的步驟,這就是算法的思想.二、實(shí)例分析
例1:寫出你在家里燒開水過(guò)程的一個(gè)算法.解:第一步:把水注入電鍋;
第二步:打開電源把水燒開;
第三步:把燒開的水注入熱水瓶.(以上算法是解決某一問(wèn)題的程序或步驟)例2:給出求1+2+3+4+5的一個(gè)算法.解: 算法1 按照逐一相加的程序進(jìn)行.
第一步:計(jì)算1+2,得到3;
第二步:將第一步中的運(yùn)算結(jié)果3與3相加,得到6;
第三步:將第二步中的運(yùn)算結(jié)果6與4相加,得到10;
第四步:將第三步中的運(yùn)算結(jié)果10與5相加,得到15.
算法2 運(yùn)用公式1?2?3? 第一步:取n=5;
第二步:計(jì)算
?n?n(n?1)直接計(jì)算. 2n(n?1); 2 第三步:輸出運(yùn)算結(jié)果. 算法3 用循環(huán)方法求和.
第一步:使S?1,; 第二步:使I?2;
第三步:使S?S?I;
第四步:使I?I?1;
第五步:如果I?5,則返回第三步,否則輸出S. 點(diǎn)評(píng):一個(gè)問(wèn)題的算法可能不唯一. 例3 給出求解方程組??2x?y?7的一個(gè)算法.
?4x?5y?114?2; 2解:用消元法解這個(gè)方程組,步驟是:
第一步:方程①不動(dòng),將方程②中x的系數(shù)除以方程①中x的系數(shù),得到乘數(shù)m?第二步:方程②減去m乘以方程①,消去方程②中的x項(xiàng),得到
?2x?y?7; ??3y??3第三步:將上面的方程組自下而上回代求解,得到y(tǒng)??1,x?4.
所以原方程組的解為?
例4.用二分法設(shè)計(jì)一個(gè)求解方程x–2=0的近似根的算法。并假設(shè)所求近似根與準(zhǔn)確解的差的絕對(duì)值不超過(guò)0.005,解:則不難設(shè)計(jì)出以下步驟:
2第一步:令f(x)=x–2。因?yàn)閒(1)<0,f(2)>0,所以設(shè)x1=1,x2=2。
第二步:令m=(x1+x2)/2,判斷f(m)是否為0,若則,則m為所長(zhǎng);若否,則繼續(xù)判斷f(x1)·f(m)大于0還是小于0。
第三步:若f(x1)·f(m)>0,則令x1=m;否則,令x2=m。
第四步:判斷|x1–x2|<0.005是否成立?若是,則x1、x2之間的任意取值均為滿足條件的近似根;若否,則返回第二
點(diǎn)評(píng):滲透循環(huán)的思想,為后面教學(xué)做鋪墊。例5.寫出求方程組?
2?x?4.
y??1?點(diǎn)評(píng):通過(guò)例1再次明確算法特點(diǎn):有限性和確定性
?a1x?b1y?c1?a2x?b2y?c2①②?a1b2?a2b1?0?的解的算法.解:第一步:②× a1-①×a2,得:?a1b2?a2b1?y?a1c2?a2c1 ③ 第二步:解③得 y?a1c2?a2c1;
a1b2?a2b1第三步:將y?c?b1ya1c2?a2c1代入①,得x?1
a1b2?a2b1a1點(diǎn)評(píng):可推廣到解一般的二元一次方程組,說(shuō)明算法的普遍性:很多具體的問(wèn)題,都可以設(shè)計(jì)合理的算法去解決,如心算、計(jì)算器計(jì)算都要經(jīng)過(guò)有限、事先設(shè)計(jì)好的步驟加以解決.例6:用“待定系數(shù)法”求圓的方程的大致步驟是:
第一步:根據(jù)題意,選擇標(biāo)準(zhǔn)方程或一般方程;
第二步:根據(jù)條件列出關(guān)于a,b,r或D,E,F(xiàn)的方程組;
第三步:解出a,b,r或D,E,F(xiàn),代入標(biāo)準(zhǔn)方程或一般方程.三、算法的概念
通過(guò)對(duì)以上幾個(gè)問(wèn)題的分析,我們對(duì)算法有了一個(gè)初步的了解.在解決某些問(wèn)題時(shí),需要設(shè)計(jì)出一系列可操作或可計(jì)算的步驟,通過(guò)實(shí)施這些步驟來(lái)解決問(wèn)題,通常把這些步驟稱為解決這些問(wèn)題的算法
在數(shù)學(xué)中,現(xiàn)代意義上的“算法”通常是指可以用計(jì)算機(jī)來(lái)解決的某一類問(wèn)題的程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內(nèi)完成.四、課堂練習(xí)
1:任意給定一個(gè)大于1的正整數(shù)n,設(shè)計(jì)一個(gè)算法求出n的所有因數(shù).解:根據(jù)因數(shù)的定義,可設(shè)計(jì)出下面的一個(gè)算法:
第一步:輸入大于1的正整數(shù)n.第二步:判斷n是否等于2,若n?2,則n的因數(shù)為1,n;若n?2,則執(zhí)行第三步.第三步:依次從2到n?1檢驗(yàn)是不是整除n,若整除n,則是n的因數(shù);若不整除n,則不是n的因數(shù).2:設(shè)計(jì)一個(gè)計(jì)算1+2+?+100的值的算法.解:算法1
按照逐一相加的程序進(jìn)行
第一步:計(jì)算1+2,得到3;
第二步:將第一步中的運(yùn)算結(jié)果3與3相加,得到6;
第三步:將第二步中的運(yùn)算結(jié)果6與4相加,得到10;
??
第九十九步:將第九十八步中的運(yùn)算結(jié)果4950與100相加,得到5050.算法2
可以運(yùn)用公式1+2+3+?+n=
第一步:取n=100;
第二步:計(jì)算
n(n?1)直接計(jì)算 2n(n?1); 2第三步:輸出運(yùn)算結(jié)果.3:任意給定一個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法求以這個(gè)數(shù)為半徑的圓的面積.解:第一步:輸入任意正實(shí)數(shù)r;
2第二步:計(jì)算S??r;
第三步:輸出圓的面積S.4.二分法求解多項(xiàng)式方程在區(qū)間[a,b]的一種常用方法.算法步驟是。
解1.確定區(qū)間[a,b],驗(yàn)證f(a)f(b)?0,給定精度ε; 2.求區(qū)間(a,b)的中點(diǎn)x1;
3.計(jì)算f(x1): 若f(x1)?0,則x1就是函數(shù)的零點(diǎn); 若f(a)f(x1)?0,則令b?x
1(此時(shí)零點(diǎn)x0?(a,x1)); 若f(x1)f(b)?0,則令a?x1(此時(shí)零點(diǎn)x0?(x1,b)); 4.判斷是否達(dá)到精度ε;即若|a?b|??,則得到零點(diǎn)零點(diǎn)值a(或b);否則重復(fù)步驟2~4.
5.兩個(gè)大人和兩個(gè)小孩一起渡河,渡口只有一條小船,每次只能渡1個(gè)大人或兩個(gè)小孩,他們四人都會(huì)劃船,但都不會(huì)游泳.同學(xué)們現(xiàn)在想一想,他們?cè)鯓佣蛇^(guò)河去?請(qǐng)寫一寫你的渡河方案.解:因?yàn)橐淮沃荒芏蛇^(guò)一個(gè)大人,而船還要回來(lái)渡其他人,所以只能讓兩個(gè)小孩先過(guò)河。渡河的方法與步驟為:
第一步 兩個(gè)小孩同船渡過(guò)河去; 第二步 一個(gè)小孩劃船回來(lái);
第三步 一個(gè)大人獨(dú)自劃船渡過(guò)河去; 第四步 對(duì)岸的小孩劃船回來(lái); 第五步 兩個(gè)小孩再同船渡過(guò)河去; 第六步 一個(gè)小孩劃船回來(lái);
第七步 余下的一個(gè)大人獨(dú)自劃船渡過(guò)河去; 第八步 對(duì)岸的小孩劃船回來(lái); 第九步 兩個(gè)小孩再同船渡過(guò)河去.五、課堂小結(jié)
1.算法的特性:
①有窮性:一個(gè)算法的步驟序列是有限的,它應(yīng)在有限步操作之后停止,而不能是無(wú)限的.②確定性:算法中的每一步應(yīng)該是確定的并且能有效地執(zhí)行且得到確定的結(jié)果,而不應(yīng)當(dāng)是模棱兩可.③可行性:算法中的每一步操作都必須是可執(zhí)行的,也就是說(shuō)算法中的每一步都能通過(guò)手工和機(jī)器在有限時(shí)間內(nèi)完成.④輸入:一個(gè)算法中有零個(gè)或多個(gè)輸入..⑤輸出:一個(gè)算法中有一個(gè)或多個(gè)輸出.2.描述算法的一般步驟:
①輸入數(shù)據(jù).(若數(shù)據(jù)已知時(shí),應(yīng)用賦值;若數(shù)據(jù)為任意未知時(shí),應(yīng)用輸入)
②數(shù)據(jù)處理.③輸出結(jié)果.
第二篇:《算法的基本思想》教案
普通高中課程標(biāo)準(zhǔn)實(shí)驗(yàn)教科書(北京師范大學(xué)出版社)
第二章 算法初步
《算法的基本思想》教案(第1課時(shí))
一、教學(xué)目標(biāo):
1.知識(shí)與技能
(1)通過(guò)對(duì)解決具體問(wèn)題過(guò)程與步驟的分析,體會(huì)算法的思想,了解算法的含義;
(2)能夠用語(yǔ)言敘述算法;
(3)會(huì)寫出將自然數(shù)分解成素因數(shù)乘積的算法;
(4)會(huì)寫出求兩個(gè)自然數(shù)的最大公因數(shù)的算法和兩個(gè)自然數(shù)的最小公倍數(shù)的算法。
2.過(guò)程與方法
通過(guò)對(duì)物品價(jià)格的猜測(cè),體會(huì)猜測(cè)者的基本思路,得到一個(gè)一般步驟,而這個(gè)步驟就是一個(gè)算法。結(jié)合具體問(wèn)題,模仿算法步驟,寫出將自然數(shù)分解成素因數(shù)乘積的算法和求兩個(gè)自然數(shù)的最大公因數(shù)的算法,從而體會(huì)算法的基本思想,了解算法的含義。
3.情感態(tài)度與價(jià)值觀
通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生對(duì)算法的思想有一個(gè)初步的認(rèn)識(shí),體會(huì)算法的基本思想——程序化思想,在歸納概括中培養(yǎng)學(xué)生的邏輯思維能力,從而進(jìn)一步體會(huì)算法與現(xiàn)實(shí)世界的密切關(guān)系。
二、教學(xué)重點(diǎn)與難點(diǎn):
重點(diǎn):體會(huì)算法的思想,了解算法的含義;
難點(diǎn):能夠用語(yǔ)言來(lái)敘述算法。
三、學(xué)法與教學(xué)用具:
學(xué)法:學(xué)生通過(guò)對(duì)具體問(wèn)題的感受,主動(dòng)思考,互相交流,共同討論,總結(jié)概括,從而更好地完成本節(jié)課的教學(xué)目標(biāo)。
教學(xué)用具:某件物品、電腦、多媒體
四、教學(xué)設(shè)想:
1.創(chuàng)設(shè)情景
客串中央電視臺(tái)的《幸運(yùn)52》,讓學(xué)生快速猜測(cè)出某件物品的價(jià)格。
2.探索研究
請(qǐng)同學(xué)們從老師和參與者的對(duì)話中感受參與者猜測(cè)的思路,試著敘述出參與者的思路。如果你是參與者,你會(huì)如何又快又準(zhǔn)地猜出價(jià)格?用我們學(xué)過(guò)的一種思想,又將如何敘述?
實(shí)際上,我們可以把這種思想概括如下:(在給定區(qū)間為(a,b)的前提下)
1.報(bào)出首次價(jià)格T1;
2.根據(jù)老師的回答確定價(jià)格區(qū)間:
(1)若報(bào)價(jià)T1小于商品價(jià)格P,則商品的價(jià)格所在區(qū)間為(T1,b);
(2)若報(bào)價(jià)T1大于商品價(jià)格P,則商品的價(jià)格所在區(qū)間為(a,T1);
(3)若報(bào)價(jià)等于商品價(jià)格P,則游戲結(jié)束。
3.如果游戲沒(méi)有結(jié)束,則報(bào)出上面確定的價(jià)格區(qū)間的中點(diǎn)T2,這個(gè)確定的價(jià)格區(qū)間就是新一輪報(bào)價(jià)的給定區(qū)間了。
按照這種方法,繼續(xù)判斷,直到游戲結(jié)束。
然而上述的這一系列的步驟就是解決實(shí)際問(wèn)題的一個(gè)算法。
相信同學(xué)們對(duì)這個(gè)過(guò)程都有了一個(gè)初步的認(rèn)識(shí),但是還不夠清晰,下面我們來(lái)看一個(gè)具體的實(shí)例。
3.例題分析
例題:在給定素?cái)?shù)表的條件下,設(shè)計(jì)算法,將936分解成素因數(shù)的乘積。(4000以內(nèi)的素?cái)?shù)表見附錄1)
讓學(xué)生敘述解題的過(guò)程,了解一個(gè)初步的步驟,再根據(jù)這個(gè)解題的過(guò)程和學(xué)生共同完成這個(gè)算法的步驟,實(shí)質(zhì)上就是用短除法將自然數(shù)分解成素因數(shù)。
解 算法步驟如下:
1.判斷936是否為素?cái)?shù):否。
2.確定936的最小素因數(shù):2。936=2×468。短除法
3.判斷468是否為素?cái)?shù):否。
4.確定468的最小素因數(shù):2。936=2×2×234。
5.判斷234是否為素?cái)?shù):否。
6.確定234的最小素因數(shù):2。936=2×2×2×117。
7.判斷117是否為素?cái)?shù):否。
8.確定117的最小素因數(shù):3。936=2×2×2×3×39。
9.判斷39是否為素?cái)?shù):否。
10.確定39的最小素因數(shù):3。936=2×2×2×3×3×13。
11.判斷13是否為素?cái)?shù):13是素?cái)?shù),所以分解結(jié)束。
分解結(jié)果是:
936=2×2×2×3×3×13
第三篇:高中數(shù)學(xué)第二章算法初步2.1算法的基本思想教案北師大版3教案
第一節(jié) 算法的基本思想
本節(jié)教材分析 一、三維目標(biāo)
1、知識(shí)與技能
(1)通過(guò)對(duì)解決具體問(wèn)題過(guò)程與步驟的分析,體會(huì)算法的思想,了解算法的含義;(2)能夠用語(yǔ)言敘述算法;
(3)會(huì)寫出將自然數(shù)分解成素因數(shù)乘積的算法;
(4)會(huì)寫出求兩個(gè)自然數(shù)的最大公因數(shù)的算法和兩個(gè)自然數(shù)的最小公倍數(shù)的算法. 2.過(guò)程與方法
通過(guò)對(duì)物品價(jià)格的猜測(cè),體會(huì)猜測(cè)者的基本思路,得到一個(gè)一般步驟,而這個(gè)步驟就是一個(gè)算法.結(jié)合具體問(wèn)題,模仿算法步驟,寫出將自然數(shù)分解成素因數(shù)乘積的算法和求兩個(gè)自然數(shù)的最大公因數(shù)的算法,從而體會(huì)算法的基本思想,了解算法的含義.
3.情感態(tài)度與價(jià)值觀
通過(guò)本節(jié)的學(xué)習(xí),使學(xué)生對(duì)算法的思想有一個(gè)初步的認(rèn)識(shí),體會(huì)算法的基本思想——程序化思想,在歸納概括中培養(yǎng)學(xué)生的邏輯思維能力,從而進(jìn)一步體會(huì)算法與現(xiàn)實(shí)世界的密切關(guān)系.
二、教學(xué)重點(diǎn):算法的含義及應(yīng)用.
三、教學(xué)難點(diǎn):寫出解決一類問(wèn)題的算法.
四、教學(xué)建議
算法在中學(xué)數(shù)學(xué)課程中是一個(gè)新的概念,但沒(méi)有一個(gè)精確化的定義,教科書只對(duì)它作了如下描述:“在數(shù)學(xué)中,算法通常是指按照一定規(guī)則解決某一類問(wèn)題的明確有限的步驟.”為了讓學(xué)生更好理解這一概念,教科書先從分析一個(gè)具體的二元一次方程組的求解過(guò)程出發(fā),歸納出了二元一次方程組的求解步驟,這些步驟就構(gòu)成了解二元一次方程組的算法.教學(xué)中,應(yīng)從學(xué)生非常熟悉的例子引出算法,再通過(guò)例題加以鞏固. 新課導(dǎo)入設(shè)計(jì)
導(dǎo)入一
一個(gè)人帶著三只狼和三只羚羊過(guò)河,只有一條船,同船可容納一個(gè)人和兩只動(dòng)物,沒(méi)有人在的時(shí)候,如果狼的數(shù)量不少于羚羊的數(shù)量狼就會(huì)吃羚羊.該人如何將動(dòng)物轉(zhuǎn)移過(guò)河?請(qǐng)同學(xué)們寫出解決問(wèn)題的步驟,解決這一問(wèn)題將要用到我們今天學(xué)習(xí)的內(nèi)容——算法.
導(dǎo)入二
大家都看過(guò)趙本山與宋丹丹演的小品吧,宋丹丹說(shuō)了一個(gè)笑話,把大象裝進(jìn)冰箱總共分幾步?
答案:分三步,第一步:把冰箱門打開;第二步:把大象裝進(jìn)去;第三步:把冰箱門關(guān)上. 上述步驟構(gòu)成了把大象裝進(jìn)冰箱的算法,今天我們開始學(xué)習(xí)算法的概念.
導(dǎo)入三
算法不僅是數(shù)學(xué)及其應(yīng)用的重要組成部分,也是計(jì)算機(jī)科學(xué)的重要基礎(chǔ).在現(xiàn)代社會(huì)里,計(jì)算機(jī)已成為人們?nèi)粘I詈凸ぷ髦胁豢扇鄙俚墓ぞ撸犚魳?lè)、看電影、玩游戲、打字、畫卡通畫、處理數(shù)據(jù),計(jì)算機(jī)是怎樣工作的呢?要想弄清楚這個(gè)問(wèn)題,算法的學(xué)習(xí)是一個(gè)開始.
【教學(xué)過(guò)程】 1.情境導(dǎo)入:
算法作為一個(gè)名詞,在中學(xué)教科書中并沒(méi)有出現(xiàn)過(guò),我們?cè)诨A(chǔ)教育階段還沒(méi)有接觸算法概念。但是我們卻從小學(xué)就開始接觸算法,熟悉許多問(wèn)題的算法。如,做四則運(yùn)算要先乘除后加減,從里往外脫括弧,豎式筆算等都是算法,至于乘法口訣、珠算口訣更是算法的具體體現(xiàn)。我們知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解線性方程組的算法,求兩個(gè)數(shù)的最大公因數(shù)的算法等。因此,算法其實(shí)是重要的數(shù)學(xué)對(duì)象。2.探索研究
算法(algorithm)一詞源于算術(shù)(algorism),即算術(shù)方法,是指一個(gè)由已知推求未知的運(yùn)算過(guò)程。后來(lái),人們把它推廣到一般,把進(jìn)行某一工作的方法和步驟稱為算法。
廣義地說(shuō),算法就是做某一件事的步驟或程序。菜譜是做菜肴的算法,洗衣機(jī)的使用說(shuō)明書是操作洗衣機(jī)的算法,歌譜是一首歌曲的算法。在數(shù)學(xué)中,主要研究計(jì)算機(jī)能實(shí)現(xiàn)的算法,即按照某種機(jī)械程序步驟一定可以得到結(jié)果的解決問(wèn)題的程序。比如解方程的算法、函數(shù)求值的算法、作圖的算法,等等。3.例題分析
例1.任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n是否為質(zhì)數(shù)做出判定。解析:根據(jù)質(zhì)數(shù)的定義判斷 解:算法如下:
第一步:判斷n是否等于2,若n=2,則n是質(zhì)數(shù);若n>2,則執(zhí)行第二步。
第二步:依次從2至(n-1)檢驗(yàn)是不是n的因數(shù),即整除n的數(shù),若有這樣的數(shù),則n不是質(zhì)數(shù);若沒(méi)有這樣的數(shù),則n是質(zhì)數(shù)。
這是判斷一個(gè)大于1的整數(shù)n是否為質(zhì)數(shù)的最基本算法。
點(diǎn)評(píng):通過(guò)例1明確算法具有兩個(gè)主要特點(diǎn):有限性和確定性。
變式訓(xùn)練1:一個(gè)人帶三只狼和三只羚羊過(guò)河,只有一條船,同船可以容納一個(gè)人和兩只動(dòng)物.沒(méi)有人在的時(shí)候,如果狼的數(shù)量不少于羚羊的數(shù)量,狼就會(huì)吃掉羚羊.請(qǐng)?jiān)O(shè)計(jì)過(guò)河的算法。
解:算法或步驟如下: S1 人帶兩只狼過(guò)河; S2 人自己返回;
S3 人帶一只羚羊過(guò)河; S4 人帶兩只狼返回; S5 人帶兩只羚羊過(guò)河; S6 人自己返回; S7 人帶兩只狼過(guò)河; S8 人自己返回; S9 人帶一只狼過(guò)河.
?2x?y?7例2 給出求解方程組?的一個(gè)算法.
4x?5y?11?解析:解線性方程組的常用方法是加減消元法和代入消元法,這兩種方法沒(méi)有本質(zhì)的差別,為了適用于解一般的線性方程組,以便于在計(jì)算機(jī)上實(shí)現(xiàn),我們用高斯消元法(即先將方程組化為一個(gè)三角形方程組,在通過(guò)回代過(guò)程求出方程組的解)解線性方程組. 解:用消元法解這個(gè)方程組,步驟是:
第一步:方程①不動(dòng),將方程②中x的系數(shù)除以方程①中x的系數(shù),得到乘數(shù)m?第二步:方程②減去m乘以方程①,消去方程②中的x項(xiàng),得到
4?2; 2?2x?y?7; ??3y??3第三步:將上面的方程組自下而上回代求解,得到y(tǒng)??1,x?4.
?x?4所以原方程組的解為?.
y??1?點(diǎn)評(píng):通過(guò)例2再次明確算法特點(diǎn):有限性和確定性
變式訓(xùn)練2:寫出求過(guò)兩點(diǎn)M(-2,-1)、N(2,3)的直線與坐標(biāo)軸圍成面積的一個(gè)算法。解:算法:第一步:取x1=-2,y1=-1,x2=2,y2=3; 第二步:計(jì)算y?y1x?x1; ?y2?y1x2?x1第三步:在第二步結(jié)果中令x=0得到y(tǒng)的值m,得直線與y軸交點(diǎn)(0,m); 第四步:在第二步結(jié)果中令y=0得到x的值n,得直線與x軸交點(diǎn)(n,0); 第五步:計(jì)算S=1|m|?|n|; 22第六步:輸出運(yùn)算結(jié)果
例3 用二分法設(shè)計(jì)一個(gè)求解方程x–2=0的近似根的算法。
算法分析:回顧二分法解方程的過(guò)程,并假設(shè)所求近似根與準(zhǔn)確解的差的絕對(duì)值不超過(guò)0.005,則不難設(shè)計(jì)出以下步驟:
2第一步:令f(x)=x–2。因?yàn)閒(1)<0,f(2)>0,所以設(shè)x1=1,x2=2。第二步:令m=(x1+x2)/2,判斷f(m)是否為0,若則,則m為所長(zhǎng);若否,則繼續(xù)判斷f(x1)·f(m)大于0還是小于0。
第三步:若f(x1)·f(m)>0,則令x1=m;否則,令x2=m。
第四步:判斷|x1–x2|<0.005是否成立?若是,則x1、x2之間的任意取值均為滿足條件的近似根;若否,則返回第二
點(diǎn)評(píng):滲透循環(huán)的思想,為后面教學(xué)做鋪墊。變式訓(xùn)練3 給出求1+2+3+4+5的一個(gè)算法. 解: 算法1 按照逐一相加的程序進(jìn)行. 第一步:計(jì)算1+2,得到3;
第二步:將第一步中的運(yùn)算結(jié)果3與3相加,得到6; 第三步:將第二步中的運(yùn)算結(jié)果6與4相加,得到10; 第四步:將第三步中的運(yùn)算結(jié)果10與5相加,得到15. 算法2 運(yùn)用公式1?2?3???n?第一步:取n=5; 第二步:計(jì)算
n(n?1)直接計(jì)算. 2n(n?1); 2第三步:輸出運(yùn)算結(jié)果. 算法3 用循環(huán)方法求和. 第一步:使S?1,; 第二步:使I?2; 第三步:使S?S?I; 第四步:使I?I?1;
第五步:如果I?5,則返回第三步,否則輸出S. 點(diǎn)評(píng):一個(gè)問(wèn)題的算法可能不唯一. 4.回顧小結(jié)
1.算法的概念:對(duì)一類問(wèn)題的機(jī)械的、統(tǒng)一的求解方法.算法是由基本運(yùn)算及規(guī)定的運(yùn)算順序所構(gòu)成的完整的解題步驟,或者是按照要求設(shè)計(jì)好的有限的計(jì)算序列,并且這樣的步驟或序列能解決一類問(wèn)題. 2.算法的重要特征:
(1)有限性:一個(gè)算法在執(zhí)行有限步后必須結(jié)束;(2)確定性:算法的每一個(gè)步驟和次序必須是確定的;
(3)輸入:一個(gè)算法有0個(gè)或多個(gè)輸入,以刻劃運(yùn)算對(duì)象的初始條件.所謂0個(gè)輸入是指算法本身定出了初始條件.
(4)輸出:一個(gè)算法有1個(gè)或多個(gè)輸出,以反映對(duì)輸入數(shù)據(jù)加工后的結(jié)果.沒(méi)有輸出的算法是毫無(wú)意義的. 5.課后作業(yè)
111????的一個(gè)算法 23100解:第一步:使S?1,; 第二步:使I?2;
1第三步:使n?;
I第四步:使S?S?n; 第五步:使I?I?1;
第六步:如果I?100,則返回第三步,否則輸出S. 寫出求1?
課后練習(xí)與提高:
1.下列關(guān)于算法的說(shuō)法中,正確的是().A. 算法就是某個(gè)問(wèn)題的解題過(guò)程 B. 算法執(zhí)行后可以不產(chǎn)生確定的結(jié)果
C. 解決某類問(wèn)題的算法不是惟一的 D. 算法可以無(wú)限地操作下去不停止 2.有一堆形狀大小相同的珠子,其中只有一粒質(zhì)量比其他的輕,某同學(xué)利用科學(xué)的算法,兩次利用天平找出這粒最輕的珠子,則這堆珠子最多有多少粒()A.4 B.5 C.7 D.9 3下列各式中的S值不可以用算法求解的是()A.S=1+2+3+4 B.S=1+2+3+4+?.C.S=1?111???? 23100D.S=1+2+3+4+?+100
4.已知一個(gè)學(xué)生的語(yǔ)文成績(jī)?yōu)?9,數(shù)學(xué)成績(jī)?yōu)?6,外語(yǔ)成績(jī)?yōu)?9。求它的總分和平均分的一個(gè)算法為:
第一步:取A=89,B=99;第二步: 第三步:
第四步:輸出計(jì)算結(jié)果。5.寫出解方程2x+3=0的算法。第一步: 第二步: 第三步:
6.給出一個(gè)判斷點(diǎn)P(x0,y0)是否在直線y=x-1上的一個(gè)算法。
第四篇:高中數(shù)學(xué) 第二章 算法初步 本章歸納整合教學(xué)設(shè)計(jì) 北師大版必修3
第二章算法初步 本章歸納整合
知識(shí)歸納
專題一 算法的含義及算法設(shè)計(jì)
算法不同于一般意義上解決某個(gè)問(wèn)題的方法,它是對(duì)一類問(wèn)題的一般解法的抽象和概括,它要借助一般問(wèn)題的解決方法,又要包含這類問(wèn)題的所有可能情形.設(shè)計(jì)算法往往把問(wèn)題的解法劃分為若干個(gè)可執(zhí)行的步驟,有些甚至重復(fù)多次,但必須在有限步之內(nèi)完成.
用自然語(yǔ)言描述算法,大體可分以下三步完成:
第一步:明確問(wèn)題的性質(zhì),分析題意,我們可將問(wèn)題簡(jiǎn)單的分為數(shù)值型問(wèn)題和非數(shù)值型問(wèn)題,不同類型的問(wèn)題
可以有針對(duì)性地采用不同的方法進(jìn)行處理.
第二步:建立問(wèn)題的描述模型.對(duì)于數(shù)值型問(wèn)題,可以建立數(shù)學(xué)模型,通過(guò)數(shù)學(xué)語(yǔ)言來(lái)描述問(wèn)題;對(duì)于非數(shù)值型問(wèn)題,我們可以建立過(guò)程模型,通過(guò)過(guò)程模型來(lái)描述問(wèn)題.
第三步:設(shè)計(jì)確立算法.對(duì)于數(shù)值型問(wèn)題,我們可以采用數(shù)值分析的方法進(jìn)行處理,數(shù)值分析中有許多現(xiàn)成的固定算法,我們可以直接使用,當(dāng)然我們可以根據(jù)問(wèn)題的實(shí)際情況設(shè)計(jì)算法.對(duì)于非數(shù)值型問(wèn)題,根據(jù)過(guò)程模型分析算法與設(shè)計(jì)算法,也可以選擇一些成熟的辦法進(jìn)行處理,如排序、遞推等. 【例1】
韓信是漢高祖劉邦部下的大將,他英勇善戰(zhàn),智謀超群,為建立漢朝立下了汗馬功勞,據(jù)說(shuō)他在點(diǎn)兵的時(shí)候,為了保住軍事機(jī)密,不讓敵人知道自己部隊(duì)的實(shí)力,采用下述點(diǎn)兵的方法:先令士兵從1~3報(bào)數(shù),結(jié)果最后一個(gè)士兵報(bào)2;再令士兵從1~5報(bào)數(shù),結(jié)果最后一個(gè)士兵報(bào)3;又令士兵從1~7報(bào)數(shù),結(jié)果最后一個(gè)士兵報(bào)4.這樣,韓信很快就算出了自己部隊(duì)士兵的總?cè)藬?shù).請(qǐng)你設(shè)計(jì)一個(gè)算法,求出士兵至少有多少人?
解 第一步,首先確定最小的除以7余4的正整數(shù):4.第二步,依次加7就得到所有除以7余4的正整數(shù):4,11,18,25,32,39,46,53,60,….第三步,在第二步得到的一列數(shù)中確定最小的除以5余3的正整數(shù):18.第四步,然后依次加上35,得到18,53,88,….1 第五步,在第四步得到的一列數(shù)中找出最小的滿足除以3余2的正整數(shù):53.這就是我們要求的數(shù).
規(guī)律方法 本題直接通過(guò)列方程組顯然無(wú)法求解,故根據(jù)題設(shè)運(yùn)用列舉法分步求解.我們將7,5,3的順序顛倒一下,也能解答此題,不妨試一試.
專題二 順序結(jié)構(gòu)與選擇結(jié)構(gòu)
1.順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行的處理步驟組成的邏輯結(jié)構(gòu),這是任何一個(gè)程序都離不開的基本結(jié)構(gòu).
2.在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向,這種算法結(jié)構(gòu)即選擇結(jié)構(gòu).
【例2】
用順序結(jié)構(gòu)表示:利用尺規(guī)作圖,確定線段AB的4等分點(diǎn)的算法. [思路探索] 先寫出作法,由作法寫出算法.
解 作法:如圖,第一步:過(guò)A作射線AP,在AP上任取一點(diǎn)C,得線段AC; 第二步:在射線AP上作線段AC=CD=DE=EP;
第三步:連接BP,過(guò)C作CF∥BP,交AB于F,同理,作出點(diǎn)M,N; 第四步:F,M,N為所作的AB的三個(gè)4等分點(diǎn).
算法:
【例3】
設(shè)計(jì)判斷正整數(shù)p是否是正整數(shù)q的約數(shù)的算法并畫出框圖.
[思路探索] 判斷正整數(shù)p是否是正整數(shù)q的約數(shù),即是看正整數(shù)q能否被正整數(shù)p整除,如果能,則p是q的約數(shù);如果不能,則p不是q的約數(shù),從分析上看,該題應(yīng)用選擇結(jié)構(gòu).
解 算法如下:
第一步:輸入p,q;
第二步:判斷p除q的余數(shù)r是否為0,如果r=0,則p是q的約數(shù),否則p不是q的約數(shù).
算法框圖如圖所示.
規(guī)律方法 解本題要熟練掌握約數(shù)的概念,本題由于要判斷余數(shù)是否為0,即要用到分類討論的思想,故采用選擇結(jié)構(gòu). 專題三 循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)是指運(yùn)算過(guò)程中根據(jù)指定條件決定是否重復(fù)執(zhí)行一條或多條指令的控制結(jié)構(gòu).其中重復(fù)執(zhí)行的步驟叫循環(huán)體.循環(huán)結(jié)構(gòu)中包含條件結(jié)構(gòu).
1.涉及多項(xiàng)的和或積的程序框圖要用到循環(huán)和分支結(jié)構(gòu),畫圖時(shí)應(yīng)注意三個(gè)量:循環(huán)變量的初值、終值、循環(huán)變量的增量在程序中的作用與位置.
2.利用循環(huán)結(jié)構(gòu)可尋數(shù).使用循環(huán)結(jié)構(gòu)尋數(shù)時(shí),要明確數(shù)字的結(jié)構(gòu)特征,決定循環(huán)的終止條件與數(shù)的結(jié)構(gòu)特征的關(guān)系及循環(huán)次數(shù),尤其是統(tǒng)計(jì)數(shù)時(shí),注意要統(tǒng)計(jì)的數(shù)的出現(xiàn)次數(shù)與循環(huán)次數(shù)的區(qū)別.
3.循環(huán)結(jié)構(gòu)是執(zhí)行算法流程的重要組成部分.
【例4】
閱讀程序框圖,運(yùn)行相應(yīng)的程序,則輸出s的值為().
A.-1 B.0 C.1 D.3 [思路探索] 按程序框圖進(jìn)行計(jì)算,注意循環(huán)體執(zhí)行的次數(shù). 解析 當(dāng)i>4時(shí)共進(jìn)行四次運(yùn)算: s=3,i=2;
s=3×(3-2)+1=4,i=3; s=1,i=4; s=0,i=5.答案 B
專題四 條件語(yǔ)句與循環(huán)語(yǔ)句
1.條件語(yǔ)句
計(jì)算機(jī)通常是按照算法中語(yǔ)句出現(xiàn)的先后順序依次往下執(zhí)行的,但有時(shí)需要根據(jù)某個(gè) 4 給定的條件是否滿足來(lái)決定所要執(zhí)行的語(yǔ)句,這時(shí)就需要用到條件語(yǔ)句.算法中的選擇結(jié)構(gòu)由條件語(yǔ)句來(lái)表達(dá).因此,在條件語(yǔ)句中要體現(xiàn)出對(duì)條件的判斷及執(zhí)行語(yǔ)句的順序.條件語(yǔ)句主要是If——Then——Else語(yǔ)句,在某些情況下,也可以只使用If——Then語(yǔ)句,無(wú)Else分支語(yǔ)句.
2.循環(huán)語(yǔ)句
算法中的循環(huán)結(jié)構(gòu)由循環(huán)語(yǔ)句來(lái)實(shí)現(xiàn).循環(huán)語(yǔ)句一般分為For、Do Loop語(yǔ)句.
【例5】 用循環(huán)語(yǔ)句描述計(jì)算1+12+13+14+…+110 000的值的 一個(gè)算法.
[思路探索] 求1+1+1+1+…+123410 000的值與求1+2 +3+4+…+10 00的值有相似之處,只要將后者的S= 1 S+i變?yōu)镾=S+i即可. 解 用For語(yǔ)句描述: S=0 For i=1 To 10 000 S=S+1/i Next 輸出S
用Do Loop語(yǔ)句描述:
i=1 S=0 Do S=S+1/i i=i+1 Loop While i<=10 000 輸出 S
規(guī)律方法 本題的兩種書寫方式具有普遍性和廣泛的應(yīng)用 1111性.若將S=S+變?yōu)镾=S+2則算法變?yōu)榍?+2+2+…ii23
1+的值的算法.若將Do Loop語(yǔ)句中的i=i+1變?yōu)閕 10 00021111
=i+2,則成了求S=1++++…+的值,我們可3579 999
以舉一反三,以達(dá)到真正掌握知識(shí)的目的. 專題五折半插入排序法
折半插入排序:折半插入排序的基本思想是先將新數(shù)據(jù)與有序列中“中間位置”的那個(gè)數(shù)據(jù)進(jìn)行比較,如果與之相等,則可確定其插入位置及序號(hào);若不相等,中間位置的數(shù)據(jù)將數(shù)據(jù)列分為兩半,當(dāng)新數(shù)據(jù)較小時(shí),它的位置應(yīng)在靠左的一半,否則在靠右的一半.反復(fù)進(jìn)行這種查找的方法,直到確定新數(shù)據(jù)的位置.通過(guò)前面的研究我們知道,折半插入排序方法中應(yīng)用了二分法的思想后,少了多次無(wú)用的比較.相比較前面的有序列直接插入排序算法,會(huì)減少一些資源的浪費(fèi).對(duì)折半插入排序的理解:
一般地,對(duì)于一個(gè)有序列:a1≤a2≤a3≤…≤an,欲將新數(shù)據(jù)A插入到有序列中,形成新的有序列,其做法是:將數(shù)據(jù)A與原有序列中的數(shù)據(jù)從右到左依次進(jìn)行比較,直到發(fā)現(xiàn)某一數(shù)據(jù)ai,使得ai≤A,把A插入到ai的右邊;如果數(shù)據(jù)A小于原有序列中的所有數(shù)據(jù),則將A插入到原序列的最左邊.上面的排序算法通常稱為有序列直接插入排序的算法.
【例6】 把8插入到1,3,5,7,9,11,13中.
解:首先,將8與13比較,顯然8比13小,所以它要插在13之前;再將它與11比較,顯然它比11小,所以8插在11前;同樣地,8插在9前;接著,將8與7比較,顯然它比7大,所以,完成8的插入排序操作.
評(píng)析:將8與數(shù)列中的數(shù)進(jìn)行比較,可找到它的正確位置. 變式練習(xí)6 完成無(wú)序列{5,1,3,6}的排序. [解] 其算法如下:
S1 因?yàn)?>1,輸出1,5;
S2 因?yàn)?<5,則5后移一位空出第二位;
S3 因?yàn)?>1,輸出1,3,5; S4 因?yàn)?>5,輸出1,3,5,6.專題六折半插入排序法
折半插入排序:折半插入排序的基本思想是先將新數(shù)據(jù)與有序列中“中間位置”的那個(gè)數(shù)據(jù)進(jìn)行比較,如果與之相等,則可確定其插入位置及序號(hào);若不相等,中間位置的數(shù)據(jù)將數(shù)據(jù)列分為兩半,當(dāng)新數(shù)據(jù)較小時(shí),它的位置應(yīng)在靠左的一半,否則在靠右的一半.反復(fù)進(jìn)行這種查找的方法,直到確定新數(shù)據(jù)的位置.通過(guò)前面的研究我們知道,折半插入排序方法中應(yīng)用了二分法的思想后,少了多次無(wú)用的比較.相比較前面的有序列直接插入排序算法,會(huì)減少一些資源的浪費(fèi).對(duì)折半插入排序的理解:
先將新數(shù)據(jù)與有序列中“中間位置”的數(shù)據(jù)進(jìn)行比較,若有序列有2n+1個(gè)數(shù)據(jù),則“中間位置”的數(shù)據(jù)指的是第n+1個(gè)數(shù)據(jù),若有2n個(gè)數(shù)據(jù),則“中間位置”的數(shù)據(jù)指的是第n個(gè)數(shù)據(jù),如果新數(shù)據(jù)小于中間位置的數(shù)據(jù),則新數(shù)據(jù)插入的位置應(yīng)該在靠左邊的一半;如果新數(shù)據(jù)等于中間位置的數(shù)據(jù),則將新數(shù)據(jù)插入到中間位置的數(shù)據(jù)的右邊;如果新數(shù)據(jù)大于中間位置的數(shù)據(jù),則新數(shù)據(jù)插入的位置應(yīng)該在靠右邊的一半.也就是說(shuō),一次比較就排除了數(shù)據(jù)中一半的位置.反復(fù)進(jìn)行這種比較,直到確定新數(shù)據(jù)的位置.
例七將52插入有序列{13,27,38,39,43,47,48,51,57,66,74,82}中,構(gòu)成一個(gè)新的有序列.
[解] 首先選擇有序列中具有中間位置序號(hào)的數(shù)據(jù)47,將52與47進(jìn)行比較,顯然52>47,故52不能插入到47的左邊的任何位置.所以,應(yīng)該排在47的右邊,再將余下數(shù)據(jù)的中間位置的數(shù)據(jù)57與52比較,顯然52<57,因此應(yīng)插到57的左邊,又51<52,則52插入到51的右邊,57的左邊,即可得到52的位置.
評(píng)析:用折半插入排序法向有序列中插入新數(shù)據(jù)時(shí),首先確定原有序列中數(shù)據(jù)的個(gè)數(shù)是偶數(shù)2n還是奇數(shù)2n+1.若為偶數(shù),則“中間位置”的數(shù)據(jù)是第n個(gè)數(shù)據(jù);若為奇數(shù),則“中間位置”的數(shù)據(jù)為第n+1個(gè)數(shù)據(jù),然后將新數(shù)據(jù)與“中間位置”的數(shù)據(jù)比較,若新數(shù)據(jù)大于“中間位置”的數(shù)據(jù),則在右半邊進(jìn)行下一步驟;若新數(shù)據(jù)小于“中間位置”的數(shù)據(jù),則在左半邊進(jìn)行下一步驟;依次類推,就可以確定新數(shù)據(jù)在序列中的位置.
第五篇:高中數(shù)學(xué)《秦九韶算法與排序》教案1 北師大版必修3
第三、四課時(shí) 秦九韶算法與排序
(1)教學(xué)目標(biāo)(a)知識(shí)與技能
1.了解秦九韶算法的計(jì)算過(guò)程,并理解利用秦九韶算法可以減少計(jì)算次數(shù)提高計(jì)算效率的實(shí)質(zhì)。
2.掌握數(shù)據(jù)排序的原理能使用直接排序法與冒泡排序法給一組數(shù)據(jù)排序,進(jìn)而能設(shè)計(jì)冒泡排序法的程序框圖及程序,理解數(shù)學(xué)算法與計(jì)算機(jī)算法的區(qū)別,理解計(jì)算機(jī)對(duì)數(shù)學(xué)的輔助作用。
(b)過(guò)程與方法
模仿秦九韶計(jì)算方法,體會(huì)古人計(jì)算構(gòu)思的巧妙。能根據(jù)排序法中的直接插入排序法與冒泡排序法的步驟,了解數(shù)學(xué)計(jì)算轉(zhuǎn)換為計(jì)算機(jī)計(jì)算的途徑,從而探究計(jì)算機(jī)算法與數(shù)學(xué)算法的區(qū)別,體會(huì)計(jì)算機(jī)對(duì)數(shù)學(xué)學(xué)習(xí)的輔助作用。(c)情態(tài)與價(jià)值
通過(guò)對(duì)秦九韶算法的學(xué)習(xí),了解中國(guó)古代數(shù)學(xué)家對(duì)數(shù)學(xué)的貢獻(xiàn),充分認(rèn)識(shí)到我國(guó)文化歷史的悠久。通過(guò)對(duì)排序法的學(xué)習(xí),領(lǐng)會(huì)數(shù)學(xué)計(jì)算與計(jì)算機(jī)計(jì)算的區(qū)別,充分認(rèn)識(shí)信息技術(shù)對(duì)數(shù)學(xué)的促進(jìn)。
(2)教學(xué)重難點(diǎn)
重點(diǎn):1.秦九韶算法的特點(diǎn)
2.兩種排序法的排序步驟及計(jì)算機(jī)程序設(shè)計(jì) 難點(diǎn):1.秦九韶算法的先進(jìn)性理解
2.排序法的計(jì)算機(jī)程序設(shè)計(jì)(3)學(xué)法與教學(xué)用具
學(xué)法:1.探究秦九韶算法對(duì)比一般計(jì)算方法中計(jì)算次數(shù)的改變,體會(huì)科學(xué)的計(jì)算。2.模仿排序法中數(shù)字排序的步驟,理解計(jì)算機(jī)計(jì)算的一般步驟,領(lǐng)會(huì)數(shù)學(xué)計(jì)算在計(jì)算機(jī)上實(shí)施的要求。
教學(xué)用具:電腦,計(jì)算器,圖形計(jì)算器
(4)教學(xué)設(shè)想
(一)創(chuàng)設(shè)情景,揭示課題
我們已經(jīng)學(xué)過(guò)了多項(xiàng)式的計(jì)算,下面我們計(jì)算一下多項(xiàng)式
5432f(x)?x?x?x?x?x?1當(dāng)x?5時(shí)的值,并統(tǒng)計(jì)所做的計(jì)算的種類及計(jì)算次數(shù)。
根據(jù)我們的計(jì)算統(tǒng)計(jì)可以得出我們共需要10次乘法運(yùn)算,5次加法運(yùn)算。
2我們把多項(xiàng)式變形為:f(x)?x(1?x(1?x(1?x)))?x?1再統(tǒng)計(jì)一下計(jì)算當(dāng)x?5時(shí)的值時(shí)需要的計(jì)算次數(shù),可以得出僅需4次乘法和5次加法運(yùn)算即可得出結(jié)果。顯然少了6次乘法運(yùn)算。這種算法就叫秦九韶算法。
(二)研探新知
1.秦九韶計(jì)算多項(xiàng)式的方法
用心
愛心
專心 31
f(x)?anx?an?1x?(anxn?1n?2nn?1?an?2xn?3n?2???a1x?a0???a1)x?a0?an?1xn?2?an?2xn?3?((anx????an?1x???a2)x?a1)x?a0
?(?((anx?an?1)x?an?2)x???a1)?a0例1 已知一個(gè)5次多項(xiàng)式為f(x)?5x5?2x4?3.5x3?2.6x2?1.7x?0.8 用秦九韶算法求這個(gè)多項(xiàng)式當(dāng)x?5時(shí)的值。解:略
思考:(1)例1計(jì)算時(shí)需要多少次乘法計(jì)算?多少次加法計(jì)算?
(2)在利用秦九韶算法計(jì)算n次多項(xiàng)式當(dāng)x?x0時(shí)需要多少次乘法計(jì)算和多少次加法計(jì)算?
練習(xí):利用秦九韶算法計(jì)算f(x)?0.83x5?0.41x4?0.16x3?0.33x2?0.5x?1 當(dāng)x?5時(shí)的值,并統(tǒng)計(jì)需要多少次乘法計(jì)算和多少次加法計(jì)算? 例2 設(shè)計(jì)利用秦九韶算法計(jì)算5次多項(xiàng)式
f(x)?a5x?a4x?a3x?a2x?a1x?a0當(dāng)x?x0時(shí)的值的程序框圖。5432解:程序框圖如下:
開始輸入f(x)的系數(shù):a1,a2,a3,a4,a5輸入x0n=1v=a5 n=n+1v=v x0+a5-nn≤5是否輸出v結(jié)束
用心
愛心
專心
練習(xí):利用程序框圖試編寫B(tài)ASIC程序并在計(jì)算機(jī)上測(cè)試自己的程序。
2.排序
在信息技術(shù)課中我們學(xué)習(xí)過(guò)電子表格,電子表格對(duì)分?jǐn)?shù)的排序非常簡(jiǎn)單,那么電子計(jì)算機(jī)是怎么對(duì)數(shù)據(jù)進(jìn)行排序的呢? 閱讀課本P30—P31面的內(nèi)容,回答下面的問(wèn)題:(1)排序法中的直接插入排序法與冒泡排序法的步驟有什么區(qū)別?(2)冒泡法排序中對(duì)5個(gè)數(shù)字進(jìn)行排序最多需要多少趟?(3)在冒泡法排序?qū)?個(gè)數(shù)字進(jìn)行排序的每一趟中需要比較大小幾次? 游戲:5位同學(xué)每人拿一個(gè)數(shù)字牌在講臺(tái)上演示冒泡排序法對(duì)5個(gè)數(shù)據(jù)4,11,7,9,6排序的過(guò)程,讓學(xué)生通過(guò)觀察敘述冒泡排序法的主要步驟.并結(jié)合步驟解決例3的問(wèn)題.例3 用冒泡排序法對(duì)數(shù)據(jù)7,5,3,9,1從小到大進(jìn)行排序
解:P32 練習(xí):寫出用冒泡排序法對(duì)5個(gè)數(shù)據(jù)4,11,7,9,6排序的過(guò)程中每一趟排序的結(jié)果.例4 設(shè)計(jì)冒泡排序法對(duì)5個(gè)數(shù)據(jù)進(jìn)行排序的程序框圖.解: 程序框圖如下:
開始輸入a1,a2,a3,a4,a5r=1i=1ai>ai+1是否x=aiai=ai+1ai+1=xi=i+1r=r+1i=5否是r=5否是輸出a1,a2,a3,a4,a5結(jié)束 思考:直接排序法的程序框圖如何設(shè)計(jì)?可否把上述程序框圖轉(zhuǎn)化為程序? 練習(xí):用直接排序法對(duì)例3中的數(shù)據(jù)從小到大排序
用心
愛心
專心
3.小結(jié):(1)秦九韶算法計(jì)算多項(xiàng)式的值及程序設(shè)計(jì)
(2)數(shù)字排序法中的常見的兩種排序法直接插入排序法與冒泡排序法(3)冒泡法排序的計(jì)算機(jī)程序框圖設(shè)計(jì)(5)評(píng)價(jià)設(shè)計(jì)
作業(yè):P38 A(2)(3)
補(bǔ)充:設(shè)計(jì)程序框圖對(duì)上述兩組數(shù)進(jìn)行排序
用心
愛心
專心 34