算法與程序框圖的基本結(jié)構(gòu)_第1頁(yè)
算法與程序框圖的基本結(jié)構(gòu)_第2頁(yè)
算法與程序框圖的基本結(jié)構(gòu)_第3頁(yè)
算法與程序框圖的基本結(jié)構(gòu)_第4頁(yè)
算法與程序框圖的基本結(jié)構(gòu)_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

精品文檔-下載后可編輯算法與程序框圖的基本結(jié)構(gòu)算法與程序框圖的三種基本結(jié)構(gòu)的共同點(diǎn):(1)只有一個(gè)入口;(2)只有一個(gè)出口,請(qǐng)注意一個(gè)判斷框有兩個(gè)出口,而一個(gè)條件結(jié)構(gòu)只有一個(gè)出口,不要將判斷框的出口和條件結(jié)構(gòu)的出口混為一談;(3)結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到,也就是說(shuō)每一個(gè)框都應(yīng)該有從入口到出口的路徑通過(guò)它;(4)結(jié)構(gòu)內(nèi)的循環(huán)都不存在死循環(huán).上述共同點(diǎn)是檢查一個(gè)程序框圖或算法是否正確、合理的基本方法.

1.經(jīng)典算法類(lèi)

例1一個(gè)人帶著三只狼和三只羚羊過(guò)河,只有一條船,同船可容納一個(gè)人和兩只動(dòng)物,沒(méi)有人在的時(shí)候,如果狼的數(shù)量不少于羚羊的數(shù)量就會(huì)吃羚羊.該人如何將動(dòng)物轉(zhuǎn)移過(guò)河?請(qǐng)?jiān)O(shè)計(jì)算法.

解析任何動(dòng)物同船不用考慮動(dòng)物的爭(zhēng)斗但需考慮承載的數(shù)量,還應(yīng)考慮到兩岸的動(dòng)物都得保證狼的數(shù)量要小于羚羊的數(shù)量,故在算法的構(gòu)造過(guò)程中盡可能保證船里面有狼,這樣才能使得兩岸的羚羊數(shù)量占到優(yōu)勢(shì),具體算法如下:

第一步,人帶兩只狼過(guò)河,自己返回.

第二步,人帶一只狼過(guò)河,自己返回.

第三步,人帶兩只羚羊過(guò)河,并帶兩只狼返回.

第四步,人帶一只羊過(guò)河,自己返回.

第五步,人帶兩只狼過(guò)河.

點(diǎn)撥算法是解決某一類(lèi)問(wèn)題的精確描述,有些問(wèn)題使用形式化、程序化的刻畫(huà)是最恰當(dāng)?shù)?這就要求我們?cè)趯?xiě)算法時(shí)應(yīng)精練、清晰地表達(dá),要善于分析任何可能出現(xiàn)的情況,體現(xiàn)出思維的嚴(yán)密性和完整性.

2.順序結(jié)構(gòu)類(lèi)

例2畫(huà)出從5個(gè)不同的數(shù)中找出最大數(shù)的算法的程序框圖.

解析記這五個(gè)數(shù)是[a1,a2,a3,a4,a5,]框圖如下.

點(diǎn)撥(1)各步中的[b]可能在每一步中都不變,也可能在每一步中都變,但最后輸出的[b]是這5個(gè)不同的數(shù)中最大的數(shù).(2)設(shè)計(jì)算法的目的是將它作為指令交給計(jì)算機(jī)去完成,當(dāng)解決一類(lèi)問(wèn)題的算法一旦確定,那么它的執(zhí)行順序也就確定了.因而,各步只能一步接一步地執(zhí)行,不能跳躍,也不能交換.

3.條件結(jié)構(gòu)類(lèi)

例3設(shè)計(jì)算法判斷一元二次方程[ax2+bx+][c=0]是否有實(shí)數(shù)根,并畫(huà)出相應(yīng)的程序框圖.

解析算法步驟:

第一步,輸入一元二次方程的系數(shù):[a,b,c].

第二步,計(jì)算[=b2-4ac]的值.

第三步,判斷≥0是否成立.若成立,輸出“方程有實(shí)根”;否則輸出“方程無(wú)實(shí)根”.

結(jié)束算法.

程序框圖:

