算法與程序框圖_第1頁
算法與程序框圖_第2頁
算法與程序框圖_第3頁
算法與程序框圖_第4頁
算法與程序框圖_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、算法與程序框圖一、程序框圖與算法基本邏輯結(jié)構(gòu):1.程序框圖符號及作用:程序框圖又稱流程圖,是一種用規(guī)定的圖形、指向線及文字說明來準(zhǔn)確、直觀地表示算法的圖形.圖形符號名稱功能終端框(起止框)表示一個算法的起始和結(jié)束,是任何算法程序框圖不可缺少的輸入、輸出框表示一個算法輸入和輸出的信息,可用在算法中任何需要輸入、輸出的位置處理框(執(zhí)行框)賦值、計算.算法中處理數(shù)據(jù)需要的算式、公式等,它們分別寫在不同的用以處理數(shù)據(jù)的處理框內(nèi)判斷框判斷某一條件是否成立,成立時出口處標(biāo)明“是”或“Y”;不成立時標(biāo)明“否”或“N”流程線連接程序框,表示算法進(jìn)行的前進(jìn)方向以及先后順序連接點如果一個流程圖需要分開來畫,要在斷

2、開處畫上連接點,并標(biāo)出連接的號碼例:解一元二次方程:2.畫程序框圖的規(guī)則:為了使大家彼此之間能夠讀懂各自畫出的框圖,必須遵守一些共同的規(guī)則,下面對一些常用的規(guī)則做一簡要介紹.(1)實用標(biāo)準(zhǔn)的框圖符號.(2)框圖一般按從上到下、從左到右的方向畫.(3)一個完整的程序框圖必須有終端框,用于表示程序的開始和結(jié)束.(4)除判斷框外,大多數(shù)框圖符號只有一個進(jìn)入點和一個退出點,判斷框是具有超過一個退出點的唯一符號,另外,一種判斷框是“是”與“不是”兩分支的判斷,而且有且僅有兩個結(jié)果;還有一種是多分支判斷,有幾個不同的結(jié)果.(5)在圖形符號內(nèi)用于描述的語言要非常簡練清楚.3.算法的三種基本邏輯結(jié)構(gòu):步驟n步

3、驟n+1(1)順序結(jié)構(gòu)順序結(jié)構(gòu)是最簡單的算法結(jié)構(gòu),語句與語句之間,框與框之間是按從上到下的順序進(jìn)行的,它是由若干個依次執(zhí)行的處理步驟組成的,它是任何一個算法離不開的基本結(jié)構(gòu).如圖,只有在執(zhí)行完步驟n后,才能接著執(zhí)行步驟n+1.例:.已知梯形的上底、下底和高分別為5、8、9,寫出求梯形的面積的算法,畫出流程圖.解:算法如下:S1a5;S2b8;S3h9;S4S(a+b)×h/2;S5輸出S.流程圖如下:(2)條件結(jié)構(gòu)一些簡單的算法可以用順序結(jié)構(gòu)來實現(xiàn),順序結(jié)構(gòu)中所表達(dá)的邏輯關(guān)系是自然串行,線性排列的.但這種結(jié)構(gòu)無法描述邏輯判斷,并根據(jù)判斷結(jié)果進(jìn)行不同的處理的操作,(例如遇到十字路口看信

4、號燈過馬路的問題)因此,需要另一種邏輯結(jié)構(gòu)來處理這類問題.條件結(jié)構(gòu)的結(jié)構(gòu)形式如圖,在此結(jié)構(gòu)中含有一個判斷框,算法執(zhí)行到此判斷框給定的條件P時,根據(jù)條件P是否成立,選擇不同的執(zhí)行框(步驟A,步驟B),無論條件P是否成立,只能執(zhí)行步驟A或步驟B之一,不可以兩者都執(zhí)行或都不執(zhí)行.步驟A和步驟B中可以有一個是空的.例:某鐵路客運部門規(guī)定甲、乙兩地之間旅客托運行李的費用為 其中(單位:)為行李的重量 試給出計算費用(單位:元)的一個算法,并畫出流程圖 輸入行李的重量; 如果,那么,否則; 輸出行李的重量和運費(3)循環(huán)結(jié)構(gòu)在一些算法中要求重復(fù)執(zhí)行同一操作的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu).即從算法某處開始,按照一定條件

