高三理科數學算法初步複習教案

高三理科數學算法初步複習教案

高三理科數學算法初步複習教案

高考導航

考試要求 重難點擊 命題展望

1.瞭解算法的含義,瞭解算法的思想.

2.理解程序框圖的三 種基本邏輯結構:順序結構、條件結構、循環結構.

3.理解幾種基本算法語句輸入語句、輸出語句、賦值語句、條件語句、循環語句的含義.

4.瞭解幾個古代的算法案例,能用輾轉相除法及更相減損術求最大公約數;用秦九韶算法求多項式的值;瞭解進位制,會進行不同進位制之間的轉化. 本章重點:1.算法的三種基本邏輯結構即順序結構、條件結構和循環結構;2.輸入語句、輸出語句、賦值語句、條件語句、循環語句(兩種形式)的結構、作用與功能及各種語句的格式要求.

本章難點:1.用自然語言表示算法和運用程序框圖表示算法;2.用算法的基本思想編寫程序解決簡單問題.弄清三種基本邏輯結構的區別,把握程序語言中所包含的一些基本語句結構 . 算法初步作爲數學新增部分,在高考中一定會體現出它的重要性和實用性.

高考中將重點考查對變量賦值的理解和掌握、對條件結構和循環結構的靈活運用,學會根據要求畫出程序框圖;預計高考中,將考查程序框圖、循環結構和算法思想,並結合函數與數列考查邏輯思維能力.因此算法知識與其他知識的結合將是高考的重點,這也恰恰體現了算法的普遍性、工具性,當然難度不會太大,重在考查算法的概念及其思想.

1.以選擇題、填空題爲主,重點考查算法的含義、程序框圖、基本算法語句以及算法案例等內容.

2.解答題中可要求學生設計一個計算的程序並畫出程序框圖,能很好地考查學生分析問題、解決問題的能力.

知識網絡

11.1 算法的含義與程序框圖

典例精析

題型一 算法的含義

【例1】已知球的表面積是16,要求球的體積,寫出解決該問題的一個算法.

【解析】算法如下:

第一步,s=16.

第二步,計算R=s4.

第三步,計算V=4R33.

第四步,輸出V.

【點撥】給出一個問題,設計算法應該注意:

(1)認真分析問題,聯繫解決此問題的一般數學方法,此問題涉及到的各種情況;

(2)將此問題分成若干個步驟;

(3)用簡練的語句將各步表述出來.

【變式訓練1】設計一個計算 135791113的算法.圖中給出程序的一部分,則在橫線①上不能填入的數是()

A.13

B.13.5

C.14

D.14.5

【解析】當I13成立時,只能運算

1357911.故選A.

題型二 程序框圖

【例2】圖一是某縣參加2010年高考的學生身高條形統計圖,從左到右的各條形表示的學生人數依次記爲A1,A2,,A10(如A2表示身高(單位:cm)在[150,155)內的學生人數).圖二是統計圖一中身高在一定範圍內學生人數的一個算法流程圖.現要統計身高在160~180 cm(含160 cm,不含180 cm)的學生人數,那麼在流程圖中的判斷框內應填寫的條件是()

A.i6? B.i7? C.i8? D.i9?

圖一

【解析】根據題意可知,i的初始值爲4,輸出結果應該是A4+A5+A6+A7,因此判斷框中應填寫i8?,選C.

【點撥】本題的命題角度較爲新穎,信息量較大,以條形統計圖爲知識點進行鋪墊,介紹了算法流程圖中各個數據的引入來源,其考查點集中於循環結構的終止條件的判斷,考查了學生合理地進行推理與迅速作出判斷的解題能力,解本題的過程中不少考生誤選A,實質上本題中的數據並不大,考生完全可以直接從頭開始限次按流程 圖循環觀察,依次寫出每次循環後的變量的賦值,即可得解.

