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