5、重復(fù)執(zhí)行某一處理過程.重復(fù)執(zhí)行的處理步驟稱為循環(huán)體.例:北京成功舉辦了2008年第29屆奧運會.你知道在申奧的最后階段,國際奧委會是如何通過投票決定主辦權(quán)歸屬的嗎?對篩選出的5個申辦城市進(jìn)行表決的操作程序是:首先進(jìn)行第一輪投票,如果有一個城市得票超過總票數(shù)的一半,那么該城市就獲得舉辦權(quán);如果所有申辦城市得票數(shù)都不超過總票數(shù)的一半,則將得票數(shù)最少的城市淘汰,然后重復(fù)上述過程,直到選出一個申辦城市為止.怎樣用算法結(jié)構(gòu)表述上面的操作過程? 解:算法為: 投票; 統(tǒng)計票數(shù),如果有一個城市得票超過總票數(shù)的一半,那么該城市就獲得舉辦權(quán),轉(zhuǎn),否則淘汰得票數(shù)最少的城市,轉(zhuǎn); 宣布主辦城市這里,“投票”就是一個

6、循環(huán)體循環(huán)結(jié)構(gòu)有兩種形式:直到型循環(huán)結(jié)構(gòu)(until型)和當(dāng)型循環(huán)結(jié)構(gòu)(while型)(1)直到型循環(huán)結(jié)構(gòu)如圖,直到型循環(huán)在執(zhí)行一次循環(huán)體A之后,對控制循環(huán)的條件P進(jìn)行判斷,如果條件P不成立則返回繼續(xù)執(zhí)行循環(huán)體A,執(zhí)行后,再判斷條件P是否成立,依次重復(fù)操作,直到某一次給定的判斷條件P成立為止.此時,不再返回來執(zhí)行循環(huán)體A,離開循環(huán)結(jié)構(gòu),繼續(xù)執(zhí)行下面的結(jié)構(gòu).直到型循環(huán),因其先執(zhí)行一次循環(huán)體,再對控制循環(huán)的條件進(jìn)行判斷,然后根據(jù)判斷的結(jié)果決定是否繼續(xù)執(zhí)行循環(huán)體.當(dāng)條件不成立時繼續(xù)執(zhí)行循環(huán)體,當(dāng)條件成立時,跳出循環(huán)結(jié)構(gòu),所以,我們也把直到型循環(huán)稱為“后測試型”循環(huán).(2)當(dāng)型循環(huán)結(jié)構(gòu)如圖,每次執(zhí)行循

7、環(huán)體A前,先對控制循環(huán)的條件P進(jìn)行判斷,當(dāng)條件P成立時執(zhí)行循環(huán)體A,循環(huán)體A執(zhí)行完畢后,返回來再判斷條件P是否成立,如果條件P仍然成立,那么再執(zhí)行循環(huán)體A,如此反復(fù)執(zhí)行循環(huán)體A,直到某一次返回來判斷條件P不成立時為止,此時不再執(zhí)行循環(huán)體A,離開循環(huán)結(jié)構(gòu),繼續(xù)執(zhí)行下面的結(jié)構(gòu).也正因為當(dāng)型循環(huán)結(jié)構(gòu)先對條件P進(jìn)行判斷,當(dāng)條件P成立時,執(zhí)行循環(huán)體;當(dāng)條件不成立時,跳出循環(huán)結(jié)構(gòu),我們常常把當(dāng)型循環(huán)結(jié)構(gòu)還稱為“前測試型”循環(huán).區(qū)別:“當(dāng)型循環(huán)”結(jié)構(gòu)中的循環(huán)條件時維持循環(huán)的;“直到型循環(huán)”結(jié)構(gòu)中的循環(huán)條件時終止循環(huán)的.聯(lián)系:兩個循環(huán)形式不同但功能和作用相同,一般情況下可以相互轉(zhuǎn)化.例:寫出計算的算法及程序框

8、圖(分別用直到型循環(huán)和當(dāng)型循環(huán))(全解P15)解:第一步:設(shè)i的值為1; 第二步:設(shè)sum的值為0; 第三步:如果i100執(zhí)行第四步,否則轉(zhuǎn)去執(zhí)行第七步; 第四步:計算sumi并將結(jié)果代替sum; 第五步:計算i1并將結(jié)果代替i; 第六步:轉(zhuǎn)去執(zhí)行第三步; 第七步:輸出sum的值并結(jié)束算法.循環(huán)結(jié)構(gòu)的應(yīng)用:(1) 確定循環(huán)變量和初始條件;(2) 確定算法中反復(fù)執(zhí)行的部分,即循環(huán)體;(3) 確定循環(huán)的條件;(4) 注意不要出現(xiàn)“死循環(huán)”.二、基本算法語句1、輸入語句2、輸出語句3、賦值語句4、條件語句IF-THEN-ELSE格式IF-THEN格式5、循環(huán)語句(1)WHILE語句(2)UNTIL語

