算法初步比較經典的教案_第1頁
算法初步比較經典的教案_第2頁
算法初步比較經典的教案_第3頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、算法初步與框圖、知識網絡、考綱要求1算法的含義、程序框圖1了解算法的含義,了解算法的思想2理解程序框圖的三種根本邏輯結構:順序、條件分支、循環2根本算法語句理解幾種根本算法語句 一一輸入語句、輸出語句、賦值語句、條件語句、循環語句的含義.三、復習指南本章是新增內容,多以選擇題或填空題形式考查,常與數列、函數等知識聯系密切 .考查 的重點是算法語句與程序框圖,以根底知識為主,如給出程序框圖或算法語句,求輸出結果或說 明算法的功能;或寫出程序框圖的算法語句,判斷框內的填空等考查題型難度層次屬中偏低第一節算法與程序框圖知識回憶1 算法的概念:算法通常是指按一定規那么解決某一類問題的明確和有限的步驟.

2、2程序框圖又稱流程圖,是一種用程序框、流程線及文字說明來表示算法的圖形3.程序框圖的三種根本邏輯結構是順序結構、條件結構、循環結構.4算法的描述方式有:自然語言、程序框圖、程序語言.5.算法的根本特征:明確性:算法的每一步執行什么是明確的;順序性: 算法的 前一步 是 后一步的前提, 后一步是 前一步的繼續;有限性:算法必須在有限步內完成任務, 不能無限制的持續進行;通用性:算法應能解決某一類問題 .典例精析例1.如下列圖是一個算法的程序框圖,那么該程序框圖所表示的功能是開始/輸出冬 /結束解析:首先要理解各程序框的含義,輸入a,b,c三個數之后,接著判斷a,b的大小,假設b小,那么 把b賦給

3、a,否那么執行下一步,即判斷a與c的大小,假設c小,那么把c賦給a,否那么執行下一 步,這樣輸出的a是a,b,c三個數中的最小值.所以該程序框圖所表示的功能是求 a,b,c三個數 中的最小值.評注:求a,b,c三個數中的最小值的算法設計也可以用下面程序框圖來表示例2.以下程序框圖表示的算法功能是1計算小于100的奇數的連乘積2計算從1開始的連續奇數的連乘積3計算從1開始的連續奇數的連乘積,當乘積大于100時,計算奇數的個數4計算1X 3X 5X x n 100成立時n的最小值 解析:為了正確地理解程序框圖表示的算法,可以將執行 過程分解,分析每一步執行的結果.可以看出程序框圖中 含有當型的循環

4、結構,故分析每一次循環的情況,列表如第一次:S 1 3,i5 ;第二次:S 1 3 5,i7 ; 第三次:S 1 3 5 7,i 9,此時S 100不成立,輸出結果是7,程序框圖表示的算法功能是求使1X 3X 5Xx n 100成立時n的最小值.選D.評注:通過列表,我們能清楚了解程序的每一步中的各個變量是怎樣變化的,這正是程序運行的本質所在.此題假設要求編寫求使1X 3X 5Xx n 100成立時n的最小值的程序框圖或程序 時,很容易弄錯輸出的結果,應注意例3在音樂唱片超市里,每張唱片售價為 25元,顧客如果購置5張以上含5張唱片,那么 按九折收費,如果購置10張以上含10張唱片,那么按八折

5、收費,請設計算法步驟并畫出 程序框圖,要求輸入張數x,輸出實際收費y(元).25x (x 5)分析:先寫出y與X之間的函數關系式,有y 22.5x(5 x 10),再利用條件結構畫程序框圖.20x (x 10)解:算法步驟如下: 第一步,輸入購置的張數x,第二步,判斷X是否小于5,假設是,計算y 25x ;否那么,判斷X是否小于10,假設是,計算y 22.5x ;否那么,計算y 20x .第三步,輸出y .|程序框圖如下:評注:凡必須先根據條件做出判斷,然后再決定進行哪一個步驟的問題,在畫程序框圖時,必 須引入判斷框,采用條件結構設計算法.如果變量分三級(或以上)時,就需要用到條件結構的嵌 套

