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