必修3課件第一章算法初步_第1頁
必修3課件第一章算法初步_第2頁
必修3課件第一章算法初步_第3頁
必修3課件第一章算法初步_第4頁
必修3課件第一章算法初步_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 內(nèi)容算法的含義流程圖基本算法語句算法案例 結(jié)構(gòu)流 程 圖算法的描述算法自然語言順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)輸 語句偽 代 碼循環(huán)語句賦值語句條件語句入出算法 重點(diǎn) 理解算法的含義; 掌握算法的三種基本結(jié)構(gòu); 會(huì)用算法語句解決簡單的實(shí)際問題。 難點(diǎn) 循環(huán)語句; 算法設(shè)計(jì)。 展開方式 特點(diǎn) 螺旋上升、漸次遞進(jìn) 整合滲透、前引后連 三線合一、橫向貫通 彈性處理、多樣選擇自然語言自然語言流程圖自然語言流程圖偽代碼自然語言流程圖偽代碼Excel VBA算法 算法的含義(廣義)完成某項(xiàng)工作的方法和步驟(現(xiàn)代)可以用計(jì)算機(jī)來解決的一類問題的程序 和步驟(教材)有限性、確定性(其他)輸入

2、、輸出、可行性、一般性 算法的特點(diǎn)算法(教材)對(duì)一類問題的機(jī)械的、統(tǒng)一的求解方法 關(guān)于例1例例1 給出求給出求1 + 2 +3 + 4 + 5的一個(gè)算法的一個(gè)算法算法算法1 按照逐一相加的程序進(jìn)行按照逐一相加的程序進(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) 1( nn算法算法2 可以運(yùn)用公式可以運(yùn)用公式1 + 2 + + n = 直接計(jì)算。直接計(jì)算。第一步第一步 取n = 5;第二步第二步 計(jì)算 ;第三步第三步 輸出運(yùn)算結(jié)果

3、。2) 1( nn算法 四種圖框類型算法輸入、輸出框處理框判斷框起止框 三種基本算法結(jié)構(gòu)i) 順序結(jié)構(gòu)算法ii) 選擇結(jié)構(gòu)ABpYNAB 三種基本算法結(jié)構(gòu)iii) 循環(huán)結(jié)構(gòu)算法ApYNAYNp(直到型)(當(dāng)型) 循環(huán)結(jié)構(gòu)示例算法N開始結(jié)束輸出該城市投票有一城市得票超過總票數(shù)一半淘汰得票最少的城市Y引例 循環(huán)結(jié)構(gòu)例4 求12345。算法算法2 S1 T1; S2 I2; S3 TT I;S4 II + 1 S5 如果I不大于5,重新執(zhí)行 S3、S4、S5;否則算法結(jié)束I 5NYT1輸出TI2TTIII + 1開始結(jié)束 賦值語句 偽代碼 Excel VBA例例1 1 交換兩個(gè)變量 x、y 的值p

4、xx yy pp = xx = yy = p 賦值號(hào) x、y、p的值各是多少? 輸入輸出語句 偽代碼 Excel VBA例例2 2 輸入一個(gè)數(shù),輸出這個(gè)數(shù)的絕對(duì)值。Read ax Abs(a)Print xa = Inputbox(“請(qǐng)輸入一個(gè)數(shù))x = Abs(a)Msgbox x 其他輸入語句 條件語句單行 偽代碼 Excel VBA例例3 3 輸入三個(gè)數(shù),輸出最大數(shù)。Read a, b, cx aIf b x Then x bIf c x Then x cPrint xa = InputBox(輸入a)b = InputBox(輸入b) c = InputBox(輸入c) x = aIf

5、 b x Then x = bIf c x Then x = cMsgBox 最大數(shù) & x 條件語句塊 偽代碼 Excel VBA例例4 4 輸入x,計(jì)算 y = 的值。Read xIf x0 Then y x2Else y sin xEnd IfPrint yx = InputBox(輸入一個(gè)數(shù))If x =0 Then y = x2Else y = sin(x)End IfMsgBox y0,sin, 0,2xxxx 條件語句嵌套 偽代碼 Excel VBA例例5 5 輸入x,計(jì)算 y = 的值。Read xIf x 0 Then y 1Else If x = 0 Then y

6、0Else y -1End IfPrint yx = InputBox(輸入一個(gè)數(shù))If x 0 Then y = 1Else If x = 0 Then y = 0Else y = -1End IfMsgBox y-=0, 1, 0, 0, 0, 1xxx 循環(huán)語句For 偽代碼 Excel VBA例例6 6計(jì)算1 3 5 7 99。S 1For I From 3 To 99 Step 2 S S IEnd ForPrint SS = 1For I = 3 To 99 Step 2 S = S*INext IMsgBox S 循環(huán)語句While 偽代碼1例例7 7求最小的奇數(shù)I,使 1 3

7、5 7 I 10 000。S 1I 3 While S10 000 S S I I I 2 End WhilePrint IS 1I 1 While S10 000 I I 2 S S IEnd WhilePrint I 偽代碼2算法案例m2While Mod(m, 3)2 或 Mod(m, 5)3 或 Mod(m, 7)2 mm + 1End WhilePrint m 流程圖與偽代碼算法案例NY輸出mMod(m, 3)2mm + 1m2或Mod(m, 5)3或Mod(m, 7)2算法案例m = 2While m Mod 3 2 Or m Mod 5 3 Or m Mod 7 2 m = m

8、+ 1WendMsgBox 不定方程的一個(gè)解為 & m Excel VBA-1m = 1Do m = m + 1Loop Until m Mod 3 = 2 And m Mod 5 = 3 And m Mod 7 = 2MsgBox 不定方程的一個(gè)解為 & m Excel VBA-2例例3 3 求兩個(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)相除法” 流程圖與偽代碼10 Read a,

9、b20 rMod(a,b)30 ab40 br50 If r 0 Then 2060 Print a70 End 輸出aabNr = 0Y輸入a,brMod(a,b)br 流程圖與偽代碼Read a, bWhile Mod(a,b)0 rMod(a,b) ab brEnd WhilePrint b 輸出babYN輸入a,brMod(a,b)brMod(a,b)0算法案例a = InputBox(輸入第一個(gè)自然數(shù))b = InputBox(輸入第二個(gè)自然數(shù)) Do r = a Mod b a = b b = rLoop Until r = 0MsgBox 最大公約數(shù)為 & a Excel

10、 VBA-1算法案例a = InputBox(輸入第一個(gè)自然數(shù))b = InputBox(輸入第二個(gè)自然數(shù)) While a Mod b 0 r = a Mod b a = b b = rWendMsgBox 最大公約數(shù)為 & a Excel VBA-2例例4 4 用二分法求方程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ū)間的長度是否小于 給定的誤差 流程圖與偽

11、代碼10 Read a, b, c20 x0(a + b)/230 f(a)a3 a 1 40 f(x0)x03 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)f(x0)=0輸入a,b,cbx0f(a)f(x0)0|a b| cax0f(a)a3 - a - 1f(x0)x03 x0 1 YNYYN10 a = Val(InputBox(輸入?yún)^(qū)間左端點(diǎn)值)20 b =

12、 Val(InputBox(輸入?yún)^(qū)間右端點(diǎn)值)30 c = Val(InputBox(輸入誤差點(diǎn)限制)40 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 方程的近似解為 & x0a = 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二分法a = Val(Inpu

溫馨提示

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

評(píng)論

0/150

提交評(píng)論