6、,不能無視結果中 是否的書寫,否那么不知道執行哪一條路徑.一般地,分n段的分段函數 需要引入n 1個判斷框.條件結構有以下兩種根本類型.分析:這是一個有規律的數列求和問題,每次都進行了相同的運算,故應用循環結構進行算法設 計解:程序框圖如下:(1) 當型循環(2直到型循環評注:(1)解題關鍵是選擇好計數變量i和累加變量S的初始值,并寫出用i表示的數列的通項 公式是;(2) 循環結構主要用在一些有規律的重復計算的算法中 ,如累加求和,累乘求積等問題在循環結 構中,要注意根據條件,設計合理的計數變量、累加(積)變量以及它們的初始值等,特別要注意循 環結構中條件的表述要恰當、精確,以免出現多一次或少

7、一次循環 3循環結構分為兩類:一類是當型循環結構,如下左圖所示;另一類是直到型循環結構, 如下右圖所示變式訓練畫出求1 4 712解:程序框圖如下:11002的值的程序框圖例5某工廠2005年的生產總值為200萬元,技術改進后預計以后后每年的年生產總值都比上 一年增長5%.設計一個程序框圖,輸出預期年生產總值超過300萬元的最早年份及2005年到 此年份之前(不包此年份)的年生產總值的和.分析:本例可用循環結構來實現.(1)確定“循環體:設a為某年的年生產總值,n為年份,S為 年產值的總和,那么循環體為SSa,aa0.05a,nn1.(2) 初始化變量:n的初始值為2005,a的初始值為200

8、,S的初始值為0(3) 設定循環控制條件:a 300 解:程序框圖如下:開蛤科-2D05門=2022 = 0a = df +0- O5i3R =梅+1評注:本問題的關健是設計好循環體,注意S S a與nS S a放在n n 1之后,那么輸出時 須重新賦值n n 1,否那么n的值為超過300萬的年份的下一年.此題也可用當型循環結構來 表示.變式訓練:設計一個程序框圖,求使S 1 2 3n 5000的最小n的值,并輸出此時S的 值解:程序框圖如下:根底自測一、選擇題1以下說法正確的選項是A算法就是某個問題的解題過程;B. 算法執行后可以產生不同的結果;C .解決某一個具體問題算法不同結果不同;D

9、.算法執行步驟的次數不可以很大,否那么無法實施.1. 解析:選項A,算法不能等同于解法;選項 B,例如:判斷一個正整數是否為質數,結 果為 是質數和 不是質數兩種;選項C,解決某一個具體問題算法不同結果應該相同,否 那么算法構造的有問題;選項 D,算法可以為很屢次,但不可以無限次.選 B.2、如下列圖的程序框圖中,那么第 3個輸出的數是A. 1 B. 3C.2 D.-2 23. 如圖給出的是求111246其中判斷框內應填入的條件是20的值的一個程序框圖,A.i>10?B.i<10? C.i>20?D.i<20?結束3.解析:通過列表,我們能清楚了解程序的每一步中的各個變

10、量是怎樣變化的,第一次:i1 1第二次:i 2,S 2廠11,S ,n 4,26, 依此可知循環的條件是i>10 ?.選A4. 2007年高考山東卷閱讀右邊的程序框圖,假設輸入的n是100,那么輸出的變量S和T的值 依次是A. 2550, 2500B. 2550, 2550C. 2500, 2500D. 2500, 2550開始SO, TO2?輸出S、T是nn1TTTnnn1結束4解析:依據框圖可得S 100 98 96 . 22550,T 99 97 95 . 12500.選 A.1600元的免征個人 前三級稅率如下左5. 2006年1月份開始實施的?個人所得稅法?規定:全月總收入不超

11、過 工資、薪金所得稅,超過1600元局部需征稅設全月總收入金額為 x元, 表所示:級數全月應納稅金額x 1600稅率1不超過500元局部5%2超過500至2000元局部10%3超過2000至5000元局部15%開始當工資薪金所得不超過 那么輸出、輸出分別為(A 0.05x; 0.1x3600元,計算個人所得稅的一個算法框圖如圖)B. 0.05x;0.1x 185C 0.05x 80;0.1x;D. 0.05x 80;0.1x 1855.解析:設全月總收入金額為x元,所得稅額為y元,那么y與x之間的函數關系為0 (0 x 1600)y (x 1600)5% (1600 x 2100) 選 D.2

12、5 (x 2100)-10% (2100 x 3600)二、填空題6. 2022年高考山東卷執行右邊的程序框圖,假設p=0.8,那么輸出的n=血+專/&./贏:列常jg 11 1:第一次循環后,S 一 0.8,此時n=2;第二次循環后,S - - 0.8,此時n 3;第三次22 41 1 1循環后,S - 0.8,此時n 4,輸出,故填4.2487.2022年高考江蘇卷某地區為了解70 80歲的老人的日平均睡眠時間單位:h,隨機選擇了50位老人進行調查,下表是這50位老人睡眠時間的頻率分布表:序號i分組睡眠時間組中值Gj頻數 人數頻率Fi1P4,5)4.560.1225,6)5.510