點(diǎn)撥根據(jù)一元二次方程的意義,需要計(jì)算判別式[=b2-4ac]的值.再分成兩種情況處理:(1)當(dāng)≥0時(shí),一元二次方程有實(shí)數(shù)根;(2)當(dāng)

例4設(shè)計(jì)算法,求[ax+b=0]的解,并畫(huà)出程序框圖.

解析對(duì)于方程[ax+b=0],應(yīng)該分情況討論方程的解.對(duì)一次項(xiàng)系數(shù)[a]和常數(shù)項(xiàng)[b]的取值情況進(jìn)行分類(lèi),分類(lèi)如下:

(1)當(dāng)[a≠0]時(shí),方程有惟一的實(shí)數(shù)解[-ba];

(2)當(dāng)[a=0,b=0]時(shí),方程的解為全體實(shí)數(shù);

(3)當(dāng)[a=0,b≠0]時(shí),方程無(wú)解.

聯(lián)想數(shù)學(xué)中的分類(lèi)討論的處理方式,可得如下算法步驟:

第一步,判斷[a]是否不為零.若成立,輸出結(jié)果“解為[-ba]”.

第二步,判斷[a=0,b=0]是否同時(shí)成立.若成立,輸出結(jié)果“解集為R”.

第三步,判斷[a=0,b≠0]是否同時(shí)成立.若成立,輸出結(jié)果“方程無(wú)解”.

點(diǎn)撥條件結(jié)構(gòu)嵌套與條件結(jié)構(gòu)疊加的區(qū)別是:(1)條件結(jié)構(gòu)疊加,程序執(zhí)行時(shí)需依次對(duì)“條件1”“條件2”“條件3”……進(jìn)行判斷,只有遇到能滿(mǎn)足的條件才執(zhí)行該條件對(duì)應(yīng)的操作.(2)條件結(jié)構(gòu)嵌套所涉及的“條件2”“條件3”……是在前面所有條件依次一個(gè)一個(gè)的滿(mǎn)足“分支條件成立”的情況下才能執(zhí)行此操作,是多個(gè)條件同時(shí)成立的疊加和復(fù)合.

4.循環(huán)結(jié)構(gòu)類(lèi)

例5設(shè)計(jì)一個(gè)算法,求1+2+4+…+249的值,并畫(huà)出程序框圖.

解析算法步驟:

第一步,[sum=0].

第二步,[i=0].

第三步,[sum=sum+2i].

第四步,[i=i+1].

第五步:判斷[i]是否大于49,若成立,則輸出[sum],結(jié)束;否則返回第三步重新執(zhí)行.

程序框圖:

點(diǎn)撥如果算法涉及的運(yùn)算進(jìn)行了多次重復(fù)的操作,且先后參與運(yùn)算的數(shù)之間有相同的規(guī)律,就可引入變量循環(huán)參與運(yùn)算(我們稱(chēng)之為循環(huán)變量),應(yīng)用于循環(huán)結(jié)構(gòu).在循環(huán)結(jié)構(gòu)中,要注意根據(jù)條件設(shè)計(jì)合理的計(jì)數(shù)變量、累加和累乘變量及其個(gè)數(shù)等,特別要求條件的表述要恰當(dāng)、精確.累加變量的初始值一般取0,而累乘變量的初始值一般取1.

1.在畫(huà)程序框圖時(shí),如果一個(gè)框圖要分開(kāi)畫(huà),要在斷開(kāi)處畫(huà)上()

A.流程線(xiàn)B.解釋框

C.判斷框D.連接點(diǎn)

2.下圖給出的是計(jì)算[12+14+16+???+1100]的值的一個(gè)程序框圖,其中判斷框內(nèi)應(yīng)填入的條件是()

A.[i]>100B.[i]

C.[i]>50D.[i]

3.設(shè)[y]為年份,按照歷法的規(guī)定,如果[y]為閏年,那么或者[y]能被4整除不能被100整除,或者[y]能被400整除.對(duì)于給定的年份[y],要確定索是否為閏年,如何設(shè)計(jì)算法,畫(huà)出其流程圖.

4.若有A、B、C三個(gè)不同大小的數(shù)字,你能設(shè)計(jì)一個(gè)算法,找出其中的最大值嗎?試給出解決問(wèn)題的一種算法,并畫(huà)出流程圖.

4.應(yīng)該先兩兩比較,算法和流程圖如下:

[S1]輸入[A,B,C];

[S2

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論