9、句三、算法案例1任何一種程序設(shè)計語言都包含五種基本的算法語句,它們是輸入語句 , 輸出語句, 賦值語句,條件語句,循環(huán)語句2.輸入語句的一般格式是;   輸出語句的一般格式是; 賦值語句的一般格式是;   條件語句的一般格式是 或 ; 循環(huán)語句的一般格式是 和 .輸入語句、 輸出語句、 賦值語句基本對應(yīng)于程序框圖中的順序結(jié)構(gòu);條件語句、循環(huán)語句分別用來表達(dá)程序框圖中的條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu).3.常用符號運算符號:加_+_,減-_,乘*_,除/_,乘方ab,整數(shù)取商,求余數(shù)MOD.邏輯符號:且AND,或OR,大于>,等于=,小于<,大于等

10、于>=,小于等于<=,不等于<>.常用函數(shù):絕對值A(chǔ)BS,平方根SQR,取整INT.4.算法案例(1)輾轉(zhuǎn)相除法和更相減損術(shù)輾轉(zhuǎn)相除法和更相減損術(shù)都是求兩個正整數(shù)的最大公約數(shù)的方法.(1)輾轉(zhuǎn)相除法就是對于給定的兩個正整數(shù),用大數(shù)除以小數(shù),若余數(shù)不為0,則將小數(shù)和余數(shù)構(gòu)成新的一對數(shù),繼續(xù)上面的除法,反復(fù)執(zhí)行此步驟,直到大數(shù)被小數(shù)除盡,則這時較小的數(shù)就是原來兩個數(shù)的最大公約數(shù).(2)更相減損術(shù)就是對于給定的兩個正整數(shù),若它們都是偶數(shù),則將它們反復(fù)除以2(假設(shè)進(jìn)行了k次),直到它們至少有一個不是偶數(shù)后,將大數(shù)減小數(shù),然后將差和較小的數(shù)構(gòu)成一對新數(shù),繼續(xù)上面的減法,反復(fù)執(zhí)行此

11、步驟,直到差和較小的數(shù)相等,此時相等的數(shù)再乘以原來約簡的即為所求兩數(shù)的最大公約數(shù).(2)秦九韶算法秦九韶算法是求多項式值的優(yōu)秀算法.設(shè),改寫為如下形式:設(shè)這樣求n次多項式的值就轉(zhuǎn)化為求n個一次多項式的值.當(dāng)多項式中有些項不存在時,可將這幾項看做,補齊后再利用秦九韶算法進(jìn)行計算.對于一個n次多項式,只需做n次乘法和n次加法運算即可.(3)進(jìn)位制K進(jìn)制數(shù)的基數(shù)為k,k進(jìn)制數(shù)是由之間的數(shù)字構(gòu)成的.將十進(jìn)制的數(shù)轉(zhuǎn)化為k進(jìn)制數(shù)的方法是除k取余法.一、典例精析例1寫出用循環(huán)語句描述求的值的算法程序.例2、某市對排污水進(jìn)行綜合治理,征收污水處理費,系統(tǒng)對各廠一個月內(nèi)排出的污水量噸收取的污水處理費元,運行程序

12、如下所示:請寫出y與m的函數(shù)關(guān)系,并求排放污水150噸的污水處理費用.例3 求三個數(shù)72,120,168的最大公約數(shù).變式:試寫出求正整數(shù)的最小公倍數(shù)的算法程序.解:例4.用秦九韶算法求多項式在時的值.例5.完成下列進(jìn)制的轉(zhuǎn)化變式訓(xùn)練:下面是把二進(jìn)制數(shù)化為十進(jìn)制數(shù)的一個程序框圖,判斷框內(nèi)應(yīng)填入的條件是     ( )二、習(xí)題精練(一)基本概念1.下列關(guān)于算法的說法正確的是()某算法可以無止境地運算下去一個問題的算法步驟可以是可逆的完成一件事情的算法有且只有一種設(shè)計算法要本著簡單、方便、可操作的原則2任何一個算法都離不開的基本結(jié)構(gòu)為()