13、0.2036,7)6.5200.4047,8)7.5100.2058,98.540.08在上述統計數據的分析中一局部計算見算法流程圖,那么輸出的 解析:由流程圖S的值為S G1F1 G2F2 G3F3 G4F4 G5F57.5 0.2 8.5 0.084.5 0.125.5 0.20 6.5 0.406.428如果執行右面的程序框圖,那么輸出的 S 第E題開始1Fk1£-08.解析:S 2 4 6 1002550三、解答題10.函數y 4 (x 0),請畫出程序框圖,要求輸入自變量(x 2)2(x 0)x的值,輸出函數值y.10. 解:開始/輸入工/y 4J=(x4-2)a結束11.

14、 畫出一個計算1 5 10 15100的程序框圖.11解:程序框圖如下直到型循環結束12、甲、乙兩位同學為解決數列求和問題, 試圖編寫一程序.兩人各自編寫的程序框圖分別如 圖1和如圖2.I根據圖1和圖2,試判斷甲、乙兩位同學編寫的程序框圖輸出的結果是 否一致?當n二20時分別求它們輸出的結果;U假設希望通過對圖2虛框中某一步或幾步的修改來實現 求首項為2,公比為3的 等比數列的前n項和請你給出修改后虛框局部的流程圖.結束圖212、解:I輸出結果一致.當n = 20時,圖 1 的結果為 2 + 4+ 6+- + 38+ 40 = 2X 1 + 2+ 3+ - + 20= 420 圖 2 的結果為

15、 2 + 4+ 6+- + 38+ 40 = 2X 1 + 2+ 3+ - + 20= 420 U修改后虛框局部的流程圖為kS= S+ai = i+1L a = 3 * a第二節 算法的根本語句及算法案例知識回憶1任何一種程序設計語言都包含五種根本的算法語句,它們是輸入語句,輸出語句, 賦值語句,條件語句,循環語句2輸入語句的一般格式是|lNPUT "提示內容"變量;輸出語句的一般格式是|PRINT "提示內容"表達式;賦值語句的一般格式是變量表達式;IF 條件 THENIF 條件 THEN語句體1條件語句的一般格式是語句體 或ELSEEND IF語句體

