2022人教版數(shù)學(xué)一輪復(fù)習(xí)1算法語句與算法案例教案_第1頁
2022人教版數(shù)學(xué)一輪復(fù)習(xí)1算法語句與算法案例教案_第2頁
2022人教版數(shù)學(xué)一輪復(fù)習(xí)1算法語句與算法案例教案_第3頁
2022人教版數(shù)學(xué)一輪復(fù)習(xí)1算法語句與算法案例教案_第4頁
2022人教版數(shù)學(xué)一輪復(fù)習(xí)1算法語句與算法案例教案_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

算法語句與算法案例【考綱要求】理解幾種基本算法語句(輸入語句、輸出語句、賦值語句、條件語句和循環(huán)語句)的含義?!净A(chǔ)知識(shí)】《一》基本算法語句一.輸入語句、輸出語句、賦值語句的格式與功能語句一般格式功能輸入語句INPUT“提示內(nèi)容”;變量輸入信息輸出語句PRINT“提示內(nèi)容”;表達(dá)式輸出常量、變量的值和系統(tǒng)信息賦值語句變量=表達(dá)式將表達(dá)式的值賦給變量1.輸入、輸出、賦值語句是任何一個(gè)算法中必不可少的語句。一個(gè)語句可以輸出多個(gè)表達(dá)式。在賦值語句中,變量的值始終等于最近一次賦給它的值,先前的值將被替換。2.一個(gè)賦值語句只給一個(gè)變量賦值,但一個(gè)語句行可以寫出多個(gè)賦值語句。3.不能利用賦值語句進(jìn)行代數(shù)式的演算(如化簡、因式分解、解方程等)。注:輸入語句沒有計(jì)算功能,而輸出語句、賦值語句有計(jì)算功能。4.在BASIC語言中,常見運(yùn)算符號(hào)的書寫方式5.BASIC語言中的運(yùn)算規(guī)則先乘除,后加減;乘冪優(yōu)先于乘除;函數(shù)優(yōu)先于乘冪;同級(jí)運(yùn)算從左向右按順序進(jìn)行;括號(hào)內(nèi)最優(yōu)先。二.條件語句(1)算法中的條件結(jié)構(gòu)與條件語句相對(duì)應(yīng);(2)條件語句的格式及框圖①IF—THEN格式②IF—THEN—ELSE格式1.條件語句一般用在需要對(duì)條件進(jìn)行判斷的算法設(shè)計(jì)中,求分段函數(shù)的函數(shù)值往往用條件語句編寫程序。2.條件語句可以嵌套,即條件語句的THEN或ELSE后面還可以跟條件語句,其一般形式是:對(duì)應(yīng)的程序框圖為:3.條件語句常用運(yùn)算符注:條件語句必須以IF語句開始,以ENDIF語句結(jié)束,一個(gè)IF語句必須和一個(gè)ENDIF對(duì)應(yīng),尤其對(duì)條件語句的嵌套編程時(shí),不要漏掉ENDIF。三.循環(huán)語句(1)算法中的循環(huán)結(jié)構(gòu)與循環(huán)語句相對(duì)應(yīng)。(2)循環(huán)語句的格式及框圖。①UNTIL語句②WHILE語句注:計(jì)算機(jī)是按怎樣的順序執(zhí)行循環(huán)語句的?(使用循環(huán)語句的關(guān)鍵是辨認(rèn)出算法在執(zhí)行過程中的循環(huán)特征,若先考慮判斷,再進(jìn)行循環(huán),則使用當(dāng)型(WHILE型)循環(huán);若先進(jìn)行循環(huán),再判斷,則使用直到型(UNTIL型)循環(huán),直到型循環(huán)語句至少執(zhí)行一次循環(huán)體,而當(dāng)型循環(huán)語句則可能一次也執(zhí)行循環(huán)體,二者本質(zhì)上是相同的,可以相互轉(zhuǎn)化。)《二》算法案例一、輾轉(zhuǎn)相除法輾轉(zhuǎn)相除法求兩個(gè)數(shù)的最大公約數(shù),其算法可以描述如下:①輸入兩個(gè)正整數(shù)和;②求余數(shù):計(jì)算除以,將所得余數(shù)存放到變量中;③更新被除數(shù)和余數(shù):=,=;④判斷余數(shù)是否為0。若余數(shù)為0,則輸出結(jié)果;否則轉(zhuǎn)向第②步繼續(xù)循環(huán)執(zhí)行如此循環(huán),直到得到結(jié)果為止。二、更相減損術(shù)我國早期也有解決求最大公約數(shù)問題的算法,就是更相減損術(shù)。在《九章算術(shù)》中記載了更相減損術(shù)求最大公約數(shù)的步驟:可半者半之,不可半者,副置分母?子之?dāng)?shù),以少減多,更相減損,求其等也,以等數(shù)約之步驟:Ⅰ.任意給出兩個(gè)正數(shù);判斷它們是否都是偶數(shù)。若是,用2約簡;若不是,執(zhí)行第二步。Ⅱ.以較大的數(shù)減去較小的數(shù),接著把較小的數(shù)與所得的差比較,并以大數(shù)減小數(shù)。繼續(xù)這操作,直到所得的數(shù)相等為止,則這個(gè)數(shù)(等數(shù))就是所求的最大公約數(shù)。三、秦九韶算法秦九韶算法的一般規(guī)則:秦九韶算法適用一般的多項(xiàng)式f(x)=anxn+an-1xn-1+….++的求值問題。用秦九韶算法求一般多項(xiàng)式f(x)=anxn+an-1xn-1+….+a1x+a0當(dāng)時(shí)的函數(shù)值,可把次多項(xiàng)式的求值問題轉(zhuǎn)化成求個(gè)一次多項(xiàng)式的值的問題,即求v0=an=+v2=v1x+an-2v3=v2x+an-3……=+觀察秦九韶算法的數(shù)學(xué)模型,計(jì)算vk時(shí)要用到vk-1的值,若令v0=an。我們可以得到下面的遞推公式:v0=anvk=vk-1+an-k(k=1,2,…n)這是一個(gè)在秦九韶算法中反復(fù)執(zhí)行的步驟,可以用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)四、排序排序的算法很多,課本主要介紹里兩種排序方法:直接插入排序和冒泡排序(1)直接插入排序在日常生活中,經(jīng)常碰到這樣一類排序問題:把新的數(shù)據(jù)插入到已經(jīng)排好順序的數(shù)據(jù)列中。例如:一組從小到大排好順序的數(shù)據(jù)列{1,3,5,7,9,11,13},通常稱之為有序列,我們用序號(hào)1,2,3,……表示數(shù)據(jù)的位置,欲把一個(gè)新的數(shù)據(jù)8插入到上述序列中。完成這個(gè)工作要考慮兩個(gè)問題:(1)確定數(shù)據(jù)“8”在原有序列中應(yīng)該占有的位置序號(hào)。數(shù)據(jù)“8”所處的位置應(yīng)滿足小于或等于原有序列右邊所有的數(shù)據(jù),大于其左邊位置上所有的數(shù)據(jù)。(2)將這個(gè)位置空出來,將數(shù)據(jù)“8”插進(jìn)去。對(duì)于一列無序的數(shù)據(jù)列,例如:{49,38,65,97,76,13,27,49},如何使用這種方法進(jìn)行排序呢?基本思想很簡單,即反復(fù)使用上述方法排序,由序列的長度不斷增加,一直到完成整個(gè)無序列就有序了首先,{49}是有序列,我們將38插入到有序列{49}中,得到兩個(gè)數(shù)據(jù)的有序列:{38,49},然后,將第三個(gè)數(shù)據(jù)65插入到上述序列中,得到有序列:{38,49,65}…………按照這種方法,直到將最后一個(gè)數(shù)據(jù)65插入到上述有序列中,得到{13,27,38,49,49,65,76,97}這樣,就完成了整個(gè)數(shù)據(jù)列的排序工作。注意到無序列“插入排序算法”成為了解決這類問題的平臺(tái)(2)冒泡法排序所謂冒泡法排序,形象地說,就是將一組數(shù)據(jù)按照從小到大的順序排列時(shí),小的數(shù)據(jù)視為質(zhì)量輕的,大的數(shù)據(jù)視為質(zhì)量沉的。一個(gè)小的數(shù)據(jù)就好比水中的氣泡,往上移動(dòng),一個(gè)較大的數(shù)據(jù)就好比石頭,往下移動(dòng)。顯然最終會(huì)沉到水底,最輕的會(huì)浮到頂,反復(fù)進(jìn)行,直到數(shù)據(jù)列排成為有序列。以上過程反映了這種排序方法的基本思路。我們先對(duì)一組數(shù)據(jù)進(jìn)行分析。設(shè)待排序的數(shù)據(jù)為:{49,38,65,97,76,13,27,49}排序的具體操作步驟如下:1.將第1個(gè)數(shù)與右邊相鄰的數(shù)38進(jìn)行比較,因?yàn)?8<49,49應(yīng)下沉,即向右移動(dòng),所以交換他們的位置,得到新的數(shù)據(jù)列:{38,49,65,97,76,13,27,49}2.將新數(shù)據(jù)列中的第2個(gè)數(shù)49與右邊相鄰的數(shù)65進(jìn)行比較,因?yàn)?5>49,所以順序不變,得到新的數(shù)據(jù)列:{38,49,65,97,76,13,27,49}3.將新數(shù)據(jù)列中的第3個(gè)數(shù)65與右邊相鄰的數(shù)97進(jìn)行比較,因?yàn)?7>65,所以順序不變,得到新的數(shù)據(jù)列:{38,49,65,97,76,13,27,49}4.將新數(shù)據(jù)列中的第4個(gè)數(shù)97與右邊相鄰的數(shù)76進(jìn)行比較,因?yàn)?6<97,97應(yīng)下沉,所以順序不變,得到新的數(shù)據(jù)列:{38,49,65,76,97,13,27,49}5.將新數(shù)據(jù)列中的第5個(gè)數(shù)97與右邊相鄰的數(shù)13進(jìn)行比較,因?yàn)?3<97,97應(yīng)下沉,所以順序改變,得到新的數(shù)據(jù)列:{38,49,65,76,13,97,27,49}6.將新數(shù)據(jù)列中的第6個(gè)數(shù)97與右邊相鄰的數(shù)27進(jìn)行比較,因?yàn)?7<97,97應(yīng)下沉,所以順序改變,得到新的數(shù)據(jù)列:{38,49,65,76,13,97,27,49}7.將新數(shù)據(jù)列中的第7個(gè)數(shù)97與右邊相鄰的數(shù)49進(jìn)行比較,因?yàn)?9<97,97應(yīng)下沉,所以順序改變,得到新的數(shù)據(jù)列:{38,49,65,76,13,97,49,27}我們把上述過程稱為一趟排序。其基本特征是最大的數(shù)據(jù)沉到底,即排在最左邊位置上的數(shù)據(jù)是數(shù)組中最大的數(shù)據(jù)。反復(fù)執(zhí)行上面的步驟,就能完成排序工作,排序過程不會(huì)超過7趟。這種排序的方法稱為冒泡排序。上面的分析具有一般性,如果數(shù)據(jù)列有n個(gè)數(shù)據(jù)組成,至多經(jīng)過n-1趟排序,就能完成整個(gè)排序過程五.進(jìn)位制(1)概念進(jìn)位制是一種記數(shù)方式,用有限的數(shù)字在不同的位置表示不同的數(shù)值??墒褂脭?shù)字符號(hào)的個(gè)數(shù)稱為基數(shù),基數(shù)為n,即可稱n進(jìn)位制,簡稱n進(jìn)制?,F(xiàn)在最常用的是十進(jìn)制,通常使用10個(gè)阿拉伯?dāng)?shù)字0—9進(jìn)行記數(shù)。對(duì)于任何一個(gè)數(shù),我們可以用不同的進(jìn)位制來表示。比如:十進(jìn)數(shù)57,可以用二進(jìn)制表示為111001,也可以用八進(jìn)制表示為71、用十六進(jìn)制表示為39,它們所代表的數(shù)值都是一樣的。一般地,若k是一個(gè)大于一的整數(shù),那么以k為基數(shù)的k進(jìn)制可以表示為:,而表示各種進(jìn)位制數(shù)一般在數(shù)字右下腳加注來表示,如111001(2)表示二進(jìn)制數(shù),34(5)表示5進(jìn)制數(shù)。(2)進(jìn)位制間的轉(zhuǎn)換關(guān)于進(jìn)位制的轉(zhuǎn)換,教科書上以十進(jìn)制和二進(jìn)制之間的轉(zhuǎn)換為例講解,并推廣到十進(jìn)制和其它進(jìn)制之間的轉(zhuǎn)換。這樣做的原因是,計(jì)算機(jī)是以二進(jìn)制的形式進(jìn)行存儲(chǔ)和計(jì)算數(shù)據(jù)的,而一般我們傳輸給計(jì)算機(jī)的數(shù)據(jù)是十進(jìn)制數(shù)據(jù),因此計(jì)算機(jī)必須先將十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),再處理,顯然運(yùn)算后首次得到的結(jié)果為二進(jìn)制數(shù),同時(shí)計(jì)算機(jī)又把運(yùn)算結(jié)果由二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)輸出。非十進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)比較簡單,只要計(jì)算下面的式子值即可:第一步:從左到右依次取出k進(jìn)制數(shù)各位上的數(shù)字,乘以相應(yīng)的k的冪,k的冪從n開始取值,每次遞減1,遞減到0,即;第二步:把所得到的乘積加起來,所得的結(jié)果就是相應(yīng)的十進(jìn)制數(shù)。十進(jìn)制數(shù)轉(zhuǎn)換成非十進(jìn)制數(shù)把十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),教科書上提供了“除2取余法”,我們可以類比得到十進(jìn)制數(shù)轉(zhuǎn)換成k進(jìn)制數(shù)的算法“除k取余法”。非十進(jìn)制之間的轉(zhuǎn)換一個(gè)自然的想法是利用十進(jìn)制作為橋梁。教科書上提供了一個(gè)二進(jìn)制數(shù)據(jù)與16進(jìn)制數(shù)據(jù)之間的互化的方法,也就是先有二進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),再由十進(jìn)制數(shù)轉(zhuǎn)化成為16進(jìn)制數(shù)?!纠}精講】例1用分期付款的方式購買價(jià)格為1150元的冰箱,如果購買時(shí)先付150元,以后每月付50元,加上欠款的利息,若一個(gè)月后付第一個(gè)月的分期付款,月利率為1%,那么購買冰箱錢全部付清后,實(shí)際共付出款額多少元?畫出程序框圖,寫出程序.解:購買時(shí)付款150元,余款1000元分20次付清,每次的付款數(shù)組成一個(gè)數(shù)列{an}.a(chǎn)1=50+(1150-150)×1%=60(元),a2=50+(1150-150-50)×1%=(元),…an=50+[1150-150-(n-1)×50]×1%=60-eq\f(1,2)(n-1)(n=1,2…,20).∴a20=60-eq\f(1,2)×19=.總和S=150+60++…+.程序框圖如圖:a=150m=60S=0S=S+ai=1WHILEi<=20S=S+mm=m-i=i+1WENDPRINTSEND程序:例2用輾轉(zhuǎn)相除法求840與1760的最大公約數(shù);(2)用更相減損術(shù)求440與556的最大公約數(shù).思路解析:比較明確的用兩種方法求最大公約數(shù),嚴(yán)格按輾轉(zhuǎn)相除法與更相減損術(shù)的操作步驟來求,計(jì)算時(shí)要仔細(xì).解答:(1)利用輾轉(zhuǎn)相除法1764=840×2+84,840=84×10,所以840與1764的最大公約數(shù)為84.(2)利用更相減損術(shù)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的最大公約數(shù)為4.算法語句與算法案例強(qiáng)化訓(xùn)練【基礎(chǔ)精練】1.下列程序執(zhí)行后輸出的結(jié)果是()n=5s=0WHILEs<14s=s+nn=n-1WENDPRINTnENDA.-1B.0C.12.計(jì)算機(jī)執(zhí)行下面的程序段后,輸出的結(jié)果是()a=1b=3a=a+bb=a-bPRINTa,bA.1,3B.4,1C.0,03.四位二進(jìn)制數(shù)能表示的最大十進(jìn)制數(shù)是()A.4B.15C.644.當(dāng)a=3時(shí),下面的程序段輸出的結(jié)果是()*IFa<10THEN*y=2*ELSE*y=aaPRINTyA.9B.3C.105.下面方框中為一個(gè)求20個(gè)數(shù)的平均數(shù)的程序,在橫線上應(yīng)填充的語句為()S=0i=1DOINPUTxS=S+xi=i+1LOOPNTIL________a=S/20PRINTaENDA.i=20B.i<20C.i>=20INPUTxIF________THEN[y=-x*ELSE*y=xxPRINTyENDIFEND6.下列程序的功能是:判斷任意輸入的數(shù)x是否是正數(shù),若是,輸出它的平方值;若不是,輸出它的相反數(shù).則填入的條件應(yīng)該是()A.x>0B.x<0C.x>=0D.7.程序如下:INPUT“a,b,c=”;a,b,ca=bb=cc=aPRINTa,b,c若輸入10,20,30,則輸出結(jié)果為________.8.若k進(jìn)制數(shù)123(k)與十進(jìn)制數(shù)38(10)相等,則k=________.9.下列程序執(zhí)行后輸出的結(jié)果是________.i=11S=1*DO*S=Sii=i-1LOOPUNTILi<9PRINTSEND10.設(shè)計(jì)算法,根據(jù)輸入的x的值,計(jì)算y的值,寫出計(jì)算程序.y=11.設(shè)計(jì)算法求eq\f(1,1×2)+eq\f(1,2×3)+eq\f(1,3×4)+…+eq\f(1,99×100)的值.要求畫出程序框圖,寫出用基本語句編寫的程序.【拓展提高】1.如圖給出的是計(jì)算S=1-eq\f(1,2)+eq\f(1,3)-eq\f(1,4)+…+eq\f(1,99)-eq\f(1,100)的程序框圖,請(qǐng)?zhí)畛淇驁D內(nèi)所缺的式子,并寫出程序.2.已知分段函數(shù)y=編寫程序,輸入自變量x的值,輸出其相應(yīng)的函數(shù)值,并畫出程序框圖.【基礎(chǔ)精練參考答案】【解析】:該程序的功能是計(jì)算S=5+4+…+n到首次不小于14的n-1的值,可得n=1.2。B【解析】:a=3+1=4,b=4-3=1.【解析】:1111(2)=1×23+1×22+1×21+1×20=8+4+2+1=15.【解析】:根據(jù)條件3<10,故y=2×3=6.【解析】:由于是求20個(gè)數(shù)的平均數(shù),直到i>20時(shí)退出循環(huán).【解析】:因?yàn)闂l件滿足則執(zhí)行y=-x,條件不滿足則執(zhí)行y=x*x,由程序功能知條件應(yīng)為x<=0.7.

溫馨提示

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

評(píng)論

0/150

提交評(píng)論