《高二數(shù)學(xué)必修3 算法案例3 ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《高二數(shù)學(xué)必修3 算法案例3 ppt(11頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 有助于我們?nèi)娴乩斫膺\(yùn)算能力 給出一個(gè)問題的不同算法,比較這些算法的優(yōu)劣并作出選擇,從而提高效率真正的運(yùn)算過程 有利于培養(yǎng)學(xué)生的思維能力 將解決具體問題的方法整理成算法的過程是一個(gè)條理化、精確化和邏輯化的過程 算法思想是貫穿高中課程的基本思想例例1 1(第(第2525頁例頁例1 1)孫子問題:“今有物不知其數(shù),三三數(shù)之剩二;五五數(shù)之剩三;七七數(shù)之剩二問物幾何?答曰:二十三”分析分析 “孫子問題”相當(dāng)于求關(guān)于x,y,z的不定方程組 的正整數(shù)解27, 35, 23zmymxm 問題背景與分析第4節(jié) 算法案例算法案例10 m220 If mod(m, 3)2 then 7030 If mod(m,
2、 5)3 then 70 40 If mod(m, 7)2 then 7050 Print m60 Goto 90 70 mm + 180 Goto 2090 EndNY輸出mmod(m, 3)2mm + 1m2mod(m, 5)3mod(m, 7)2YYNN 流程圖與偽代碼第4節(jié) 算法案例算法案例10 m 220 If m Mod 3 2 then 7030 If m Mod 5 3 then 70 40 If m Mod 7 2 then 7050 MsgBox 不定方程的一個(gè)解為 & m60 Goto 90 70 m m 180 Goto 2090 End Excel VBA-1第4節(jié)
3、算法案例例例2 2 求兩個(gè)整數(shù)a和b的最大公約數(shù)歐幾里得輾轉(zhuǎn)相除法。 問題背景與分析分析分析 求出列數(shù):a,b,r1,r2,rn 1,rn,0 這列數(shù)從第三項(xiàng)開始,每項(xiàng)都是前兩項(xiàng)相除所得的余數(shù),余數(shù)為0的前一項(xiàng)rn即是a和b的最大公約數(shù)這種方法稱為“歐幾里得輾轉(zhuǎn)相除法”第4節(jié) 算法案例 流程圖與偽代碼10 Read a, b20 rmod(a,b)30 ab40 br50 If r 0 then 2060 Print a70 End 輸出aabNr 0Y輸入a,brmod(a,b)br第4節(jié) 算法案例算法案例a InputBox(輸入第一個(gè)自然數(shù))b InputBox(“輸入第二個(gè)自然數(shù)) D
4、o r a Mod b a b b rLoop until r 0MsgBox 最大公約數(shù)為 & a Excel VBA第4節(jié) 算法案例例例3 3 用二分法求方程x3 - x - 1 0在區(qū)間 1,1.5 內(nèi)的一個(gè)近似解(誤差不超過0.001)。 問題背景與分析第一步第一步 確定有解區(qū)間a, b第二步第二步 取a, b的中點(diǎn)第三步第三步 計(jì)算函數(shù)在中點(diǎn)處的函數(shù)值第四步第四步 判斷中點(diǎn)處函數(shù)值是否為0第五步第五步 判斷新的有解區(qū)間的長(zhǎng)度是否小于 給定的誤差第4節(jié) 算法案例 流程圖與偽代碼10 Read a, b, c20 x0(a + b)/230 f(a)a3 a 1 40 f(x0)x03
5、x0 150 If f(x0) = 0 then Goto 120 60 If f(a)f(x0) 0 then70 bx080 Else90 ax0 100 End if110 If |a b|c then Goto 20120 Print x0 N輸出x0 x0(a+b)/2f(x0)=0輸入a,b,cbx0f(a)f(x0)0|a b| cax0f(a)a3 - a - 1f(x0)x03 x0 1 YNYYN第4節(jié) 算法案例10 a Val(InputBox(輸入?yún)^(qū)間左端點(diǎn)值)20 b Val(InputBox(輸入?yún)^(qū)間右端點(diǎn)值)30 c Val(InputBox(輸入誤差點(diǎn)限制)40
6、 x0 (a + b) / 2 50 f1 a3 - a - 160 f2 x03 - x0 - 170 If f2 0 Then Goto 14080 If f1*f2 c Then Goto 40140 MsgBox 方程的近似解為 & x0 Excel VBA-1第4節(jié) 算法案例a Val(InputBox(輸入?yún)^(qū)間左端點(diǎn)值)b Val(InputBox(輸入?yún)^(qū)間右端點(diǎn)值)c Val(InputBox(輸入誤差限制)Do x0 (a + b) / 2 f1 a3 - a - 1 f2 x03 - x0 - 1 If f2 0 Then Exit do If f1*f2 0 Then b x0 Else a x0 End ifLoop until Abs(a b) cMsgBox 方程的近似解為 & x0 Excel VBA-2第4節(jié) 算法案例二分法