16、2END IFDOWHILE 條件循環語句的一般格式是循環體和,循環體LOOP UNTIL 條件WEND輸入語句、輸出語句、 賦值語句根本對應于程序框圖中的順序結構;條件語句、循環語句分別用來表達程序框圖中的條件結構和循環結構運算符號:加+,減-_,乘* ,除/ ,乘方aS,整數取商,求余數MOD.邏輯符號:且AND或OR大于,等于=,小于V,大于等于=,小于等于竺,不等于. 常用函數:絕對值 ABS平方根sqr取整INT.1輾轉相除法和更相減損術輾轉相除法和更相減損術都是求兩個正整數的最大公約數的方法.1輾轉相除法就是對于給定的兩個正整數,用大數除以小數,假設余數不為0,那么將小數和余數構成

17、新的一對數,繼續上面的除法,反復執行此步驟,直到大數被小數除盡,那么這時 較小的數就是原來兩個數的最大公約數.2更相減損術就是對于給定的兩個正整數,假設它們都是偶數,貝U將它們反復除以2假設進行了 k次,直到它們至少有一個不是偶數后,將大數減小數, 然后將差和較小的數構成 一對新數,繼續上面的減法,反復執行此步驟,直到差和較小的數相等,此時相等的數再乘 以原來約簡的2k即為所求兩數的最大公約數2秦九韶算法秦九韶算法是求多項式值的優秀算法設 f (x)nn 1anX an iX冃 Xao,改寫為如下形式:f (X)(anX an i)x an 2)xai)x a。.設 Voan, Vivoxan

18、 iv2v1xan 2VV2Xan 3VnVn 1X a。這樣求n次多項式f (x)的值就轉化為求n個一次多項式的值.當多項式中有些項不存在時,可將這幾項看做0xn,補齊后再利用秦九韶算法進行計算.對于一個n次多項式,只需做次乘法和n次加法運算即可.3進位制K進制數的基數為k, k進制數是由0-k 1之間的數字構成的.將十進制的數轉化為k進制數的方法是除k取余法.把k進制數anan < a1a0(0 a.k,0 a.仆aa。k)化為十進制數的方法為nn 1anan 1 &1玄(紆an kan 1k3i kao.典例精析11-的值的算法程序.99 100解:算法程序如下:1當型循環

19、2直到型循環例1 寫出用循環語句描述求S 1 1 1 1234S 1i 2WHILES Si i 1WEND PRINT ENDi 100(1)a (i 1)/i"S"SS 1i 2DOS Si i 1LOOPPRINTEND(1)A(iUNTIL "S " S1)/ii 100評注:在編寫算法的程序時,可先畫出程序框圖,抓住程序框圖表示算法這個核心.注意分別用當型循環和直到型循環語句編寫的程序中, 循環條件的 廠區別與聯系.INPUTmIF my 13ELSEIF my 50ELSEy 150 25END IFEND IFEND50 THEN100 T

20、HEN15*( m50)(m 100)例2、某市對排污水進行綜合治理,征收污水處理費,系 統對各廠一個月內排出的污水量 m噸收取的污水處理費y元,運行程序如下所示:請寫出y與m的函數關系,并求排放污水150噸的污水處理費用. 解:這個程序反映的是一個分段函數13m (m 50)y 50 15(m50) (50 m 100)150 25(m 100) (m 100)因為m 150100,所以y 150 25(150 100)1400,故該廠應繳納污水處理費 1400元.評注:解決分段函數要用條件語句來處理.此題可畫出程序框圖幫助理解. 例3.求三個數72,120,168的最大公約數.解法1:用輾

21、轉相除法先求120,168的最大公約數,因為 168120 1 48,12048 2 24,4824 2所以120,168的最大公約數是24.再求72,24的最大公約數,因為7224 3,所以72,24的最大公約數為24,即72,120,168的最大公約數為 24.解法2:用更相減損術先求120,168的最大公約數,168-120=48,120-48=72,72-48=24,48-24=24所以120,168的最大公約數為24.72-24=48, 48-24=2472,24的最大公約數為24,即72,120,168的最大公約數為24.評注:輾轉相除法與更相減損術均是求兩個正整數的最大公 約數的

22、方法,要理解和掌握它們的操作步驟變式:試寫出求正整數m,n(m n)的最小公倍數的算法程序解:再求72,24的最大公約數,INPUT m,nDOm MOD nLOOP UNTILS S/mPRINT S17ENDINPUT m, ni 1DOa m* ir a MOD ni i 1LOOP UNTIL r 0PRINT aEND例4.用秦九韶算法求多項式f(x) x5 2x4 3x3 4x2 5x 6在x 2時的值. 分析:先改寫多項式,再由內向外計算.解:f (x) x5 2x4 3x3 4x2 5x 6(x 2)x 3)x 4)x 5)x 61, V1V°X24V2V|X311V