【變式訓練2】(2009遼寧)某店一個月的收入和支出,總共記錄了 N個數據a1,a2,,aN.其中收入記爲正數,支出記爲負數,該店用如圖所示的程序框圖計算月總收入S和月淨盈利V,那麼在 圖中空白的判斷框和處理框中,應分別填入下列四個選項中的()

A.A0?,V=S-T

B.A0?,V=S-T

C.A0?,V=S+T

D.A0?,V=S+T

【解析】選C.

題型三 算法的條件結構

【例3】某快遞公司規定甲、乙兩地之間物品的託運費用根據下列方法計算:

f=

其中f(單位:元)爲託運費,爲託運物品的重量(單位:千克),試寫出一個計算費用f的算法,並畫出相應的程序框圖.

【解析】算法如下:

第一步,輸入物品重量.

第二步,如果50,那麼f=0.53,

否則,f=500.53+(-50)0.85.

第三步,輸出託運費f.

程序框圖如圖所示.

【點撥】求分段函數值的算法應用到條件結構,因此在程序框圖的畫法中需要引入判斷框,要根據題目的要求引入判斷框的個數,而判斷框內的條件不同,對應的框圖中的內容或操作就相應地進行變化.

【變式訓練3】(2010天津)閱讀如圖的程序框圖,若輸出s的值爲-7,則判斷框內可填寫()

A.i3?

B.i4?

C.i5?

D.i6?

【解析】i=1,s=2-1=1;

i=3,s=1-3=-2;

i=5,s=-2-5=-7.所以選D.

題型四 算法的循環結構

【例4】設計一個計算10個數的平均數的算法,並畫出程序框圖.

【解析】算法步驟如下:

第一步,令S=0.

第二步,令I=1.

第三步,輸入一個數G.

第四步,令S=S+G.

第五步,令I=I+1.

第六步,若I10,轉到第七步,

若I10,轉到第三步.

第七步,令A=S/10.

第八步,輸出A.

據上述算法步驟,程序框圖如圖.

【點撥】(1)引入變量S作爲累加變量,引入I爲計數變量,對於這種多個數據的處理問題,可通過循環結構來達到;(2)計數變量用於記錄循環次數,同時它的取值還用於判斷循環是否終止,累加變量用於輸出結果.

【變式訓練4】設計一個求12310的程序框圖.

【解析】程序框圖如下面的圖一或圖二.

圖一 圖二

總結提高

1.給出一個問題,設計算法時應注意:

(1)認真分析問題,聯繫解決此問題的一般數學方法;

(2)綜合考慮此類問題中可能涉及的各種情況;

(3)藉助有關的變量或參數對算法加以表述;

(4)將解決問題的過程劃分爲若干個步驟;

(5)用簡練的語言將各個步驟表示出來.

2.循環結構有兩種形式,即當型和直到型,這兩種形式的循環結構在執行流程上有所不同,當型循環是當條件滿足時執行循環體,不滿足時退出循環體;而直到型循環則是當條件不滿足時執行循環體,滿足時退出循環體.所以判斷框內的條件,是由兩種循環語句確定的,不得隨便更改.

3.條件結構主要用在一些需要依據條件進行判斷的算法中.如分段函數的求值,數據的大小關係等問題的算法設計.

11.2 基本算法語句

典例精析

題型一 輸入、輸出與賦值語句的應用

【例1】閱讀程序框圖(如下圖),若輸入m=4,n=6,則輸出a= ,i= .

【解析】a=12,i=3.

【點撥】賦值語句是一種重要的基本語句,也是程序必不可少的重要組成部分,使用賦值語句,要注意其格式要求.

【變式訓練1】(2010陝西)如圖是求樣本x1,x2,,x10的平均數 的程序框圖,則圖中空白框中應填入的內容爲()

A.S=S+xn B.S= S+xnn C.S=S+n D.S=S+ 1n

【解析】因爲此步爲求和,顯然爲S=S+xn,故選A.

題型二 循環語句的應用

