《高考數(shù)學(xué)一輪復(fù)習(xí)精講課件 第13單元第75講 基本算法語句與算法案例 湘教版》由會員分享,可在線閱讀,更多相關(guān)《高考數(shù)學(xué)一輪復(fù)習(xí)精講課件 第13單元第75講 基本算法語句與算法案例 湘教版(59頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、1理解輸入語句、輸出語句、賦值語句、條件語句、循環(huán)語句這五種算法語句的含義2能準(zhǔn)確地實(shí)現(xiàn)程序框圖與算法語句的互相轉(zhuǎn)化3了解秦九韶算法、輾轉(zhuǎn)相除法與更相減損術(shù)等特殊案例的算法思想和算法語句 3 51 3 53 5=15,3 5153 53 511516.A 1. BC xxxxx=xxxxxxx某一程序中先后相鄰的兩個語句是:,那么下列說法正確的是的意思是此式子與算術(shù)式中的意義是一樣的是將數(shù)值 ,此式與算術(shù)式中的意義是一樣的;也可以寫成在執(zhí)行時,賦值號右邊的 值是 ,執(zhí)行后左邊的 值是 DB 3 INPUTIF0THENELSEEND IFPRINTENDA 3 B3 C 33 D 02.xxx
2、y= xy= -xy若下面程序執(zhí)行的結(jié)果是 ,則輸入的 的值是 或C y4 A26 B 2 32C 4 D2 323.yyyy 在算法程序中,下列賦值能使 的值為 的是D6(53(4)2)810110011 21 2193221894 ,所解析:以(2)1011001 4. .把二進(jìn)制數(shù)化為五進(jìn)制數(shù)是t1i2WHILEi4tt*iii1WENDPRINTtEND . .5 程序如下:以上程序輸出的結(jié)果是1 231 234.24n 由題意可知,它表示計(jì)算的算法,所以輸出的結(jié)果為解析: 1_21輸入、輸出語句和賦值語句:輸入語句格式:;輸出語句格式:一、基本算;賦值語句格式:;條件語句:法語句框圖
3、: 2IFTHEN1ELSE2END IF_33_條件語句格式:條件語句語句條件語句的嵌套:條件語句,當(dāng)出現(xiàn)個或 個以上的判斷點(diǎn)時,就要用到,其一般格式為:IF1 THEN1ELSEIF 2 THEN2ELSE3END IFEND IF表達(dá)式 語句序列 ;表達(dá)式語句序列語句序列 31 WHILEWHILEWHILEEND循環(huán)語句:語句的結(jié)構(gòu)語句的一般格式:條件 循環(huán)體 2 UNTILUNTILDOLOOP UNTIL語句的結(jié)構(gòu):語句的一般格式: 循環(huán)體條件 11_0(0)mntrrn二、算法案例輾轉(zhuǎn)相除法與更相減損術(shù)輾轉(zhuǎn)相除法:,反復(fù)操作,直到余數(shù)為 為止,即因此要用“后測試型”循環(huán)語句表示,
4、其程序如下:INPUT DO MOD LOOP UNTIL 0PRINT ENDmnr= mnm= nn= rrm, 2_.更相減損術(shù)是用較大數(shù)減去較小數(shù),再用差數(shù)和較小數(shù)構(gòu)成一對新數(shù),再用大數(shù)減去小數(shù),以同樣的操作一直做下去,直到所得的數(shù)相等為止這一過程可由循環(huán)語句表達(dá)算法,其程序如下:INPUT WHILE IF THENELSE END IFWENDPRINT ENDabababa= abb=baab , 1110121101210012()()1,2.nnnnnnnnnnnnkkn knf xa xaxa xaa xaxa xaa xaxaxa xavavvxakn秦九韶算法次多項(xiàng)式得
5、到遞推公式且,其中, ,其算法可用循環(huán)語句來實(shí)現(xiàn)3_1223 0排序直接插入排序法:;冒泡法的排序算法步驟:第一步:用第 個數(shù)與第 個數(shù)比較,若前者小則兩個數(shù)不變,否則調(diào)整兩數(shù)位置第二步:按同樣的規(guī)則,比較第 個數(shù)與第 個數(shù),直到比較完最后兩數(shù),這個過程稱為“一趟”第三步:如果前一趟比較中交換次數(shù)為 ,說明排序已完成,否則返回第二步 110( )1011041_.210nnknnnnkkka aa akknakakakak進(jìn)位制將十進(jìn)制數(shù)化為二進(jìn)制數(shù)的算法稱為;將十進(jìn)制數(shù)化為 進(jìn)制數(shù)的算法稱為將 進(jìn)制數(shù)化為十進(jìn)制數(shù)的算法步驟為:第一步:從左到右依次取 進(jìn)制數(shù)各位上的數(shù)字乘以 次冪, 從 開始取
6、值,每次遞減 ,遞減到 ,即, ,;第二步:把所有積加起來,就得到十進(jìn)制數(shù)INPUTPRINT2mnrk“提示內(nèi)容”;變量;“提示內(nèi)容”;表達(dá)式;變量名表達(dá)式;主要用于實(shí)現(xiàn)算法中的條件結(jié)構(gòu);程序嵌套;求兩個正整數(shù)的最大公約數(shù)的方法用較大的數(shù) 除以較小的數(shù) 得到余數(shù) ;求兩個正整數(shù)的最大公約數(shù)的算法;從第一個數(shù)開始,依次把每個數(shù)插入到已排好序的適當(dāng)位置,直到完成對最后一個數(shù)的操作;除 取余法; 除【要點(diǎn)指南】取余法 25454(90).高一班共有名同學(xué)參加數(shù)學(xué)競賽,現(xiàn)已有這名同學(xué)的競賽分?jǐn)?shù),請?jiān)O(shè)計(jì)一個程序,求成績優(yōu)秀同學(xué)的平均分 規(guī)定分以例上為優(yōu)秀1題型一基本算法語句及應(yīng)用題型一基本算法語句及應(yīng)
7、用 549090由于涉及名同學(xué)的分?jǐn)?shù),因此,可以使用循環(huán)結(jié)構(gòu)控制輸入分?jǐn)?shù),用條件結(jié)構(gòu)來分析判斷分?jǐn)?shù)是否高于分,同時統(tǒng)計(jì)高于分的成績的總和和人數(shù),從而求:平均分S=0M01WHILE 54 INPUT IF 90 THENS=S+M=M+1END IFiixxx解析程:序設(shè)計(jì)如下:S=01WENDP=S/MPRINT PENDii 評析:在解決實(shí)際問題時,要正確理解其中的算法思想,根據(jù)題目寫出其關(guān)系式,再寫出相應(yīng)的算法在循環(huán)語句中,也可能嵌套條件語句,甚至是循環(huán)語句,此時需要注意嵌套這些語句需要保證語句完整性,否則就會造成程序無法執(zhí)行200200500950050105007國慶期間,某超市實(shí)行
8、購物優(yōu)惠活動,規(guī)定一次購物付款總額:若不超過元,則不予優(yōu)惠;若超過元,但不超過元,則按標(biāo)價價格給予折優(yōu)惠;如果超過元,元的部分按優(yōu)惠,超過元的部分給予 折優(yōu)惠編寫一個收款的相素材 :應(yīng)程序INPUTIF200THEN PRINTELSE IF200AND500THENy0.9PRINT xxxxxxy程序如下解析:ELSE0.9 500 0.7 (500)PRINT END IFEND IFENDyxy802085009.xxx某商場購物實(shí)行優(yōu)惠措施,若購物金額 在元以上打 折;購物金額 在元以上打 折,否則不打折請?jiān)O(shè)計(jì)程序框圖,并根據(jù)框圖編例寫程序,要求輸入金額,輸出實(shí)際交款額題型二程序框圖
9、與程序的相互轉(zhuǎn)化題型二程序框圖與程序的相互轉(zhuǎn)化()() 05000.9 500800 .0.8 800yxxxyxxxx 根據(jù)題意,實(shí)際交款額 元與購物金額元的函數(shù)關(guān)系如下:程序框解析:圖如下:INPUTIF800THEN0.8ELSEIF500THEN 0.9xxyxxyx程序如下: ELSE END IFEND IFPRINT ENDy=xy 評析:解決分段函數(shù)的求值問題時,一般采用條件結(jié)構(gòu)設(shè)計(jì)算法如果變量分為三級(或以上),就需要用到條件結(jié)構(gòu)的嵌套另外,不能忽視結(jié)果中“是”和“否”的書寫,否則不知執(zhí)行哪一條路徑5060現(xiàn)給出某班名同學(xué)的數(shù)學(xué)成績, 分以上為及格要求統(tǒng)計(jì)及格人數(shù)和全班同學(xué)的
10、平均分,畫出程序框圖,并寫出程素材2:序語句1S00DOINPUT SSIF60 THEN1itxx xt=t 程序框圖如右圖所示.程序如下:解析:END IF1LOOP UNTIL50pS/50PRINT PRINTENDi=i ip t 764853.3212f xxxxxx用秦九韶算法求多當(dāng)例項(xiàng)式時的值題型三題型三 算法案例算法案例 330.xx利用秦九韶算法一步一步地代入運(yùn)算,注意本題中有幾項(xiàng)不存在,此時在計(jì)算時,我們應(yīng)該將這些項(xiàng)加上,比如含有 的這一項(xiàng)可看做分析: 7654320123850300218503002188 2 52121 2 04242 2 387f xxxxxxxx
11、xxxxxxxvvvv 根據(jù)秦九韶算法,把多項(xiàng)式寫成如下形式:解,析:,456887 2 0 174174 2 0348348 22698698 2 1 1397.21397.vvvvx ,所以當(dāng)時,多項(xiàng)式的值為 評析:秦九韶算法是多項(xiàng)式求值的優(yōu)秀算法,其特點(diǎn)是:(1)化高次多項(xiàng)式求值為一次多項(xiàng)式求值;(2)減少了運(yùn)算次數(shù),提高了效率;(3)步驟重復(fù)執(zhí)行,容易用計(jì)算機(jī)實(shí)現(xiàn)利用秦九韶算法計(jì)算多項(xiàng)式的值關(guān)鍵是能正確地將所給多項(xiàng)式改寫,然后由內(nèi)向外逐次計(jì)算,由于后項(xiàng)計(jì)算用到前項(xiàng)的結(jié)果,故應(yīng)認(rèn)真、細(xì)心,確保中間結(jié)果的準(zhǔn)確性,若在多項(xiàng)式中有幾項(xiàng)不存在,可將這些項(xiàng)的系數(shù)看成0,即把這些項(xiàng)看做0 xn. (
12、7)(5)123524.43將七進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制的數(shù);把五進(jìn)制的數(shù)轉(zhuǎn)化為二進(jìn)素材制的數(shù) 172把七進(jìn)制數(shù)寫成各位上數(shù)字與 的冪的乘積之和的形式,再按十進(jìn)制的運(yùn)算得到結(jié)果; 先把五進(jìn)制的數(shù)化為十進(jìn)制的數(shù),再化為二分析:進(jìn)制的數(shù) 210(7)10(5)(2)1 2352 73 75 72 49 3 7 5 124.2 444 54 524.24 11000 所以解析: 1324,243,135210c用輾轉(zhuǎn)相除法或更相減損術(shù)求三個數(shù)的最大公約數(shù) 某工程的工序流備選例程如圖所示,現(xiàn)已知工程總時數(shù)為天,則工序所需工題時為多少天? 1324243 18124381 3032424381.13581 1
13、54 8154 127 5427208113527.324,2435.1,1327 輾轉(zhuǎn)相除法:,則與的最大公約數(shù)是又,則與的最大公約數(shù)為故三個數(shù)的最大公約數(shù)方法 :為解析: 324,243243,81162,8181,81135,8181,5454,2727,27324,243,13527.21411044cxacegxxc 更相減損術(shù):因?yàn)?,又,所以的最大公約數(shù)為設(shè)工序 所需工時數(shù)為 天方法,由題意,需要工時數(shù),所以,即工序 所需工2時數(shù)為:天 評析:(1)輾轉(zhuǎn)相除法與更相減損術(shù)均是求兩個正整數(shù)的最大公約數(shù)的方法,要理解和掌握它們的具體操作步驟(2)這是對工序流程圖的考查,屬“優(yōu)選法”內(nèi)容
14、,讀圖以及對圖形的分析要準(zhǔn)確 1關(guān)于條件語句(1)“條件”是由一個關(guān)系表達(dá)式或邏輯表達(dá)式構(gòu)成的,其一般形式為“表達(dá)式關(guān)系運(yùn)算符表達(dá)式”,常用的運(yùn)算符有“”(大于)、“=”(大于或等于)、“=”(小于或等于),表達(dá)式的結(jié)果可取兩個值,以“真”或“假”來表示,“真”表示條件滿足,“假”表示條件不滿足(2)“語句”是由程序語言中所有語句構(gòu)成的程序段,即可以是語句組(3)條件語句可以嵌套,即條件語句的THEN或ELSE后面還可以跟條件語句,其一般形式是: IF 1 THEN1ELSEIF 2 THEN2ELSE3ENDIFENDIF條件 語句條件外層條件語句 語句內(nèi)層條件語句 語句對應(yīng)的程序框圖如下圖
15、所示嵌套時,注意內(nèi)外分層,避免邏輯混亂2關(guān)于循環(huán)語句(1)“循環(huán)體”是由語句組成的程序段,能夠完成一項(xiàng)工作,當(dāng)使用WHILE語句時,循環(huán)體內(nèi)部應(yīng)當(dāng)有改變循環(huán)的條件,否則會產(chǎn)生無限循環(huán)(2)循環(huán)語句主要用來實(shí)現(xiàn)算法中的循環(huán)結(jié)構(gòu),處理一些需要反復(fù)執(zhí)行的運(yùn)算任務(wù),如在累加求和、累乘求積等總是中常用到(3)在用WHILE語句和UNTIL語句編寫程序解決問題時,一定要注意它們的格式及條件的表述方法(4)注意兩種循環(huán)語句的區(qū)別:當(dāng)型循環(huán)用WHILE語句,直到型循環(huán)用UNTIL語句;在WHILE語句中,是當(dāng)條件滿足時執(zhí)行循環(huán)體,而在UNTIL語句中,是當(dāng)條件不滿足時執(zhí)行循環(huán)體;當(dāng)型循環(huán)先判斷后執(zhí)行,直到型循
16、環(huán)先執(zhí)行后判斷;對同一算法來說,當(dāng)型循環(huán)和直到型循環(huán)的條件互為反條件3(1)輾轉(zhuǎn)相除法與更相減損術(shù)是求兩個正整數(shù)的最大公約數(shù)的兩種方法,關(guān)鍵是掌握這兩種算法的操作步驟,計(jì)算時應(yīng)認(rèn)真、細(xì)心,確保中間結(jié)果的準(zhǔn)確性,因?yàn)橄乱淮斡?jì)算要用到上一次計(jì)算的結(jié)果(2)利用“除k取余法”將十進(jìn)制數(shù)化為k進(jìn)制數(shù)時,要把各步所得余數(shù)從下到上排,切莫把順序弄錯(3)利用秦九韶算法計(jì)算多項(xiàng)式的值的關(guān)鍵是正確地將多項(xiàng)式改寫,然后由內(nèi)向外逐次計(jì)算由于下一次計(jì)算用到上一次計(jì)算的結(jié)果,同樣應(yīng)認(rèn)真、細(xì)致地計(jì)算每一步,確保每一步結(jié)果的準(zhǔn)確性(4)對于較簡單的“排序”可直接使用直接插入排序或冒泡法,一些較復(fù)雜的排序要先分組,再排序W .下圖是一個算法的流程圖,最后輸出的STWWST平時做的題都是滿足某個條件,就直接輸出,現(xiàn)在題目變化了,在滿足判斷框中的條件后再進(jìn)行運(yùn)算,然后再輸出結(jié)果,所以一定要根據(jù)題中的要求去做,特別是輸出的變量是錯解分,而是 與析:的和2558171017.TS第三次:,所以結(jié)果輸出的是錯解:222 11013318558171017522.TSTSTSSWST 第一次:,第二次:,第三次:,此時滿足,所以正解: