2019-2020年高中數(shù)學(xué)知識精要 22.算法教案 新人教A版.doc
2019-2020年高中數(shù)學(xué)知識精要 22.算法教案 新人教A版1.算法的概念:由基本運算及規(guī)定的運算順序所構(gòu)成的完整的解題步驟,或者是按照要求設(shè)計好的有限的計算序列,并且這樣的步驟或序列能解決一類問題。算法的五個重要特征:(1)有窮性:一個算法必須保證執(zhí)行有限步后結(jié)束;(2)確切性:算法的每一步必須有確切的定義;(3)可行性:算法原則上能夠精確地運行,而且人們用筆和紙做有限次即可完成;(4)輸入:一個算法有0個或多個輸入,以刻劃運算對象的初始條件。所謂0個輸入是指算法本身定出了初始條件。(5)輸出:一個算法有1個或多個輸出,以反映對輸入數(shù)據(jù)加工后的結(jié)果。沒有輸出的算法是毫無意義的。2.程序框圖也叫流程圖,是人們將思考的過程和工作的順序進行分析、整理,用規(guī)定的文字、符號、圖形的組合加以直觀描述的方法(1)程序框圖的基本符號 起止框任何流程圖都不可缺少的,它表明程序的開始和結(jié)束,所以一個完整的流程圖的首末兩端必須是起止框。 輸入輸出框表示數(shù)據(jù)的輸入或結(jié)果的輸出,它可用在算法中的任何需要輸入、輸出的位置 處理框是采用來賦值、執(zhí)行計算語句、傳送運算結(jié)果的圖形符號判斷框判斷框一般有一個入口和兩個出口,有時也有多個出口,它是惟一的具有兩個或兩個以上出口的符號,在只有兩個出口的情形中,通常都分成“是”與“否”(也可用“Y”與“N”)兩個分支用帶有箭頭的流程線連接圖形符號.(2)畫流程圖的基本規(guī)則使用標準的框圖符號從上倒下、從左到右開始符號只有一個退出點,結(jié)束符號只有一個進入點,判斷符號允許有多個退出點判斷可以是兩分支結(jié)構(gòu),也可以是多分支結(jié)構(gòu)語言簡練循環(huán)框可以被替代3.三種基本的邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)(1)順序結(jié)構(gòu)順序結(jié)構(gòu)描述的是是最簡單的算法結(jié)構(gòu),語句與語句之間,框與框之間是按從上到下的順序進行的。(2)條件結(jié)構(gòu)分支結(jié)構(gòu)的一般形式條件處理是否條件處理1處理2是否兩種結(jié)構(gòu)的共性:一個入口,一個出口。特別注意:一個判斷框可以有兩個出口,但一個條件分支結(jié)構(gòu)只有一個出口。結(jié)構(gòu)中每個部分都有可能被執(zhí)行,即對每一個框都有從入口進、出口出的路徑。以上兩點是用來檢查流程圖是否合理的基本方法(當然,學(xué)習(xí)循環(huán)結(jié)構(gòu)后,循環(huán)結(jié)構(gòu)也有此特點)提醒:解決分段函數(shù)的求值等問題,一般可采用條件結(jié)構(gòu)來設(shè)計算法.(3)循環(huán)結(jié)構(gòu)的一般形式在一些算法中,經(jīng)常會出現(xiàn)從某處開始,按照一定條件,反復(fù)執(zhí)行某一處理步驟的情況,這就是循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的處理步驟為循環(huán)體,顯然,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)。循環(huán)結(jié)構(gòu)又稱重復(fù)結(jié)構(gòu),循環(huán)結(jié)構(gòu)可細分為兩類:(1)如圖所示,它的功能是當給定的條件P1成立時,執(zhí)行A框,A框執(zhí)行完畢后,再判斷條件P1是否成立,如果仍然成立,再執(zhí)行A框,如此反復(fù)執(zhí)行A框,直到某一次條件P1不成立為止,此時不再執(zhí)行A框,從b離開循環(huán)結(jié)構(gòu)。 A P1? b (2)如下圖所示,它的功能是先執(zhí)行,然后判斷給定的條件P2是否成立,如果P2仍然不成立,則繼續(xù)執(zhí)行A框,直到某一次給定的條件P2成立為止,此時不再執(zhí)行A框,從b點離開循環(huán)結(jié)構(gòu)。 A P2? 不成立 成立b 提醒:對于有規(guī)律的計算問題,一般可采用循環(huán)結(jié)構(gòu)設(shè)計算法.4.算法的基本語句滿足條件?語句1語句2是否賦值語句:在表述一個算法時,經(jīng)常要引入變量,并賦給該變量一個值,用來表明賦給某一個變量的一個具體的確定值的語句叫做賦值語句.賦值語句的一般格式:變量名=表達式“=”的意義和作用:賦值語句中的“=”號,稱作賦值號.賦值語句的作用:先計算出賦值號右邊表達式的值,然后把該值賦給賦值號左邊的變量,使該變量的值等于表達式的值.關(guān)于賦值語句,需要注意幾點:賦值號左邊只能是變量名,而不是表達式.例如都是錯誤的.賦值號左右不能對換.賦值語句是將賦值號右邊的表達式賦值給賦值號左邊的變量.例如:,表示用的值替代變量原先的取值,不能改寫成,因為后者表示用Y的值替代變量X的值.不能利用賦值語句進行代數(shù)式(或符號)的演算.在賦值語句中的賦值符號右邊的表達式中的每一個變量都必須事先賦值給確定的值,不能用賦值語句進行如化簡,因式分解等演算,如是不能實現(xiàn)的.在一個賦值語句中只能給一個變量賦值,不能出現(xiàn)兩個或多個“=”.賦值號和數(shù)學(xué)中的等號的意義不同. 賦值號左邊的變量如果原來沒有值,則在執(zhí)行賦值語句后,獲得一個值.例如等;如果原來已經(jīng)有值,則執(zhí)行該語句后,以賦值號右邊表達式的值代替該變量的原值,即將原值“沖掉”.例如:在數(shù)學(xué)中是不成立的,但在賦值語句中,意思是將的原值加1再賦給,即的值增加1.條件語句IF 條件 語句1ELSE語句2END 算法中的條件結(jié)構(gòu)是由條件語句來表達的,是處理條件分支邏輯結(jié)構(gòu)的算法語句。它的一般格式是:當計算機執(zhí)行上述語句時,首先對IF后的條件進行判斷,如果條件符合,就執(zhí)行THEN后的語句1,否則執(zhí)行ELSE后的語句2。其對應(yīng)的程序框圖為:(如下圖)在某些情況下,也可以:IF 條件 語句END 滿足條件?語句是否計算機執(zhí)行這種形式的條件語句時,也是首先對IF后的條件進行判斷,如果條件符合,就執(zhí)行語句,如果條件不符合,則直接結(jié)束該條件語句,轉(zhuǎn)而執(zhí)行其他語句。其對應(yīng)的程序框圖為:(如下圖)條件語句的作用:在程序執(zhí)行過程中,根據(jù)判斷是否滿足約定的條件而決定是否需要轉(zhuǎn)換到何處去。需要計算機按條件進行分析、比較、判斷,并按判斷后的不同情況進行不同的處理。循環(huán)結(jié)構(gòu)算法中的循環(huán)結(jié)構(gòu)是由循環(huán)語句來實現(xiàn)的。對應(yīng)于程序框圖中的兩種循環(huán)結(jié)構(gòu),一般程序設(shè)計語言中也有當型(WHILE型)和直到型(for型)兩種語句結(jié)構(gòu)。即WHILE語句和UNTIL語句。(1)WHILE語句的一般格式是:WHILE 條件循環(huán)體END其中循環(huán)體是由計算機反復(fù)執(zhí)行的一組語句構(gòu)成的。WHLIE后面的“條件”是用于控制計算機執(zhí)行循環(huán)體或跳出循環(huán)體的。當計算機遇到WHILE語句時,先判斷條件的真假,如果條件符合,就執(zhí)行WHILE與END之間的循環(huán)體;然后再檢查上述條件,如果條件仍符合,再次執(zhí)行循環(huán)體,這個過程反復(fù)進行,直到某一次條件不符合為止。這時,計算機將不執(zhí)行循環(huán)體,直接跳到END語句后,接著執(zhí)行END之后的語句。其對應(yīng)的程序結(jié)構(gòu)框圖為:(如下圖)滿足條件?循環(huán)體是否(2)for語句的一般格式是:for 循環(huán)變量=初值:步長:終值循環(huán)體end 滿足條件?循環(huán)體是否其對應(yīng)的程序結(jié)構(gòu)框圖為:(如上圖) 從for型循環(huán)結(jié)構(gòu)分析,計算機執(zhí)行該語句時,先把初始值賦給循環(huán)變量,記下終值和步長,并比較初值和中止,如果初值超過終值,就執(zhí)行end以后的語句,否則執(zhí)行for語句下面的語句,執(zhí)行到end語句時,計算機讓循環(huán)變量增加一個步長值,然后用增值后的循環(huán)變量值與終值比較,如果超過終值,就執(zhí)行for語句以后的語句.是先執(zhí)行循環(huán)體后進行條件判斷的循環(huán)語句。提醒:在WHILE語句中,是當條件滿足時執(zhí)行循環(huán)體,而在for語句中,是當條件不滿足時執(zhí)行循環(huán)體。如(1)某紡織廠1997年的生產(chǎn)總值為300萬元,如果年生產(chǎn)增產(chǎn)率為5,計算最早在哪一年生產(chǎn)總值超過400萬元。分析:從1997年底開始,經(jīng)過x年后生產(chǎn)總值為300(1+5)x,可將1997年生產(chǎn)總值賦給變量a,然后對其進行累乘,用n作為計數(shù)變量進行循環(huán),直到a的值超過400萬元為止。解:程序框圖為: 開始a>400?a=a*pa=300,p=1.05,n=1997n=n+1輸出n結(jié)束否是(2)新課標要求學(xué)生數(shù)學(xué)模塊學(xué)分認定由模塊成績決定,模塊成績由模塊考試成績和平時成績構(gòu)成,各占50%,若模塊成績大于或等于60分,獲得2學(xué)分,否則不能獲得學(xué)分(為0分),設(shè)計一算法,通過考試成績和平時成績計算學(xué)分,并畫出程序框圖。解:(1)算法:第一步:輸入考試成績C1和平時成績C2, 第二步:計算模塊成績第三步:判斷C與60的大小,輸出學(xué)分F 若,則輸出F=2;否是開始輸入C1和C2輸出F=2輸出F=0結(jié)束若,則輸出F=0。 (2)程序框圖:(如圖)