23、3v2x426V4V3X557V5v4x6120評注:用秦九韶算法求多項式值,關健是正確將多項式改寫,然后由內向外計算求得 此題也可簡寫為下式:1 2 3 4 5 62 2 8 22 52 1144 11 26 57 120例5.完成以下進制的轉化102。23) (10) (2)101(1Q) (8)解:(1)10202(3) 1 34 2 32 2 30 101(10)用8反復去除101,直到商為0止,所得的余數(從末位讀起)就是十進制數101的 8進制表示8101余數8| 125所以 101(10)145(8)8|J_401評注:將k進制的數轉化為k進制的數的方法是先將k進制的數轉化為十進

24、制的數,再將這個 數轉化為k進制的數.變式訓練:下面是把二進制數11111化為十進制數的一個程序框圖,判斷框內應填入的條件 是()A. i 5? B. i 4? C. i 4? D. i 5?解: 11111(2)1241231221 2 1,故判斷框內應填入的條件i4 .選c探根底自測一、選擇題1 以下給出的賦值語句中正確的選項是A 4 M B M M C B A1.解析:賦值語句的功能.選B2當x 2時,下面的程序輸出的結果是INPUTWHILEWENDPRINTENDA 3 B 7 C15172解析:0 2 11,1 2 13,3 2 17,72 115.選 CINPUT m,nDOm

25、MOD n3 運行以下程序:LOOP UNTIL rPRINT mEND當輸入56, 42時,輸出的結果是A. 56B. 42C. 84D. 14 3.解析:該程序的功能是用輾轉相除法求正整數 m, n(m n)的最大公約數,應選D4下邊程序運行后輸出的結果為()j 1WHILE j 5a (a j) MOD 5j j 1WENDPRINT aENDA 50 B 5 C254.解析:j 1,a1; j 2,a3; j 3,a1; j 4,a0; j 5,a0 .選 D二、填空題5 三個數324,243,135的最大公約數是 5 解析:324243 1 81,13581 1 54,8154 12

26、7,5427 2 .填 276.閱讀以下程序:INPUT xIF x 100 AND x 1000THENa x100b (x a 100) 10c x MOD 10x 100 c 10 b aPRINT x當程序輸入x值為123時,問運行的結果是 6. 解析.所以運行的結果是321.7.2005年高考北京卷理14n次多項式Pn(x) a0xn1an 1x an,如果在一種算法中,計算x0kk二2, 3, 4,,n的值需要k- 1次乘法,計算P3(x。)的值共需要9 次運算6次乘法,3次加法,那么計算P°(x0)的值共需要次運算.下面給出一種減少運算次數的算法:P°(x) a°,R1(x) xPk(x) azk = 0, 1,2,n-1.利用該算法,計算卩3(疝的值共需要6次運算,計算P°(x0)的值共需要次運算.7. 解析:秦九韶算法適用一般的多項式 R(x) a0xn axn 1an 1x an的求值問題.直接法 乘法運算的次數最多可到達(n,加法最多n次.秦九韶算法通過轉化把乘法運算的次數2減少到最多n次,加法最多n

溫馨提示

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

評論

0/150

提交評論