【例2】設計算法求112+123+134++199100的值.要求畫出程序框圖,寫出用基本語句編寫的程序.

【解析】這是一個累加求和問題,共99項相加,可設計一個計數變量,一個累加變量,用循環結構實現這一算 法.程序框圖如下圖所示:

程序如下:

s=0

k=1

DO

s=s+1/(k* (k+1))

k=k+1

LOOP UNTIL k99

PRINT s

END

【點撥】(1)在用WHILE語句和UNTIL語句編寫程序解決問題時,一定要注意格式和條件的表述方法,WHILE語句是當條件滿足時執行循環體,UNTIL語句是當條件不滿足時執行循環體.

(2)在解決一些需要反覆執行的運算任務,如累加求 和、累乘求積等問題中應注意考慮利用循環語句來實現.

(3)在循環語句中,也可以嵌套條件語句,甚至是循環語句,此時需要注意嵌套的這些語句,保證語句的完整性,否則就會造成程序無法執行.

【變式訓練2】下圖是輸出某個有限數列各項的程序框圖,則該框圖所輸出的最後一個數據是.

【解析】由程序框圖可知,當N=1時,A=1;N=2時,A=13;N=3時,A=15,,即輸出各個A值的分母是以1爲首項以2爲公差的等差數列,故當N=50時,A=11+(50-1)2=199,即爲框圖最後輸出的一個數據.故填199.

題型三 算法語句的實際應用

【例3】某電信部門規定:撥打市內電話時,如果通話時間3分鐘以內,收取通話費0.2元,如果通話時間超過3分鐘,則超過部分以每分鐘0.1元收取通話費(通話不足1分鐘時按1分鐘計算).試設計一個計算通話費用的算法,要求寫出算法,編寫程序.

【解析】我們用c(單位:元)表示通話費,t(單位:分鐘)表示通話時間,

則依題意有

算法步驟如下:

第一步,輸入通話時間t.

第二步,如果t3,那麼c=0.2;否則c=0.2+0.1[t-2].

第三步,輸出通話費用c.

程序如下:

INPUT t

IF t3 THEN

c=0.2

ELSE

c=0.2+0.1*INT(t-2)

END IF

PRINT c

END

【點撥】在解決實際問題時,要正確理解其中的算法思想,根據題目寫出其關係式,再寫出相應的算法步驟,畫出程序框圖,最後準確地編寫出程序,同時要注意結合題意加深對算法的理解.

【變式訓練3】(2010江蘇)下圖是一個算法流程圖,則輸出S的值是.

【解析】n=1時,S=3;n=2時,S=3+4=7;n=3時,S=7+8=15;n=4時,S=15+24=31;n=5時,S=31+25=63.因爲6333,所以輸出的S值爲63.

總結提高

1.輸入、輸出語句可以設計提示信息,加引號表示出來,與變量之間用分號隔開.

2.賦值語句的賦值號左邊只能是變量而不能是表達式;賦值號左右兩邊不能對換,不能利用賦值語句進行代數式計算,利用賦值語句可以實 現兩個變量值的互換,方法是引進第三個變量,用三個賦值語句完成.

3.在某些算法中,根據需要,在條件語句的THEN分支或ELSE分支中又可以包含條件語句.遇到這樣的問題,要分清內外條件結構,保證結構的完整性.

4.分清WHILE語句和UNTIL語句的格式,在解決一些需要反覆執行的運算任務,如累加求和,累乘求積等問題中應主要考慮利用循環語句來實現,但也要結合其他語句如條件語句.

5.編程的一般步驟:

(1)算法分析;(2)畫出程序框圖;(3)寫出程序.

11.3 算法案例

典例精析

題型一 求最大公約數

【例1】(1)用輾轉相除法求840與1 764的最大公約數;

(2)用更相減損術求440與556的最大公約數.

【解析】(1)用輾轉相除法求840與1 764的最大公約數:

1 764=8402+84,

840=8410+0.

所以840與1 764的最大公約數是84.