13、邏輯結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)3下列圖形符號表示判斷框的是()ACD4能夠使算法的程序和步驟表達(dá)更為直觀的是()自然語言流程圖數(shù)學(xué)語言邏輯語言5下面的四種敘述不能稱為算法的是( )廣播的廣播操圖解歌曲的歌譜做飯用米做米飯需要刷鍋、淘米、添水、加熱這些步驟6在流程圖中,算法要處理數(shù)據(jù)或計算,可分別寫在不同的()處理框內(nèi) 判斷框內(nèi)輸入、輸出框內(nèi)循環(huán)框內(nèi)(二)順序結(jié)構(gòu)及其應(yīng)用1.早上從起床到出門需要洗臉?biāo)⒀溃? min)、刷水壺(2 min)、燒水(8 min)、泡面(3 min)、吃飯(10 min)、聽廣播(8 min)幾個步驟.從下列選項中選最好的一種算法()A.S1洗臉?biāo)⒀馈2刷水壺、S

14、3燒水、S4泡面、S5吃飯、S6聽廣播B.S1刷水壺、S2燒水同時洗臉?biāo)⒀?、S3泡面、S4吃飯、S5聽廣播C. S1刷水壺、S2燒水同時洗臉?biāo)⒀?、S3泡面、S4吃飯同時聽廣播D.S1吃飯同時聽廣播、S2泡面、S3燒水同時洗臉?biāo)⒀?、S4刷水壺2. 寫出求方程,()的算法步驟 , , 3. 將兩個數(shù)a=8,b=17交換,使a=17,b=8,下面語句正確一組是 ( )c=bb=aa=ca=cc=bb=ab=aa=ba=bb=a A. B. C. D. 4.右邊流程圖表示算法,輸出的5. “雞兔同籠”是我國隋朝時期的數(shù)學(xué)著作孫子算經(jīng)中的一個有趣而具有深遠(yuǎn)影響的題目:“今有雉兔同籠,上有三十五頭,下有九

15、十四足.問雉兔各幾何.”用方程組的思想不難解決這一問題,請你設(shè)計一個這類問題的通用算法.(三)條件結(jié)構(gòu)及其應(yīng)用1.給出以下四個問題,輸入一個數(shù)x,輸出它的相反數(shù).求面積為6的正方形的周長.求三個數(shù)a,b,c中的最大數(shù).求函數(shù)的函數(shù)值. 其中不需要用條件語句來描述其算法的有 ( )A. 1個 B. 2個 C. 3個 D. 4個2.圖中所示的算法的功能是_(求兩個數(shù)中的最大數(shù))3.根據(jù)題意,完成流程圖填空:輸入兩個數(shù),輸出這兩個數(shù)差的絕對值.三、課后作業(yè)1.(2009浙江卷理)某程序框圖如圖所示,該程序運行后輸出的的 值是( )A B C D (第一題) (第二題)2、(2009遼寧卷文)某店一個

16、月的收入和支出總共記錄了 N個數(shù)據(jù) ,。,其中收入記為正數(shù),支出記為負(fù)數(shù)。該店用右邊的程序框圖計算月總收入S和月凈盈利V,那么在圖中空白的判斷框和處理框中,應(yīng)分別填入 ( )下列四個選項中的A.A0,VST B. A0,VSTC. A0, VSTD.A0, VST 3、(2009天津卷理)閱讀上(右)圖的程序框圖,則輸出的S= ( ) A 26 B 35 C 40 D 57、(2009年廣東卷文)某籃球隊6名主力隊員在最近三場比賽中投進(jìn)的三分球個數(shù)如下表所示: 隊員i123456三分球個數(shù)下圖(右)是統(tǒng)計該6名隊員在最近三場比賽中投進(jìn)的三分球總數(shù)的程序框圖,則圖中判斷框應(yīng)填 ,輸出的s= (注:框圖中的賦值符號“=”也可以寫成“”或“:=”)(第四題) (第五題)5、(2009廣東卷理)隨機抽取某產(chǎn)品件,測得其長度分別為,則圖3所示的程序框圖輸出的 ,表示的樣本的數(shù)字特征是

溫馨提示

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

評論

0/150

提交評論