《高中數(shù)學(xué)《算法初步復(fù)習(xí)課》教案新人教版必修Word版》由會(huì)員分享,可在線閱讀,更多相關(guān)《高中數(shù)學(xué)《算法初步復(fù)習(xí)課》教案新人教版必修Word版(5頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、算法初步 復(fù)習(xí)課
一.本章的知識(shí)結(jié)構(gòu)
二.知識(shí)梳理
要保證算法正確,且計(jì)算機(jī)能夠執(zhí)行,如:讓計(jì)算機(jī)計(jì)算1×2×3×4×5是可以做到的,但讓計(jì)算機(jī)去執(zhí)行“倒一杯水”“替我理發(fā)”等則是做不到的。
算法作為一個(gè)名詞,在中學(xué)教科書中并沒有出現(xiàn)過,我們?cè)诨A(chǔ)教育階段還沒有接觸算法概念。但是我們卻從小學(xué)就開始接觸算法,熟悉許多問題的算法。如,做四則運(yùn)算要先乘除后加減,從里往外脫括弧,豎式筆算等都是算法,至于乘法口訣、珠算口訣更是算法的具體體現(xiàn)。我們知道解一元二次方程的算法,求解一元一次不等式、一元二次不等式的算法,解線性方程組的算法,求兩個(gè)數(shù)的最大公
2、因數(shù)的算法等。因此,算法其實(shí)是重要的數(shù)學(xué)對(duì)象。
算法的概念
1 廣義地講 算法是為完成一項(xiàng)任務(wù)所應(yīng)當(dāng)遵照的一步一步的規(guī)則的、精確的、無(wú)歧義的描述,它的總步數(shù)是有限的。
2 狹義地講 算法是解決一個(gè)問題采取的方法和步驟的描述
例1 任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n是否為質(zhì)數(shù)
做出判定。
算法分析:根據(jù)質(zhì)數(shù)的定義,很容易設(shè)計(jì)出下面的步驟:
第一步:判斷n是否等于2,若n=2,則n是質(zhì)數(shù);若n>2,則執(zhí)行第二步。
第二步:依次從2至(n-1)檢驗(yàn)是不是n的因數(shù),即整除n的數(shù),若有這樣的數(shù),則n不是質(zhì)數(shù);若沒有這樣的數(shù),則n是質(zhì)數(shù)。
小結(jié):
3、算法具有以下特性:(1)有窮性;(2)確定性;(3)順序性;(4)不惟一性;(5)普遍性
例5 寫出求1+2+3+4+5+6的一個(gè)算法。
(1)四種基本的程序框
(2)三種基本邏輯結(jié)構(gòu)
順序結(jié)構(gòu) 條件結(jié)構(gòu) 循環(huán)結(jié)構(gòu)
順序結(jié)構(gòu):順序結(jié)構(gòu)描述的是是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間,框與框之間是按從上到下的順序進(jìn)行的。
條件結(jié)構(gòu):一些簡(jiǎn)單的算法可以用順序結(jié)構(gòu)來(lái)表示,但是這種結(jié)構(gòu)無(wú)法對(duì)描述對(duì)象進(jìn)行邏輯判斷
4、,并根據(jù)判斷結(jié)果進(jìn)行不同的處理。因此,需要有另一種邏輯結(jié)構(gòu)來(lái)處理這類問題,這種結(jié)構(gòu)叫做條件結(jié)構(gòu)。它是根據(jù)指定打件選擇執(zhí)行不同指令的控制結(jié)構(gòu)。
循環(huán)結(jié)構(gòu):在一些算法中,經(jīng)常會(huì)出現(xiàn)從某處開始,按照一定條件,反復(fù)執(zhí)行某一處理步驟的情況,這就是循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的處理步驟為循環(huán)體,顯然,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)。
(3)基本算法語(yǔ)句
(一)輸入語(yǔ)句
單個(gè)變量
INPUT “提示內(nèi)容”;變量
多個(gè)變量
INPUT “提示內(nèi)容1,提示內(nèi)容2,提示內(nèi)容3,…”;變量1,變量2,變量3,…
(二)輸出語(yǔ)句
PRINT “提示內(nèi)容”;表達(dá)式
(三)賦
5、值語(yǔ)句
變量=表達(dá)式
(四)條件語(yǔ)句
IF-THEN-ELSE格式
滿足條件?
語(yǔ)句1
語(yǔ)句2
是
否
IF 條件 THEN
語(yǔ)句1
ELSE
語(yǔ)句2
END IF
當(dāng)計(jì)算機(jī)執(zhí)行上述語(yǔ)句時(shí),首先對(duì)IF后的條件進(jìn)行判斷,如果條件符合,就執(zhí)行THEN后的語(yǔ)句1,否則執(zhí)行ELSE后的語(yǔ)句2。其對(duì)應(yīng)的程序框圖為:(如上右圖)
IF-THEN格式
滿足條件?
語(yǔ)句
是
否
IF 條件 THEN
語(yǔ)句
END IF
計(jì)算機(jī)執(zhí)行這種形式的條件語(yǔ)句時(shí),也
6、是首先對(duì)IF后的條件進(jìn)行判斷,如果條件符合,就執(zhí)行THEN后的語(yǔ)句,如果條件不符合,則直接結(jié)束該條件語(yǔ)句,轉(zhuǎn)而執(zhí)行其他語(yǔ)句。其對(duì)應(yīng)的程序框圖為:(如上右圖)
(五)循環(huán)語(yǔ)句
滿足條件?
循環(huán)體
是
否
(1)WHILE語(yǔ)句
WHILE 條件
循環(huán)體
WEND
其中循環(huán)體是由計(jì)算機(jī)反復(fù)執(zhí)行的一組語(yǔ)句構(gòu)成的。WHLIE后面的“條件”是用于控制計(jì)算機(jī)執(zhí)行循環(huán)體或跳出循環(huán)體的。
當(dāng)計(jì)算機(jī)遇到WHILE語(yǔ)句時(shí),先判斷條件的真假,如果條件符合,就執(zhí)行WHILE與WEND之間的循環(huán)體;然后再檢查上述條件,如果條件仍符合,再次執(zhí)行循環(huán)體,這個(gè)過程反復(fù)進(jìn)行,直
7、到某一次條件不符合為止。這時(shí),計(jì)算機(jī)將不執(zhí)行循環(huán)體,直接跳到WEND語(yǔ)句后,接著執(zhí)行WEND之后的語(yǔ)句。因此,當(dāng)型循環(huán)有時(shí)也稱為“前測(cè)試型”循環(huán)。其對(duì)應(yīng)的程序結(jié)構(gòu)框圖為:(如上右圖)
滿足條件?
循環(huán)體
是
否
(2)UNTIL語(yǔ)句
DO
循環(huán)體
LOOP UNTIL 條件
其對(duì)應(yīng)的程序結(jié)構(gòu)框圖為:(如上右圖)
(4)算法案例
案例1 輾轉(zhuǎn)相除法與更相減損術(shù)
案例2 秦九韶算法
案例3 排序法:直接插入排序法與冒泡排序法
案例4 進(jìn)位制
三.典型例題
例1 寫一個(gè)算法程序,計(jì)算1+2+3+…+n的值(要
8、求可以輸入任意大于1的正自然數(shù))
解:INPUT “n=”;n
i=1
sum=0
WHILE i<=n
sum=sum+i
i=i+1
WEND
PRINT sum
END
思考:在上述程序語(yǔ)句中我們使用了WHILE格式的循環(huán)語(yǔ)句,能不能使用UNTIL循環(huán)?
例3 把十進(jìn)制數(shù)53轉(zhuǎn)化為二進(jìn)制數(shù).
解:53=1×25+1×24+0×23+1×22+0×21+1×20
=110101(2)
例4 利用輾轉(zhuǎn)相除法求3869與6497的最大公約數(shù)與最小公倍數(shù)。
解:6497=3869×1+2628
3869=2628×1+1241
2628=1241*2+146
1241=146×8+73
146=73×2+0
所以3869與6497的最大公約數(shù)為73
最小公倍數(shù)為3869×6497/73=344341
友情提示:部分文檔來(lái)自網(wǎng)絡(luò)整理,供您參考!文檔可復(fù)制、編制,期待您的好評(píng)與關(guān)注!
- 5 - / 5