




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、考考 點(diǎn)點(diǎn) 串串 串串 講講 1算法算法 (1)算法的概念算法的概念 在解決某些問(wèn)題時(shí),需要設(shè)計(jì)出一系列可操作或可計(jì)算的步驟,在解決某些問(wèn)題時(shí),需要設(shè)計(jì)出一系列可操作或可計(jì)算的步驟,通過(guò)實(shí)施這些步驟解決問(wèn)題,通過(guò)實(shí)施這些步驟解決問(wèn)題, 通常把這些步驟稱為解決這些問(wèn)題的算通常把這些步驟稱為解決這些問(wèn)題的算法通俗的說(shuō),算法就是計(jì)算機(jī)解題的過(guò)程法通俗的說(shuō),算法就是計(jì)算機(jī)解題的過(guò)程 如做四則運(yùn)算要先乘除后加減,如做四則運(yùn)算要先乘除后加減, 從里往外去括號(hào),從里往外去括號(hào),豎式筆算等都豎式筆算等都是算法;又如買電視機(jī),包括選好電視,開(kāi)發(fā)票,付款,取貨,運(yùn)送是算法;又如買電視機(jī),包括選好電視,開(kāi)發(fā)票,付款
2、,取貨,運(yùn)送回家等步驟,這些步驟構(gòu)成買電視機(jī)的算法;回家等步驟,這些步驟構(gòu)成買電視機(jī)的算法; 一首歌的樂(lè)譜,可以稱一首歌的樂(lè)譜,可以稱之為該歌曲的算法;空調(diào)的使用說(shuō)明書(shū)是空調(diào)使用的算法等等之為該歌曲的算法;空調(diào)的使用說(shuō)明書(shū)是空調(diào)使用的算法等等 說(shuō)明:說(shuō)明:上述描述不是嚴(yán)格定義的算法,上述描述不是嚴(yán)格定義的算法, 但是反映了算法的基本但是反映了算法的基本思想思想(程序化思想程序化思想)現(xiàn)在,算法通??梢跃帉?xiě)成計(jì)算機(jī)程序,讓計(jì)算現(xiàn)在,算法通??梢跃帉?xiě)成計(jì)算機(jī)程序,讓計(jì)算機(jī)執(zhí)行并解決問(wèn)題機(jī)執(zhí)行并解決問(wèn)題 算法的三種描述方法:自然語(yǔ)言、算法框圖、程序語(yǔ)言算法的三種描述方法:自然語(yǔ)言、算法框圖、程序語(yǔ)言
3、 (2)算法的特征算法的特征 有窮性:算法的步驟必須是有限的,如果不是有限的,這個(gè)有窮性:算法的步驟必須是有限的,如果不是有限的,這個(gè)問(wèn)題就解決不了,那也就不能成為一個(gè)算法問(wèn)題就解決不了,那也就不能成為一個(gè)算法 確定性:確定性:算法中的每一個(gè)語(yǔ)句執(zhí)行之后的結(jié)果必須是確定的,算法中的每一個(gè)語(yǔ)句執(zhí)行之后的結(jié)果必須是確定的,即算法的步驟需清晰、準(zhǔn)確即算法的步驟需清晰、準(zhǔn)確 順序性:算法的步驟是有順序的,不能隨意調(diào)換順序性:算法的步驟是有順序的,不能隨意調(diào)換 不唯一性:一個(gè)問(wèn)題的算法并不是唯一的,同一個(gè)問(wèn)題可能不唯一性:一個(gè)問(wèn)題的算法并不是唯一的,同一個(gè)問(wèn)題可能存在著多種算法:如教材中例存在著多種算法
4、:如教材中例4韓信點(diǎn)兵、例韓信點(diǎn)兵、例5稱銀元的問(wèn)題都有稱銀元的問(wèn)題都有多種算法多種算法 普適性:算法應(yīng)該可以解決一類類似的問(wèn)題,不止是一個(gè)問(wèn)普適性:算法應(yīng)該可以解決一類類似的問(wèn)題,不止是一個(gè)問(wèn)題例如教材中例題例如教材中例5稱銀元的問(wèn)題,把銀元換成某種同一型號(hào)的零稱銀元的問(wèn)題,把銀元換成某種同一型號(hào)的零件也適用件也適用 (3)算法中的算法中的“平臺(tái)思想平臺(tái)思想” “平臺(tái)思想平臺(tái)思想”是算法設(shè)計(jì)中的一個(gè)最基本的思想,也是數(shù)學(xué)中是算法設(shè)計(jì)中的一個(gè)最基本的思想,也是數(shù)學(xué)中思考問(wèn)題的一個(gè)重要思想所謂思考問(wèn)題的一個(gè)重要思想所謂“平臺(tái)思想平臺(tái)思想”就是利用已知的數(shù)學(xué)就是利用已知的數(shù)學(xué)問(wèn)題的解決辦法問(wèn)題的解
5、決辦法(即以此為即以此為“平臺(tái)平臺(tái)”)來(lái)解決新問(wèn)題來(lái)解決新問(wèn)題 例如,教材的幾個(gè)例題中查找、求根的算法,這些算法是建立例如,教材的幾個(gè)例題中查找、求根的算法,這些算法是建立在二分法的在二分法的“平臺(tái)平臺(tái)”之上的;求最大公約數(shù)的算法建立在對(duì)自然數(shù)之上的;求最大公約數(shù)的算法建立在對(duì)自然數(shù)進(jìn)行素因數(shù)分解的進(jìn)行素因數(shù)分解的“平臺(tái)平臺(tái)”之上等等,因此我們要首先學(xué)好數(shù)學(xué)的之上等等,因此我們要首先學(xué)好數(shù)學(xué)的基本思想和基礎(chǔ)知識(shí),然后才能寫(xiě)出好的算法基本思想和基礎(chǔ)知識(shí),然后才能寫(xiě)出好的算法 2排序排序 (1)排序的定義排序的定義 為了便于查詢和檢索,我們常常根據(jù)某種要求把被查詢的對(duì)象為了便于查詢和檢索,我們常常
6、根據(jù)某種要求把被查詢的對(duì)象用數(shù)字用數(shù)字(或者符號(hào)或者符號(hào))表示出來(lái),并把數(shù)字按大小排列,這是信息處理表示出來(lái),并把數(shù)字按大小排列,這是信息處理中一項(xiàng)基本的工作,通常稱為排序中一項(xiàng)基本的工作,通常稱為排序 按從小到大按從小到大(或從大到小或從大到小)的順序排列的數(shù)據(jù)列稱為有序列,有的順序排列的數(shù)據(jù)列稱為有序列,有序列通常用序列通常用a1,a2,an來(lái)表示將一個(gè)新數(shù)據(jù)插入有序列中,來(lái)表示將一個(gè)新數(shù)據(jù)插入有序列中,常用的排序算法有直接插入排序法和折半插入排序法常用的排序算法有直接插入排序法和折半插入排序法 (2)直接插入排序法直接插入排序法 有序列插入排序就是找到要插入的數(shù)據(jù)在已知序列中的位置,有序
7、列插入排序就是找到要插入的數(shù)據(jù)在已知序列中的位置,然后把它插入進(jìn)去,組成新的序列然后把它插入進(jìn)去,組成新的序列 對(duì)于一個(gè)有序列:對(duì)于一個(gè)有序列:a1a2a3an,欲將新數(shù)據(jù)欲將新數(shù)據(jù)A插入到有插入到有序列中,形成新的有序列,其做法是:將數(shù)據(jù)序列中,形成新的有序列,其做法是:將數(shù)據(jù)A與原有序列中的數(shù)與原有序列中的數(shù)據(jù)從右到左依次進(jìn)行比較,直到發(fā)現(xiàn)某一數(shù)據(jù)據(jù)從右到左依次進(jìn)行比較,直到發(fā)現(xiàn)某一數(shù)據(jù)ai使得使得aiA,把,把A插入到插入到ai的右邊;如果數(shù)據(jù)的右邊;如果數(shù)據(jù)A小于原有序列中的所有數(shù)據(jù),則將小于原有序列中的所有數(shù)據(jù),則將A插入到原序列的最左邊上面的排序算法通常稱為有序列直接插入插入到原序
8、列的最左邊上面的排序算法通常稱為有序列直接插入排序的算法排序的算法 (3)折半插入排序法折半插入排序法 對(duì)于一個(gè)有序列,先將新數(shù)據(jù)與該有序列中對(duì)于一個(gè)有序列,先將新數(shù)據(jù)與該有序列中“中間位置中間位置”的數(shù)據(jù)的數(shù)據(jù)進(jìn)行比較,若有序列有進(jìn)行比較,若有序列有2n1個(gè)數(shù)據(jù),則個(gè)數(shù)據(jù),則“中間位置中間位置”的數(shù)據(jù)指的是的數(shù)據(jù)指的是第第n1個(gè)數(shù),若有序列有個(gè)數(shù),若有序列有2n個(gè)數(shù)據(jù),則個(gè)數(shù)據(jù),則“中間位置中間位置”的數(shù)據(jù)指的是的數(shù)據(jù)指的是第第n個(gè)數(shù)如果新數(shù)據(jù)小于個(gè)數(shù)如果新數(shù)據(jù)小于“中間位置中間位置”的數(shù)據(jù),則新數(shù)據(jù)插入的位的數(shù)據(jù),則新數(shù)據(jù)插入的位置應(yīng)該在靠左邊的一半;如果新數(shù)據(jù)等于置應(yīng)該在靠左邊的一半;如
9、果新數(shù)據(jù)等于“中間位置中間位置”的數(shù)據(jù),則將的數(shù)據(jù),則將新數(shù)據(jù)插入到新數(shù)據(jù)插入到“中間位置中間位置”的數(shù)據(jù)的右邊;如果新數(shù)據(jù)大于的數(shù)據(jù)的右邊;如果新數(shù)據(jù)大于“中間位中間位置置”的數(shù)據(jù),則新數(shù)據(jù)插入的位置應(yīng)該在靠右邊的一半也就是說(shuō),的數(shù)據(jù),則新數(shù)據(jù)插入的位置應(yīng)該在靠右邊的一半也就是說(shuō),一次比較就排除了數(shù)據(jù)列中一半的位置反復(fù)進(jìn)行這種比較,直到確一次比較就排除了數(shù)據(jù)列中一半的位置反復(fù)進(jìn)行這種比較,直到確定新數(shù)據(jù)的位置這種插入排序方法我們稱為折半插入排序方法定新數(shù)據(jù)的位置這種插入排序方法我們稱為折半插入排序方法 說(shuō)明:說(shuō)明:折半插入排序方法中應(yīng)用了二分法的思想,減少了多次無(wú)折半插入排序方法中應(yīng)用了二分
10、法的思想,減少了多次無(wú)用的比較,相比較直接插入排序法能夠減少一些資源浪費(fèi)用的比較,相比較直接插入排序法能夠減少一些資源浪費(fèi) 由此我們可以看出,同一個(gè)問(wèn)題,可以有多種算法只是有的算由此我們可以看出,同一個(gè)問(wèn)題,可以有多種算法只是有的算法比較省時(shí)、簡(jiǎn)便,有的算法比較費(fèi)時(shí)、復(fù)雜,但它們都能夠按照順?lè)ū容^省時(shí)、簡(jiǎn)便,有的算法比較費(fèi)時(shí)、復(fù)雜,但它們都能夠按照順序解決問(wèn)題這就是算法的多樣性序解決問(wèn)題這就是算法的多樣性 (4)無(wú)序列插入排序無(wú)序列插入排序 對(duì)一組無(wú)序的數(shù)據(jù)列進(jìn)行排序時(shí),通常將這組無(wú)序的數(shù)據(jù)列的對(duì)一組無(wú)序的數(shù)據(jù)列進(jìn)行排序時(shí),通常將這組無(wú)序的數(shù)據(jù)列的第一個(gè)數(shù)據(jù)看成一個(gè)有序列,將第二個(gè)數(shù)據(jù)插入到這
11、個(gè)有序列中,第一個(gè)數(shù)據(jù)看成一個(gè)有序列,將第二個(gè)數(shù)據(jù)插入到這個(gè)有序列中,得到一個(gè)新的有序列;然后,將第三個(gè)數(shù)據(jù)插入到由前面兩個(gè)數(shù)據(jù)得到一個(gè)新的有序列;然后,將第三個(gè)數(shù)據(jù)插入到由前面兩個(gè)數(shù)據(jù)組成的有序列中,又得到一個(gè)新的有序列組成的有序列中,又得到一個(gè)新的有序列,按照這種方法,直,按照這種方法,直到將最后一個(gè)數(shù)據(jù)插入到有序列中,得到一個(gè)最終的有序列這樣到將最后一個(gè)數(shù)據(jù)插入到有序列中,得到一個(gè)最終的有序列這樣實(shí)質(zhì)上就是完成了對(duì)無(wú)序的數(shù)據(jù)列排序,最后得到的有序列就是對(duì)實(shí)質(zhì)上就是完成了對(duì)無(wú)序的數(shù)據(jù)列排序,最后得到的有序列就是對(duì)無(wú)序的數(shù)據(jù)列排序的結(jié)果無(wú)序的數(shù)據(jù)列排序的結(jié)果 3關(guān)于框圖的知識(shí)關(guān)于框圖的知識(shí)
12、框圖表示算法用到的圖形符號(hào),如下表:框圖表示算法用到的圖形符號(hào),如下表: 圖形符號(hào)圖形符號(hào) 名稱名稱 符號(hào)表示的意義符號(hào)表示的意義 表示一個(gè)算法的開(kāi)始表示一個(gè)算法的開(kāi)始起、止框起、止框 和結(jié)束,是任何框圖和結(jié)束,是任何框圖必不可少的必不可少的 表示一個(gè)算法輸入和表示一個(gè)算法輸入和輸入、輸輸入、輸輸出的信息,可用在輸出的信息,可用在 出框出框 算算 法法 中中 任任 何何 需需 要要 輸輸入、輸出的位置入、輸出的位置 賦值、計(jì)算算法中處理數(shù)賦值、計(jì)算算法中處理數(shù)據(jù)需要的算式、公式等,它據(jù)需要的算式、公式等,它處理框處理框 們分別寫(xiě)在不同的用以處理們分別寫(xiě)在不同的用以處理 數(shù)據(jù)的處理框內(nèi)數(shù)據(jù)的處理
13、框內(nèi) 判斷某一條件是否成立,成判斷某一條件是否成立,成判斷框判斷框 立時(shí)出口處標(biāo)明立時(shí)出口處標(biāo)明“是是”;不;不成立時(shí)標(biāo)明成立時(shí)標(biāo)明“否否” 連接程序框,表示算法進(jìn)行連接程序框,表示算法進(jìn)行流程線流程線 的方向以及先后順序的方向以及先后順序 作框圖的規(guī)則及注意點(diǎn):作框圖的規(guī)則及注意點(diǎn): (1)每一種框圖符號(hào)都有自己的意義,不能混用,符號(hào)一定要規(guī)每一種框圖符號(hào)都有自己的意義,不能混用,符號(hào)一定要規(guī)范起始框只有一條流出線,終止框只有一條流入線,輸入、輸出范起始框只有一條流出線,終止框只有一條流入線,輸入、輸出框和處理框只有一條流入線和一條流出線判斷框有一條流入線和框和處理框只有一條流入線和一條流出
14、線判斷框有一條流入線和兩條流出線兩條流出線 (2)框圖是按從上而下、從左而右的順序來(lái)畫(huà)的算法的一個(gè)步框圖是按從上而下、從左而右的順序來(lái)畫(huà)的算法的一個(gè)步驟到另一個(gè)步驟,要用流程線連接,流程線要帶箭頭,表明流程執(zhí)驟到另一個(gè)步驟,要用流程線連接,流程線要帶箭頭,表明流程執(zhí)行的次序行的次序 (3)起、止框是任何框圖不可少的,表明算法的開(kāi)始或結(jié)束起、止框是任何框圖不可少的,表明算法的開(kāi)始或結(jié)束 (4)算法中要處理的數(shù)據(jù),一般分別寫(xiě)在不同的處理框內(nèi)算法中要處理的數(shù)據(jù),一般分別寫(xiě)在不同的處理框內(nèi) (5)當(dāng)算法遇到需要判斷的情況時(shí),判斷條件寫(xiě)在判斷框內(nèi)當(dāng)算法遇到需要判斷的情況時(shí),判斷條件寫(xiě)在判斷框內(nèi) (6)框
15、圖符號(hào)框內(nèi)的文字表述要簡(jiǎn)潔、精練框圖符號(hào)框內(nèi)的文字表述要簡(jiǎn)潔、精練 (7)一般情況下,我們先用自然語(yǔ)言編寫(xiě)算法,然后再畫(huà)框圖一般情況下,我們先用自然語(yǔ)言編寫(xiě)算法,然后再畫(huà)框圖 4順序結(jié)構(gòu)順序結(jié)構(gòu) 按照步驟依次執(zhí)行的一個(gè)算法,稱為具有順序結(jié)構(gòu)的算法,或按照步驟依次執(zhí)行的一個(gè)算法,稱為具有順序結(jié)構(gòu)的算法,或者稱為算法的順序結(jié)構(gòu)者稱為算法的順序結(jié)構(gòu) 由于圖具有直觀、清楚,便于檢查和交流的特點(diǎn),所以為了使由于圖具有直觀、清楚,便于檢查和交流的特點(diǎn),所以為了使算法結(jié)構(gòu)更加清晰,可借助圖來(lái)幫助描述算法,這種描述算法的圖算法結(jié)構(gòu)更加清晰,可借助圖來(lái)幫助描述算法,這種描述算法的圖稱為框圖順序結(jié)構(gòu)的框圖如圖所示
16、稱為框圖順序結(jié)構(gòu)的框圖如圖所示 順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間是按從上到下順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間是按從上到下的順序進(jìn)行的,它由若干個(gè)依次處理的步驟組成,它是任何算法都的順序進(jìn)行的,它由若干個(gè)依次處理的步驟組成,它是任何算法都離不開(kāi)的一種算法結(jié)構(gòu)離不開(kāi)的一種算法結(jié)構(gòu) 5選擇結(jié)構(gòu)選擇結(jié)構(gòu) 在一個(gè)算法中,通常會(huì)遇到一些條件的判斷,算法的流程根據(jù)在一個(gè)算法中,通常會(huì)遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向,這種先根據(jù)條件進(jìn)行判斷,再?zèng)Q定執(zhí)條件是否成立有不同的流向,這種先根據(jù)條件進(jìn)行判斷,再?zèng)Q定執(zhí)行哪一種操作的結(jié)構(gòu)稱為選擇結(jié)構(gòu)行哪一種操作的結(jié)構(gòu)稱為選擇結(jié)
17、構(gòu) 選擇結(jié)構(gòu)的框圖如圖選擇結(jié)構(gòu)的框圖如圖(1)所示,在此結(jié)構(gòu)中含有一個(gè)判斷框,所示,在此結(jié)構(gòu)中含有一個(gè)判斷框, 算算法執(zhí)行到此判斷框給定的條件時(shí),根據(jù)條件是否成立,選擇不同的法執(zhí)行到此判斷框給定的條件時(shí),根據(jù)條件是否成立,選擇不同的執(zhí)行框執(zhí)行框(步驟甲或步驟乙步驟甲或步驟乙)無(wú)論條件是否成立,只能執(zhí)行步驟甲或無(wú)論條件是否成立,只能執(zhí)行步驟甲或步驟乙,不能既執(zhí)行步驟甲又執(zhí)行步驟乙,也不能步驟甲和步驟乙步驟乙,不能既執(zhí)行步驟甲又執(zhí)行步驟乙,也不能步驟甲和步驟乙都不執(zhí)行步驟甲和步驟乙中可以有一個(gè)是空的,如圖都不執(zhí)行步驟甲和步驟乙中可以有一個(gè)是空的,如圖(2)所示所示 6循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) (1)循環(huán)結(jié)
18、構(gòu)的概念循環(huán)結(jié)構(gòu)的概念 在算法中,從某處開(kāi)始,按照一定的條件反復(fù)執(zhí)行某些步驟的在算法中,從某處開(kāi)始,按照一定的條件反復(fù)執(zhí)行某些步驟的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu)結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu) 反復(fù)執(zhí)行的步驟稱為循環(huán)體,反復(fù)執(zhí)行的步驟稱為循環(huán)體,控制著循環(huán)的開(kāi)始和結(jié)束的變量,控制著循環(huán)的開(kāi)始和結(jié)束的變量,稱為循環(huán)變量,決定是否繼續(xù)執(zhí)行循環(huán)體的判斷條件,稱為循環(huán)的稱為循環(huán)變量,決定是否繼續(xù)執(zhí)行循環(huán)體的判斷條件,稱為循環(huán)的終止條件終止條件 (2)循環(huán)結(jié)構(gòu)的設(shè)計(jì)過(guò)程循環(huán)結(jié)構(gòu)的設(shè)計(jì)過(guò)程 設(shè)計(jì)循環(huán)結(jié)構(gòu)之前需要確定的三件事:設(shè)計(jì)循環(huán)結(jié)構(gòu)之前需要確定的三件事: 確定循環(huán)變量和初始條件:確定循環(huán)變量和初始條件: 確定算法中反復(fù)執(zhí)行的部分
19、,即循環(huán)體;確定算法中反復(fù)執(zhí)行的部分,即循環(huán)體; 確定循環(huán)的終止條件確定循環(huán)的終止條件 循環(huán)結(jié)構(gòu)的算法框圖的基本模式如圖所示循環(huán)結(jié)構(gòu)的算法框圖的基本模式如圖所示 此模式的執(zhí)行過(guò)程是:先執(zhí)行一次循環(huán)體,再對(duì)循環(huán)的終止條此模式的執(zhí)行過(guò)程是:先執(zhí)行一次循環(huán)體,再對(duì)循環(huán)的終止條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,當(dāng)滿足條件時(shí)件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,當(dāng)滿足條件時(shí)終止循環(huán)終止循環(huán) 說(shuō)明:說(shuō)明:如圖所示是循環(huán)結(jié)構(gòu)的另外一種常用模式,此模式的執(zhí)如圖所示是循環(huán)結(jié)構(gòu)的另外一種常用模式,此模式的執(zhí)行過(guò)程是:先對(duì)條件進(jìn)行判斷,如果條件不滿足,執(zhí)行一次循環(huán)體,行過(guò)程是:先對(duì)條件進(jìn)行判斷,
20、如果條件不滿足,執(zhí)行一次循環(huán)體,再對(duì)條件進(jìn)行判斷,如果不滿足就繼續(xù)執(zhí)行循環(huán)體,直到滿足條件再對(duì)條件進(jìn)行判斷,如果不滿足就繼續(xù)執(zhí)行循環(huán)體,直到滿足條件時(shí)終止循環(huán)時(shí)終止循環(huán) (3)計(jì)數(shù)變量與累加計(jì)數(shù)變量與累加(積積)變量變量 在循環(huán)結(jié)構(gòu)中通常都有一個(gè)計(jì)數(shù)變量和一個(gè)累加在循環(huán)結(jié)構(gòu)中通常都有一個(gè)計(jì)數(shù)變量和一個(gè)累加(積積)變量變量 計(jì)數(shù)計(jì)數(shù)變量用于記錄循環(huán)次數(shù),變量用于記錄循環(huán)次數(shù),累加累加(積積)變量用于輸出結(jié)果變量用于輸出結(jié)果計(jì)數(shù)變量和累計(jì)數(shù)變量和累加加(積積)變量一般是同步執(zhí)行的,累加變量一般是同步執(zhí)行的,累加(積積)一次,計(jì)數(shù)一次循環(huán)結(jié)構(gòu)一次,計(jì)數(shù)一次循環(huán)結(jié)構(gòu)中幾個(gè)常用的變量:中幾個(gè)常用的變量:
21、 計(jì)數(shù)器,即計(jì)數(shù)變量,用來(lái)記錄某個(gè)事件發(fā)生的次數(shù),如計(jì)數(shù)器,即計(jì)數(shù)變量,用來(lái)記錄某個(gè)事件發(fā)生的次數(shù),如ii1,nn1. 累加器,即累加變量,用來(lái)計(jì)算數(shù)據(jù)之和,如累加器,即累加變量,用來(lái)計(jì)算數(shù)據(jù)之和,如sumsumi. 累積器,即累積變量,用來(lái)計(jì)算數(shù)據(jù)之積,如累積器,即累積變量,用來(lái)計(jì)算數(shù)據(jù)之積,如pp*i. 對(duì)于這些變量,在程序開(kāi)始,一般要先賦初始值,可根據(jù)實(shí)際對(duì)于這些變量,在程序開(kāi)始,一般要先賦初始值,可根據(jù)實(shí)際問(wèn)題合理選擇初始值,一般情況下,計(jì)數(shù)器可設(shè)初始值為問(wèn)題合理選擇初始值,一般情況下,計(jì)數(shù)器可設(shè)初始值為0或或1,累加器為累加器為0,累積器為,累積器為1. 7三種基本結(jié)構(gòu)的關(guān)系及它們的
22、特點(diǎn)三種基本結(jié)構(gòu)的關(guān)系及它們的特點(diǎn) (1)三種基本結(jié)構(gòu)的關(guān)系三種基本結(jié)構(gòu)的關(guān)系 順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)是算法框圖的基本結(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);順序結(jié)構(gòu)是最基本的也是最簡(jiǎn)單的控制結(jié)構(gòu); 選擇結(jié)構(gòu)則是需要通過(guò)先判斷,再?zèng)Q定執(zhí)行哪個(gè)步驟的控制選擇結(jié)構(gòu)則是需要通過(guò)先判斷,再?zèng)Q定執(zhí)行哪個(gè)步驟的控制結(jié)構(gòu);結(jié)構(gòu); 循環(huán)結(jié)構(gòu)則是需要反復(fù)執(zhí)行某些步驟的控制結(jié)構(gòu),循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)則是需要反復(fù)執(zhí)行某些步驟的控制結(jié)構(gòu),循環(huán)結(jié)構(gòu)要在某個(gè)條件下終止循環(huán),這就需用選擇結(jié)構(gòu)來(lái)判斷,因此循環(huán)結(jié)要在某個(gè)條件下終止循環(huán),這就需用選擇結(jié)構(gòu)來(lái)判斷,因此循環(huán)結(jié)構(gòu)
23、一定包含選擇結(jié)構(gòu)另外,循環(huán)結(jié)構(gòu)也一定包含順序結(jié)構(gòu)構(gòu)一定包含選擇結(jié)構(gòu)另外,循環(huán)結(jié)構(gòu)也一定包含順序結(jié)構(gòu) (2)三種基本結(jié)構(gòu)的共同特點(diǎn)三種基本結(jié)構(gòu)的共同特點(diǎn) 只有一個(gè)入口;只有一個(gè)入口; 只有一個(gè)出口;只有一個(gè)出口; 注意:注意:一個(gè)判斷框有兩個(gè)出口,一個(gè)判斷框有兩個(gè)出口,而一個(gè)選擇結(jié)構(gòu)只有一個(gè)出口,而一個(gè)選擇結(jié)構(gòu)只有一個(gè)出口,不要將判斷框的出口和選擇結(jié)構(gòu)的出口混為一談不要將判斷框的出口和選擇結(jié)構(gòu)的出口混為一談 結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到,也就是說(shuō)對(duì)每一個(gè)框結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到,也就是說(shuō)對(duì)每一個(gè)框來(lái)說(shuō)都應(yīng)當(dāng)有一條從入口到出口的路徑通過(guò)它如圖所示中的來(lái)說(shuō)都應(yīng)當(dāng)有一條從入口到出口的路徑
24、通過(guò)它如圖所示中的A,沒(méi)有一條從入口到出口的路徑通過(guò)它,是不符合要求的算法框圖沒(méi)有一條從入口到出口的路徑通過(guò)它,是不符合要求的算法框圖 結(jié)構(gòu)內(nèi)不存在死循環(huán),即無(wú)終止的循環(huán),如圖所示就是一個(gè)結(jié)構(gòu)內(nèi)不存在死循環(huán),即無(wú)終止的循環(huán),如圖所示就是一個(gè)死循環(huán),程序不能結(jié)束,也不能解決任何問(wèn)題死循環(huán),程序不能結(jié)束,也不能解決任何問(wèn)題 8算法框圖的畫(huà)法算法框圖的畫(huà)法 框圖是算法的一種表示形式,框圖是算法的一種表示形式, 具有直觀形象、具有直觀形象、結(jié)構(gòu)清晰和簡(jiǎn)潔明了結(jié)構(gòu)清晰和簡(jiǎn)潔明了的特點(diǎn),的特點(diǎn), 但難點(diǎn)是怎樣才能熟練而準(zhǔn)確地畫(huà)出框圖,但難點(diǎn)是怎樣才能熟練而準(zhǔn)確地畫(huà)出框圖, 為此教你為此教你“抓特征,抓特征
25、,明規(guī)則,依步驟明規(guī)則,依步驟”九字訣,讓你即刻擁有畫(huà)框圖的基本功九字訣,讓你即刻擁有畫(huà)框圖的基本功 (1)抓特征抓特征 組成任何一個(gè)框圖的三要素是組成任何一個(gè)框圖的三要素是“四框四框”、“一線一線”加加“文字說(shuō)文字說(shuō)明明”,所以首先要抓住它們各自的特征與意義,所以首先要抓住它們各自的特征與意義 “四框四框”的特征與意義:的特征與意義: ()起止框的特征是圓角矩形,表示算法的開(kāi)始和結(jié)束,是任何框起止框的特征是圓角矩形,表示算法的開(kāi)始和結(jié)束,是任何框圖不可缺少的內(nèi)容;圖不可缺少的內(nèi)容; ()輸入、輸出框的特征是平行四邊形,表示算法中輸入和輸出的輸入、輸出框的特征是平行四邊形,表示算法中輸入和輸出
26、的信息,可放在任何需輸入、輸出的位置;信息,可放在任何需輸入、輸出的位置; ()處理框的特征是方角矩形,表示賦值和計(jì)算等,算法中要處理處理框的特征是方角矩形,表示賦值和計(jì)算等,算法中要處理的數(shù)據(jù)或計(jì)算可分別寫(xiě)在不同的處理框內(nèi);的數(shù)據(jù)或計(jì)算可分別寫(xiě)在不同的處理框內(nèi); ()判斷框的特征是菱形,用在當(dāng)算法要求對(duì)兩個(gè)不同的結(jié)果進(jìn)行判斷框的特征是菱形,用在當(dāng)算法要求對(duì)兩個(gè)不同的結(jié)果進(jìn)行判斷時(shí)判斷時(shí) “一線一線”的特征與意義的特征與意義: 流程線的特征是帶有方向箭頭的線,流程線的特征是帶有方向箭頭的線,用以連接圖框,直觀地表示算法的流程任意兩個(gè)圖框之間都存在用以連接圖框,直觀地表示算法的流程任意兩個(gè)圖框之
27、間都存在流程線流程線 “文字文字”的特征與意義的特征與意義 :在圖框內(nèi)加以說(shuō)明的文字、在圖框內(nèi)加以說(shuō)明的文字、 算式等,算式等,也是每個(gè)框圖不可缺少的內(nèi)容也是每個(gè)框圖不可缺少的內(nèi)容 (2)明規(guī)則明規(guī)則 框圖的畫(huà)法規(guī)則是:框圖的畫(huà)法規(guī)則是: 用標(biāo)準(zhǔn),即使用標(biāo)準(zhǔn)的圖框符號(hào);用標(biāo)準(zhǔn),即使用標(biāo)準(zhǔn)的圖框符號(hào); 按順序,即框圖一般從上到下、從左到右的順序畫(huà);按順序,即框圖一般從上到下、從左到右的順序畫(huà); 看出入,看出入,即大多數(shù)圖框的圖形符號(hào)只有一個(gè)入口和一個(gè)出口,即大多數(shù)圖框的圖形符號(hào)只有一個(gè)入口和一個(gè)出口,判斷框是唯一具有超過(guò)一個(gè)出口的符號(hào)且要在出口處標(biāo)明判斷框是唯一具有超過(guò)一個(gè)出口的符號(hào)且要在出口處
28、標(biāo)明“是是”或或“否否”; 明循環(huán),明循環(huán),即循環(huán)結(jié)構(gòu)要注意變量的初始值及循環(huán)的終止條件;即循環(huán)結(jié)構(gòu)要注意變量的初始值及循環(huán)的終止條件; 辨流向,即流程線的箭頭表示執(zhí)行的方向,不可缺少;辨流向,即流程線的箭頭表示執(zhí)行的方向,不可缺少; 簡(jiǎn)說(shuō)明,即在圖框內(nèi)的描述語(yǔ)言要簡(jiǎn)練清晰簡(jiǎn)說(shuō)明,即在圖框內(nèi)的描述語(yǔ)言要簡(jiǎn)練清晰 (3)依步驟依步驟 畫(huà)框圖的總體步驟是:畫(huà)框圖的總體步驟是: 第一步,設(shè)計(jì)算法,因?yàn)樗惴ǖ脑O(shè)計(jì)是畫(huà)框圖的基礎(chǔ),所以在第一步,設(shè)計(jì)算法,因?yàn)樗惴ǖ脑O(shè)計(jì)是畫(huà)框圖的基礎(chǔ),所以在畫(huà)框圖前,首先寫(xiě)出相應(yīng)的算法步驟,并分析算法需要哪種基本結(jié)畫(huà)框圖前,首先寫(xiě)出相應(yīng)的算法步驟,并分析算法需要哪種基本結(jié)
29、構(gòu)構(gòu)(順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)); 第二步,把算法步驟轉(zhuǎn)化為對(duì)應(yīng)的框圖,在這種轉(zhuǎn)化過(guò)程中往第二步,把算法步驟轉(zhuǎn)化為對(duì)應(yīng)的框圖,在這種轉(zhuǎn)化過(guò)程中往往需要考慮很多細(xì)節(jié),是一個(gè)將算法往需要考慮很多細(xì)節(jié),是一個(gè)將算法“細(xì)化細(xì)化”的過(guò)程的過(guò)程 9流程圖與結(jié)構(gòu)圖流程圖與結(jié)構(gòu)圖 (1)工序流程圖工序流程圖 工序流程圖可以按照從左到右,也可以按照從上到下的順序工序流程圖可以按照從左到右,也可以按照從上到下的順序來(lái)畫(huà),圖形用矩形棱形表示,再用流程線相連,流程線是有向線,來(lái)畫(huà),圖形用矩形棱形表示,再用流程線相連,流程線是有向線,表示工序進(jìn)展的方向表示工序進(jìn)展的方向 工序流程圖描述加
30、工工序之間的動(dòng)態(tài)過(guò)程,這就與實(shí)際生活工序流程圖描述加工工序之間的動(dòng)態(tài)過(guò)程,這就與實(shí)際生活聯(lián)系密切,因此,對(duì)一些行業(yè)術(shù)語(yǔ)、流程程序要有初步的了解聯(lián)系密切,因此,對(duì)一些行業(yè)術(shù)語(yǔ)、流程程序要有初步的了解 在畫(huà)工序流程圖時(shí),不能出現(xiàn)幾道工序首尾相連的圈圖或循在畫(huà)工序流程圖時(shí),不能出現(xiàn)幾道工序首尾相連的圈圖或循環(huán)回路環(huán)回路 (2)結(jié)構(gòu)圖結(jié)構(gòu)圖 結(jié)構(gòu)圖一般由構(gòu)成系統(tǒng)的若干要素和表達(dá)各要素之間關(guān)系的連結(jié)構(gòu)圖一般由構(gòu)成系統(tǒng)的若干要素和表達(dá)各要素之間關(guān)系的連線線(或方向箭頭或方向箭頭)構(gòu)成,構(gòu)成,連線通常是從上到下或從左到右的方向,連線通常是從上到下或從左到右的方向, 一般一般呈樹(shù)形狀的結(jié)構(gòu),在結(jié)構(gòu)圖中也經(jīng)常出
31、現(xiàn)一些呈樹(shù)形狀的結(jié)構(gòu),在結(jié)構(gòu)圖中也經(jīng)常出現(xiàn)一些“環(huán)環(huán)”形結(jié)構(gòu),這種形結(jié)構(gòu),這種情形常在表達(dá)邏輯先后關(guān)系時(shí)出現(xiàn)情形常在表達(dá)邏輯先后關(guān)系時(shí)出現(xiàn) 繪制結(jié)構(gòu)圖時(shí)步驟如下:繪制結(jié)構(gòu)圖時(shí)步驟如下: 對(duì)所畫(huà)的結(jié)構(gòu)圖的每一部分有一個(gè)深刻的理解,從頭到尾抓對(duì)所畫(huà)的結(jié)構(gòu)圖的每一部分有一個(gè)深刻的理解,從頭到尾抓住主要脈絡(luò)進(jìn)行分解住主要脈絡(luò)進(jìn)行分解 將每一部分進(jìn)行歸納與提煉,形成一個(gè)個(gè)點(diǎn)并逐一寫(xiě)在矩形將每一部分進(jìn)行歸納與提煉,形成一個(gè)個(gè)點(diǎn)并逐一寫(xiě)在矩形框內(nèi)框內(nèi) 按其邏輯順序?qū)⑺鼈兣帕衅饋?lái),并用線相連結(jié)按其邏輯順序?qū)⑺鼈兣帕衅饋?lái),并用線相連結(jié) (3)在畫(huà)結(jié)構(gòu)圖時(shí),一般情況下在畫(huà)結(jié)構(gòu)圖時(shí),一般情況下“下位下位”要素比要素
32、比“上位上位”要素更要素更為具體,為具體,“上位上位”要素比要素比“下位下位”要素更為抽象要素更為抽象“下位下位”要素越要素越多,結(jié)構(gòu)圖越復(fù)雜所以,畫(huà)結(jié)構(gòu)圖時(shí),應(yīng)該根據(jù)具體需要確定復(fù)多,結(jié)構(gòu)圖越復(fù)雜所以,畫(huà)結(jié)構(gòu)圖時(shí),應(yīng)該根據(jù)具體需要確定復(fù)雜程度,簡(jiǎn)潔的結(jié)構(gòu)圖有時(shí)能更好地反映主體要素之間的關(guān)系和系雜程度,簡(jiǎn)潔的結(jié)構(gòu)圖有時(shí)能更好地反映主體要素之間的關(guān)系和系統(tǒng)的整體特點(diǎn)統(tǒng)的整體特點(diǎn). 典典 例例 對(duì)對(duì) 對(duì)對(duì) 碰碰 題型一題型一 算法的設(shè)計(jì)算法的設(shè)計(jì) ? ? ?x2y1 例例1.對(duì)于方程組對(duì)于方程組? ?,試設(shè)計(jì)一個(gè)算法,求,試設(shè)計(jì)一個(gè)算法,求x、y? ? ?2xy1 的值的值 分析分析 解二元一次方
33、程組的主要方法是消元,可加減消元或代解二元一次方程組的主要方法是消元,可加減消元或代入消元入消元 解析解析 算法步驟如下:算法步驟如下: (1)(2),得,得5y3 ; 3(2)解解得得y ; 51(3)將將代入代入整理得整理得x ; 5? ?x1? ?5(4)方程組的解為方程組的解為? ? 3? ?y.? ?5 點(diǎn)評(píng)點(diǎn)評(píng) 對(duì)于一般的二元一次方程組對(duì)于一般的二元一次方程組 ? ? ?a1xb1yc1 ? ?(a1b2a2b10), ? ? ?a2xb2yc2 a2b1a2a2c1(1)()得到得到(b2)yc2 ; a1a1a1 a1c2a2c1(2)解解得得y ; a1b2a2b1b2c1b
34、1c2(3)將將代入代入整理得到整理得到x; a1b2a2b1(4)輸出輸出x,y 變式遷移變式遷移1 100個(gè)和尚吃個(gè)和尚吃100個(gè)饅頭,大和尚個(gè)饅頭,大和尚1人吃人吃3個(gè),小和尚個(gè),小和尚3人吃人吃1個(gè)試設(shè)計(jì)一個(gè)算法,求大、小和尚各多少個(gè)?個(gè)試設(shè)計(jì)一個(gè)算法,求大、小和尚各多少個(gè)? 解析解析 本題可以看作二元一次方程組的求解問(wèn)題,我們直接套本題可以看作二元一次方程組的求解問(wèn)題,我們直接套用典例用典例3中總結(jié)的公式設(shè)有中總結(jié)的公式設(shè)有x個(gè)大和尚,個(gè)大和尚,y個(gè)小和尚算法步驟個(gè)小和尚算法步驟如下:如下: y? ? ?3x 100 3(1)先列方程組先列方程組? ?; ? ? ?xy100 8(2
35、)3得得y200 ; 3(3)解解得得y75 ; (4)將將代入代入得得x25; (5)大、小和尚分別有大、小和尚分別有25個(gè)、個(gè)、75個(gè)個(gè). 題型二題型二 有序列的排序有序列的排序 例例2.分別用直接插入排序法和折半插入排序法將數(shù)據(jù)分別用直接插入排序法和折半插入排序法將數(shù)據(jù)56插入插入到有序列到有序列1,8,12,36,49,57,68,79中,寫(xiě)出相應(yīng)的算法中,寫(xiě)出相應(yīng)的算法 分析分析 根據(jù)兩種排序法的思想分別代入比較可得根據(jù)兩種排序法的思想分別代入比較可得 解析解析 直接插入排序算法:直接插入排序算法: (1)56與與79比較,比較,5679,56應(yīng)在應(yīng)在79的左邊;的左邊; (2)56
36、與與68比較,比較,5668,56應(yīng)在應(yīng)在68的左邊;的左邊; (3)56與與57比較,比較,5657,56應(yīng)在應(yīng)在57的左邊;的左邊; (4)56與與49比較,比較,5649,56應(yīng)在應(yīng)在49的右邊的右邊 因此將因此將56插入到插入到49與與57之間,得到一個(gè)新的有序列:之間,得到一個(gè)新的有序列:1,8,12,36,49,56,57,68,79 折半插入排序算法:折半插入排序算法: (1)將將56與中間位置的數(shù)據(jù)與中間位置的數(shù)據(jù)36比較,比較,5636,故,故56應(yīng)該在應(yīng)該在36的右邊;的右邊; (2)將將56與剩余數(shù)據(jù)的中間位置的數(shù)據(jù)與剩余數(shù)據(jù)的中間位置的數(shù)據(jù)57比較,比較,5657, 故
37、故56應(yīng)該在應(yīng)該在57的左邊;的左邊; (3)再將再將56與與49比較,比較,5649,故,故56應(yīng)該在應(yīng)該在49與與57之間之間 由由 此此 得得 插插 入入 數(shù)數(shù) 據(jù)據(jù)56后后 的的 一一 個(gè)個(gè) 新新 的的 有有 序序 列列 :1,8,12,36,49,56,57,68,79 點(diǎn)評(píng)點(diǎn)評(píng) 折半插入排序法的關(guān)鍵在于中間位置數(shù)據(jù)的確定,若有折半插入排序法的關(guān)鍵在于中間位置數(shù)據(jù)的確定,若有序列中有偶數(shù)個(gè)數(shù)據(jù)時(shí),中間位置的數(shù)據(jù)是中間兩個(gè)數(shù)據(jù)中靠左邊序列中有偶數(shù)個(gè)數(shù)據(jù)時(shí),中間位置的數(shù)據(jù)是中間兩個(gè)數(shù)據(jù)中靠左邊的數(shù)據(jù),只要注意這一點(diǎn)就不難將數(shù)據(jù)插入到有序列中正確的位置的數(shù)據(jù),只要注意這一點(diǎn)就不難將數(shù)據(jù)插入
38、到有序列中正確的位置. 變式遷移變式遷移2 請(qǐng)利用直接插入排序和折半插入排序的方法分別寫(xiě)出將數(shù)據(jù)請(qǐng)利用直接插入排序和折半插入排序的方法分別寫(xiě)出將數(shù)據(jù)43,69插入到有序列插入到有序列21,39,46,57,67,73,84,96中的算法中的算法 解析解析 直接插入排序算法:直接插入排序算法: 將將43與與96比較,比較,4396,所以,所以43在在96的左邊;的左邊; 將將43與與84比較,比較,4384,所以,所以43在在84的左的左邊;邊;將將43與與73比較,比較,4373,所以,所以43在在73的左邊;的左邊;將將43與與67比較,比較,4367,所以,所以43在在67的左邊;的左邊;
39、 將將43與與57比較,比較,4357,所以,所以43在在57的左邊;的左邊; 將將43與與46比較,比較,4346,所以,所以43在在46的左邊;的左邊;將將43與與39比較,比較,4339,故,故43在在39與與46之之間間得到一個(gè)新的有序列為得到一個(gè)新的有序列為21,39,43,46,57,67,73,84,96再將再將69與與排序后的這一數(shù)據(jù)列中的數(shù)據(jù)進(jìn)行比較,利用同樣的方法可得排序排序后的這一數(shù)據(jù)列中的數(shù)據(jù)進(jìn)行比較,利用同樣的方法可得排序之后新的數(shù)據(jù)列為之后新的數(shù)據(jù)列為21,39,43,46,57,67,69,73,84,96 折半插入排序算法:共折半插入排序算法:共8個(gè)數(shù)據(jù),中間位
40、置上的數(shù)據(jù)是個(gè)數(shù)據(jù),中間位置上的數(shù)據(jù)是57,將,將43與與57進(jìn)行比較,進(jìn)行比較,4357,43在有序列的左半部分;在有序列的左半部分; 再將余下數(shù)據(jù)再將余下數(shù)據(jù)的中間位置上的數(shù)據(jù)的中間位置上的數(shù)據(jù)39與與43進(jìn)行比較,進(jìn)行比較,3943,43在數(shù)據(jù)在數(shù)據(jù)39的右的右邊邊 , 又又4346, 可可 得得43的的 位位 置置 , 即即 新新 的的 有有 序序 列列 為為21,39,43,46,57,67,73,84,96同理,可得同理,可得69的位置,即新的有序列的位置,即新的有序列為為21,39,43,46,57,67,69,73,84,96. 題型三題型三 無(wú)序列的排序無(wú)序列的排序 例例3.
41、設(shè)計(jì)一個(gè)算法,對(duì)無(wú)序列設(shè)計(jì)一個(gè)算法,對(duì)無(wú)序列36,6,12,24,38,46,0進(jìn)行排序進(jìn)行排序 分析分析 反復(fù)應(yīng)用有序列插入排序的思想方法,在排序過(guò)程中要反復(fù)應(yīng)用有序列插入排序的思想方法,在排序過(guò)程中要明確每次比較的數(shù)據(jù)是哪一個(gè)明確每次比較的數(shù)據(jù)是哪一個(gè) 解析解析 算法如下:算法如下: (1)36是有序列,將是有序列,將36與與6比較,因?yàn)楸容^,因?yàn)?66,故得到有序列,故得到有序列6,36; (2)將將12與與6,36各數(shù)據(jù)進(jìn)行比較,因?yàn)楦鲾?shù)據(jù)進(jìn)行比較,因?yàn)?26,1236,故得到,故得到有序列有序列6,12,36; (3)將將24與與6,12,36各數(shù)據(jù)進(jìn)行比較,因?yàn)楦鲾?shù)據(jù)進(jìn)行比較,因?yàn)?/p>
42、2412,2436,故,故得到有序列得到有序列6,12,24,36; (4)將將38與與6,12,24,36各數(shù)據(jù)進(jìn)行比較,因?yàn)楦鲾?shù)據(jù)進(jìn)行比較,因?yàn)?836,故得到,故得到有序列有序列6,12,24,36,38; (5)將將46與與6,12,24,36,38各數(shù)據(jù)進(jìn)行比較,因?yàn)楦鲾?shù)據(jù)進(jìn)行比較,因?yàn)?638,故得,故得到有序列到有序列6,12,24,36,38,46; (6)將將0與與6,12,24,36,38,46各數(shù)據(jù)進(jìn)行比較,因?yàn)楦鲾?shù)據(jù)進(jìn)行比較,因?yàn)?6,故得,故得到有序列到有序列0,6,12,24,36,38,46 所以,排序之后的結(jié)果為所以,排序之后的結(jié)果為0,6,12,24,36,3
43、8,46 點(diǎn)評(píng)點(diǎn)評(píng) 用有序列插入排序算法完成無(wú)序列排序的問(wèn)題,基本解用有序列插入排序算法完成無(wú)序列排序的問(wèn)題,基本解決思想非常簡(jiǎn)單,即反復(fù)使用有序列插入排序算法,使有序列的長(zhǎng)決思想非常簡(jiǎn)單,即反復(fù)使用有序列插入排序算法,使有序列的長(zhǎng)度不斷增加,一直到完成整個(gè)無(wú)序列的有序排列為止度不斷增加,一直到完成整個(gè)無(wú)序列的有序排列為止. 變式遷移變式遷移3 設(shè)計(jì)一個(gè)算法,對(duì)無(wú)序列設(shè)計(jì)一個(gè)算法,對(duì)無(wú)序列12,17,50,18,21,3,6進(jìn)行排序進(jìn)行排序 解析解析 算法如下:算法如下: (1)12是有序列,將是有序列,將12與與17進(jìn)行比較,因?yàn)檫M(jìn)行比較,因?yàn)?217,故得到,故得到有序列有序列12,17;
44、 (2)將將50與與12,17各數(shù)據(jù)進(jìn)行比較,因?yàn)楦鲾?shù)據(jù)進(jìn)行比較,因?yàn)?017,故得到有序,故得到有序列列12,17,50; (3)將將18與與12,17,50各數(shù)據(jù)進(jìn)行比較,因?yàn)楦鲾?shù)據(jù)進(jìn)行比較,因?yàn)?850,1817,故,故得到有序列得到有序列12,17,18,50; (4)將將21與與12,17,18,50各數(shù)據(jù)進(jìn)行比較,因?yàn)楦鲾?shù)據(jù)進(jìn)行比較,因?yàn)?150,2118,故得到有序列故得到有序列12,17,18,21,50; (5)將將3與與12,17,18,21,50各數(shù)據(jù)進(jìn)行比較,各數(shù)據(jù)進(jìn)行比較,因?yàn)橐驗(yàn)?12,故得到故得到有序列有序列3,12,17,18,21,50; (6)將將6與與3,
45、12,17,18,21,50各數(shù)據(jù)進(jìn)行比較,因?yàn)楦鲾?shù)據(jù)進(jìn)行比較,因?yàn)?12,63,故得到有序列故得到有序列3,6,12,17,18,21,50 所以排序之后的結(jié)果為所以排序之后的結(jié)果為3,6,12,17,18,21,50. 題型四題型四 順序結(jié)構(gòu)順序結(jié)構(gòu) 例例4.用尺規(guī)作圖,用尺規(guī)作圖,確定一條長(zhǎng)度為確定一條長(zhǎng)度為x的線段滿足關(guān)系式的線段滿足關(guān)系式x2ab. 分析分析 要使要使x2ab,可借助于圓的相交弦定理,可借助于圓的相交弦定理 解析解析 算法如下:算法如下: (1)作線段作線段ABa; (2)延長(zhǎng)延長(zhǎng)AB到點(diǎn)到點(diǎn)C,使,使BCb; (3)以以AC為直徑作半圓;為直徑作半圓; (4)過(guò)點(diǎn)過(guò)
46、點(diǎn)B作作BDAC交半圓于點(diǎn)交半圓于點(diǎn)D,則,則BDx. 算法的框圖如圖所示算法的框圖如圖所示 點(diǎn)評(píng)點(diǎn)評(píng) 順序結(jié)構(gòu)是按步驟依次執(zhí)行的一種算法結(jié)構(gòu)這一系順序結(jié)構(gòu)是按步驟依次執(zhí)行的一種算法結(jié)構(gòu)這一系列步驟就是解決作圖問(wèn)題的一個(gè)算法列步驟就是解決作圖問(wèn)題的一個(gè)算法. 變式遷移變式遷移4 已知點(diǎn)已知點(diǎn)P(x0,y0)和直線和直線l:AxByC0,畫(huà)出求點(diǎn)畫(huà)出求點(diǎn)P到直線到直線l的距離的距離d的框圖的框圖 解析解析 框圖如圖所示框圖如圖所示 題型五題型五 選擇結(jié)構(gòu)選擇結(jié)構(gòu) 例例5.任意給定任意給定3個(gè)正實(shí)數(shù),試設(shè)計(jì)一個(gè)算法,判斷分別以這個(gè)正實(shí)數(shù),試設(shè)計(jì)一個(gè)算法,判斷分別以這3個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在
47、,并畫(huà)出這個(gè)算法的框圖個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在,并畫(huà)出這個(gè)算法的框圖 分析分析 判斷分別以這判斷分別以這3個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在,只個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在,只需要驗(yàn)證這需要驗(yàn)證這3個(gè)數(shù)中任意個(gè)數(shù)中任意2個(gè)數(shù)的和是否大于第個(gè)數(shù)的和是否大于第3個(gè)數(shù)即可,這就個(gè)數(shù)即可,這就需要用到選擇結(jié)構(gòu)需要用到選擇結(jié)構(gòu) 解析解析 框圖如圖所示框圖如圖所示 點(diǎn)評(píng)點(diǎn)評(píng) 凡必須先根據(jù)條件作出判斷,凡必須先根據(jù)條件作出判斷,然后再?zèng)Q定執(zhí)行哪一個(gè)步驟然后再?zèng)Q定執(zhí)行哪一個(gè)步驟的問(wèn)題,在畫(huà)框圖時(shí),必須引入判斷框,利用選擇結(jié)構(gòu)來(lái)設(shè)計(jì)算法的問(wèn)題,在畫(huà)框圖時(shí),必須引入判斷框,利用選擇結(jié)構(gòu)來(lái)設(shè)計(jì)算法. 變式遷移變
48、式遷移5 畫(huà)出解關(guān)于畫(huà)出解關(guān)于x的不等式的不等式pxq0(p0)的框圖的框圖 解析解析 我們需要討論不等式中各個(gè)字母的符號(hào),從而確定不等我們需要討論不等式中各個(gè)字母的符號(hào),從而確定不等式的解集,也就是要考慮到解不等式的各種情況框圖如圖所示式的解集,也就是要考慮到解不等式的各種情況框圖如圖所示 題型六題型六 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 例例6.設(shè)計(jì)算法求設(shè)計(jì)算法求S1(12)(123)的前的前10項(xiàng)和,項(xiàng)和, 畫(huà)畫(huà)出算法框圖出算法框圖 分析分析 循環(huán)變量:循環(huán)變量:i,每次遞增,每次遞增1,可用式子,可用式子ii1表示;表示; 循環(huán)體:第一個(gè)和求循環(huán)體:第一個(gè)和求123用用TTi表示,第二個(gè)和表示,第二個(gè)
49、和求全部的和用求全部的和用SST表示;表示; 循環(huán)的終止條件:循環(huán)的終止條件:i9. 解析解析 算法框圖如圖所示算法框圖如圖所示 點(diǎn)評(píng)點(diǎn)評(píng) 本題求和實(shí)質(zhì)上是求了兩個(gè)和,注意循環(huán)體的設(shè)計(jì)方法本題求和實(shí)質(zhì)上是求了兩個(gè)和,注意循環(huán)體的設(shè)計(jì)方法TTi,SST連續(xù)起來(lái)便得到了所求的和連續(xù)起來(lái)便得到了所求的和. 變式遷移變式遷移6 2222 畫(huà)出求畫(huà)出求s123100的值的算法框圖的值的算法框圖 解析解析 算法框圖如圖所示算法框圖如圖所示 題型七題型七 框圖的畫(huà)法框圖的畫(huà)法 例例7.若若135n2010,試設(shè)計(jì)算法框圖,試設(shè)計(jì)算法框圖,尋找滿足條尋找滿足條件的最小奇數(shù)件的最小奇數(shù)n. 解析解析 算法分析:
50、因?yàn)樯婕袄奂訂?wèn)題,所以算法含有循環(huán)結(jié)算法分析:因?yàn)樯婕袄奂訂?wèn)題,所以算法含有循環(huán)結(jié)構(gòu),寫(xiě)出算法步驟如下:構(gòu),寫(xiě)出算法步驟如下: 1S0,i1. 2SSi,ii2. 3判斷判斷S2010是否成立:是否成立: (1)若若S2010,則,則ii2,輸出,輸出i; (2)若若S2010,返回步驟,返回步驟2. 畫(huà)法步驟畫(huà)法步驟 畫(huà)順序結(jié)構(gòu)圖,即起止框及兩個(gè)處理框,并分畫(huà)順序結(jié)構(gòu)圖,即起止框及兩個(gè)處理框,并分別填入循環(huán)初始條件別填入循環(huán)初始條件(如圖所示如圖所示); 畫(huà)循環(huán)結(jié)構(gòu)圖,先畫(huà)循環(huán)體即兩個(gè)處理框畫(huà)循環(huán)結(jié)構(gòu)圖,先畫(huà)循環(huán)體即兩個(gè)處理框(一個(gè)累加,一個(gè)累加,一個(gè)一個(gè)計(jì)數(shù)計(jì)數(shù)),再畫(huà)循環(huán)終止條件,再畫(huà)循
51、環(huán)終止條件,即判斷框并判斷即判斷框并判斷S2010,若不成立,若不成立,則流向循環(huán)體進(jìn)行再循環(huán)則流向循環(huán)體進(jìn)行再循環(huán)(如圖所示如圖所示); 畫(huà)處理框并填入畫(huà)處理框并填入 “ii2”,輸出框輸出輸出框輸出n以及起止框表示以及起止框表示算法結(jié)束算法結(jié)束(如圖所示如圖所示 ) 最后,合成整個(gè)算法框圖如圖所示最后,合成整個(gè)算法框圖如圖所示 點(diǎn)評(píng)點(diǎn)評(píng) 畫(huà)框圖的關(guān)鍵是分析算法步驟,因?yàn)榭驁D是算法步驟的畫(huà)框圖的關(guān)鍵是分析算法步驟,因?yàn)榭驁D是算法步驟的圖形表示,所以算法步驟越明確畫(huà)圖就越容易;另外,如分段函數(shù)圖形表示,所以算法步驟越明確畫(huà)圖就越容易;另外,如分段函數(shù)這種需要對(duì)條件進(jìn)行判斷的算法設(shè)計(jì)中,宜使用選
52、擇結(jié)構(gòu)這種需要對(duì)條件進(jìn)行判斷的算法設(shè)計(jì)中,宜使用選擇結(jié)構(gòu). 變式遷移變式遷移7 某商場(chǎng)進(jìn)行優(yōu)惠促銷:若購(gòu)物金額某商場(chǎng)進(jìn)行優(yōu)惠促銷:若購(gòu)物金額x在在500元以上,打元以上,打8折;折;若購(gòu)物金額若購(gòu)物金額x在在300元以上,打元以上,打9折;否則,不打折設(shè)計(jì)算法框折;否則,不打折設(shè)計(jì)算法框圖,要求輸入購(gòu)物金額圖,要求輸入購(gòu)物金額x,輸出實(shí)際交款額,輸出實(shí)際交款額 解析解析 算法分析:由題意,實(shí)際交款額算法分析:由題意,實(shí)際交款額y與購(gòu)物金額與購(gòu)物金額x之間的之間的? ?x x300? ?函數(shù)關(guān)系是函數(shù)關(guān)系是y? ?0.9x,300 x500,因?yàn)樗鑼?duì)因?yàn)樗鑼?duì)x進(jìn)行三次判進(jìn)行三次判? ? ?0
53、.8x, x500斷,所以算法含有兩個(gè)選擇結(jié)構(gòu),寫(xiě)出算法步驟如下:斷,所以算法含有兩個(gè)選擇結(jié)構(gòu),寫(xiě)出算法步驟如下: 1輸入購(gòu)物金額輸入購(gòu)物金額x. 2若若x300,則,則yx 3若若x300,判斷,判斷x500是否成立:是否成立: (1)若若x500,則,則y0.9x; (3)若若x500,y0.8x. 4輸出輸出y. 畫(huà)法步驟:畫(huà)順序結(jié)構(gòu)圖,即起止框及輸入框,并用流程線畫(huà)法步驟:畫(huà)順序結(jié)構(gòu)圖,即起止框及輸入框,并用流程線連接連接(如圖所示如圖所示); 畫(huà)選擇結(jié)構(gòu)圖,即畫(huà)判斷框并判斷畫(huà)選擇結(jié)構(gòu)圖,即畫(huà)判斷框并判斷x300,若是,則畫(huà)處理,若是,則畫(huà)處理框并填入框并填入“yx”,否則流向下一個(gè)判
54、斷框,否則流向下一個(gè)判斷框(如圖所示如圖所示); 再畫(huà)選擇結(jié)構(gòu)圖,即畫(huà)判斷框并判斷再畫(huà)選擇結(jié)構(gòu)圖,即畫(huà)判斷框并判斷x500,若是,則畫(huà)處,若是,則畫(huà)處理框并填入理框并填入“y0.9x”,否則畫(huà)處理框并填入,否則畫(huà)處理框并填入“y0.8x”(如圖所如圖所示示); 畫(huà)一個(gè)總的輸出框并輸出畫(huà)一個(gè)總的輸出框并輸出y,以及起止框表示算法結(jié)束,以及起止框表示算法結(jié)束(如圖如圖所示所示) 最后,合成整個(gè)算法框圖如圖所示最后,合成整個(gè)算法框圖如圖所示 題型八題型八 流程圖流程圖 例例8.某地聯(lián)通公司推出某地聯(lián)通公司推出10011電話服務(wù),其中話費(fèi)查詢業(yè)務(wù)流電話服務(wù),其中話費(fèi)查詢業(yè)務(wù)流程如圖所示:程如圖所示:
55、如果某人用手機(jī)查詢?cè)摍C(jī)卡上余額,請(qǐng)畫(huà)出操作的流程圖如果某人用手機(jī)查詢?cè)摍C(jī)卡上余額,請(qǐng)畫(huà)出操作的流程圖 解析解析 點(diǎn)評(píng)點(diǎn)評(píng) 確定工序的順序,選用相應(yīng)的方案,畫(huà)出流程圖確定工序的順序,選用相應(yīng)的方案,畫(huà)出流程圖. 變式遷移變式遷移8 某市環(huán)境保護(hù)局信訪工作流程如下:某市環(huán)境保護(hù)局信訪工作流程如下: (1)信訪辦受理來(lái)訪,一般信訪填單轉(zhuǎn)辦;重大信訪報(bào)局長(zhǎng)批示信訪辦受理來(lái)訪,一般信訪填單轉(zhuǎn)辦;重大信訪報(bào)局長(zhǎng)批示后轉(zhuǎn)辦后轉(zhuǎn)辦 (2)及時(shí)轉(zhuǎn)送有關(guān)部門辦理、督辦,如特殊情況未能按期辦理完及時(shí)轉(zhuǎn)送有關(guān)部門辦理、督辦,如特殊情況未能按期辦理完畢,批準(zhǔn)后可延辦,辦理完畢后反饋畢,批準(zhǔn)后可延辦,辦理完畢后反饋 (3
56、)信訪辦理情況反饋后,歸檔備查,定期通報(bào)信訪辦理情況反饋后,歸檔備查,定期通報(bào) 據(jù)上畫(huà)出該局信訪工作流程圖據(jù)上畫(huà)出該局信訪工作流程圖 解析解析 流程圖如圖所示:流程圖如圖所示: 題型九題型九 結(jié)構(gòu)圖結(jié)構(gòu)圖 例例9.某公司局域網(wǎng)設(shè)置如下:由服務(wù)器連接經(jīng)理室、市場(chǎng)部、某公司局域網(wǎng)設(shè)置如下:由服務(wù)器連接經(jīng)理室、市場(chǎng)部、銷售部、客戶服務(wù)部、系統(tǒng)管理員,與外部連接是通過(guò)服務(wù)器,試銷售部、客戶服務(wù)部、系統(tǒng)管理員,與外部連接是通過(guò)服務(wù)器,試畫(huà)出該公司局域網(wǎng)設(shè)置結(jié)構(gòu)圖畫(huà)出該公司局域網(wǎng)設(shè)置結(jié)構(gòu)圖 解析解析 如圖:如圖: 點(diǎn)評(píng)點(diǎn)評(píng) 在畫(huà)結(jié)構(gòu)圖時(shí)要注意審題,確定名片定理系統(tǒng)的四個(gè)在畫(huà)結(jié)構(gòu)圖時(shí)要注意審題,確定名片定理系統(tǒng)的四個(gè)功能,并對(duì)每個(gè)功能細(xì)分,然后畫(huà)出結(jié)構(gòu)圖功能,并對(duì)每個(gè)功能細(xì)分,然后畫(huà)出結(jié)構(gòu)圖. 變式遷移變式遷移9 在工商管理學(xué)中在工商管理學(xué)中MRP(Materia
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 收銀主管年終總結(jié)模版
- 第一次工地例會(huì)發(fā)言稿模版
- 縱隔間葉源性腫瘤及其他腫瘤的健康宣教
- 責(zé)任勝于能力心得體會(huì)模版
- 旗袍秀新聞發(fā)布會(huì)方案及流程
- 腦卒中患者的護(hù)理
- 應(yīng)急消防管理站面試題及答案
- 區(qū)“拿地即開(kāi)工”、“交房(地)即發(fā)證”試點(diǎn)工作的實(shí)施方案
- 眼袋淚溝醫(yī)學(xué)科普
- 網(wǎng)上警局建設(shè)方案
- 調(diào)味品中微生物安全-全面剖析
- (二模)濟(jì)寧市2025年4月高三高考模擬考試生物試卷(含答案)
- DB32T 4772-2024自然資源基礎(chǔ)調(diào)查技術(shù)規(guī)程
- 膝關(guān)節(jié)韌帶損傷術(shù)后護(hù)理
- 雕像制作合同協(xié)議
- 2025年全國(guó)燃?xì)獍踩a(chǎn)管理主要負(fù)責(zé)人考試筆試試題(500題)附答案
- 列那狐測(cè)試題及答案
- 《酉陽(yáng)雜俎》女性角色研究
- 浙江省嘉興市2025屆高三下學(xué)期4月教學(xué)測(cè)試物理+答案
- 夏季高溫季節(jié)施工應(yīng)急預(yù)案
- 嬰幼兒照護(hù) 課件 2遺尿現(xiàn)象的干預(yù)
評(píng)論
0/150
提交評(píng)論