(2)用更相減損術求440與556的最大公約數:

556-440=116,

440-116=324,

324-116=208,

208-116=92,

116-92=24,

92-24=68,

68-24=44,

44-24=20,

24-20=4,

20-4=16,

16-4=12,

12-4=8,

8-4=4.

所以440與556的最大公約數是4.

【點撥】(1)輾轉相除法與更相減損術是求兩個正整數的最大公約數的方法,輾轉相除法用較大的數除以較小的數,直到大數被小數除盡結 束運算,較小的數就是最大公約數;更相減損術是用兩數中較大的數減去較小的數,直到所得的差和較小數相等爲止,這個較小數就是這兩個數的最大公約數.一般情況下,輾轉相除法步驟較少,而更相減損術步驟較多,但運算簡易,解題時要靈活運用.

(2)兩個以上的數求最大公約數,先求其中兩個數的最大公約數,再用所得的公約數與其他各數求最大公約數即可.

【變式訓練1】求147,343,133的最大公約數.

【解析】先求147與343的最大公約數.

343-147=196,

196-147=49,

147-49=98,

98-49=49,

所以147與343的最大公約數爲49.

再求49與133的最大公約數.

133-49=84,

84-49=35,

49-35=14,

35-14=21,

21-14=7,

14-7=7.

所以147,343,133的最大公約數爲7.

題型二 秦九韶算法的應用

【例2】用秦九韶算 法寫出求多項式f(x)=1+x+0.5x2+0.016 67x3+0.041 67x4+0.008 33x5在x=-0.2時的值的過程.

【解析】先把函數整理成f(x)=((((0.008 33x+0.041 67)x+0.166 67)x+0.5)x+1)x+1,

按照從內向外的順序依次進行.

x=-0.2,

a5=0.008 33, v0=a5=0.008 33;

a4=0.041 67, v1=v0x+a4=0.04;

a3=0.016 67, v2=v1x+a3=0.008 67;

a2=0.5, v3=v2x+a2=0.498 27;

a1=1, v4=v3x+a1=0.900 35;

a0=1, v5=v4x+a0=0.819 93;

所以f(-0.2)=0.819 93.

【點撥】秦九韶算法是多項式求值的最優算法,特點是:

(1)將高次多項式的求值化爲一次多項式求值;

(2)減少運算次數,提高效率;

(3)步驟重複實施,能用計算機操作.

【變式訓練2】用秦九韶算法求多項式f(x)=8x7+5x6+3x4+2x+1當x=2時的值爲.

【解析】1 397.

題型三 進位制之間的轉換

【例3】(1)將101 111 011(2)轉化爲十進制的數;

(2)將53(8)轉化爲二進制的數.

【解析】(1)101 111 011(2)=128+027+126+125+124+123+022+121+1=379.

(2)53(8)=581+3=43.

所以53(8)=101 011(2).

【點撥】將k進制數轉換爲十進制數,關鍵是先寫成冪的積的形式再求和,將十進制數轉換爲k進制數,用除k取餘法,餘數的書寫是由下往上,順序不能顛倒,k進制化爲m進制(k,m10),可以用十進制過渡.

【變式訓練3】把十進制數89化爲三進制數.

【解析】具體的計算方法如下:

89=329+2,

29=39+2,

9=33+0,

3=31+0,

1=30+1,

所以89(10)=10 022(3).

總結提高

1.輾轉相除法和更相減損術都是用來求兩個數的最大公約數的方法.其算法不同,但二者的原理卻是相似的,主要區別是一個是除法運算,一個是減法運算,實質都是一個遞推的過程.用秦九韶算法計算多項式的值,關鍵是正確的將多項式改寫,然後由內向外,依次計算求解.

2.將k進制數轉化爲十進制數的算法和將十進制數轉化爲k進制數的算法操作性很強,要掌握算法步驟,並熟練轉化;要熟練應用除基數,倒取餘,一直除到商爲0.