分支結(jié)構(gòu)的算法設(shè)計(jì)課件_第1頁
分支結(jié)構(gòu)的算法設(shè)計(jì)課件_第2頁
分支結(jié)構(gòu)的算法設(shè)計(jì)課件_第3頁
分支結(jié)構(gòu)的算法設(shè)計(jì)課件_第4頁
分支結(jié)構(gòu)的算法設(shè)計(jì)課件_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

算法和程序設(shè)計(jì)第4課分支結(jié)構(gòu)的算法設(shè)計(jì)?輸入a開始輸入bsuma+b輸出sum結(jié)束輸入a輸入bSuma+b輸出sum用流程圖表示用偽代碼表示用流程圖和偽代碼描述輸入兩個(gè)數(shù)輸出它們的和的算法算法的執(zhí)行流程順序模式:Step1Step2如:輸入一個(gè)數(shù),輸出這個(gè)數(shù)的平方輸入n輸出n2用偽代碼表示輸入n輸出n2或:輸入nan2輸出a輸出a輸出b結(jié)束開始YN輸入兩個(gè)不同的數(shù)a,b2、用流程圖來描述算法例求兩不等數(shù)中大者的算法1、用自然語言描述算法:2、若a>b條件成立3、輸出a的值,跳到54、否則(a<b)

輸出b的值1、輸入兩個(gè)不同的數(shù)a,b算法開始5、退出a>b選擇模式:(分為單分支與雙分支兩種)用偽代碼表示if(條件)thenA框elseB框Endif雙分支:單分支:用偽代碼表示if(條件)thenA框Endif出門帶傘問題:如果下雨,帶傘后出門,否則直接出門。相對于單分支結(jié)構(gòu),在VB6.0中有2種相應(yīng)的語句格式:格式1:If條件Then語句格式2:If條件Then語句組

EndIf細(xì)心的同學(xué)可能已經(jīng)發(fā)現(xiàn),這2種單分支語句格式不僅從占用的行數(shù)上看是不一樣的,另外還有一個(gè)重要的區(qū)別在于,格式1的關(guān)鍵字Then后面只能寫一條操作語句,格式2的關(guān)鍵字Then下面能夠?qū)懚鄺l操作語句(即語句組)。但是,格式1中可以省略“EndIf”行,而格式2中卻必須寫上該行,否則VB6.0系統(tǒng)會提示用戶語法出錯(cuò)。

選擇模式:條件step1ynstep2If(條件)thenstep1elsestep2Endif雙分支選擇:單分支選擇:條件step1ynstep3step2If(條件)thenstep1Endif【練習(xí)1】打印出從鍵盤輸入的兩個(gè)不相等的數(shù)中較大的數(shù)。(雙分支結(jié)構(gòu))

輸入a,bIFa>bTHEN

輸出aELSE

輸出bENDIF算法一算法二:輸入二個(gè)不相等的數(shù)a,b,將最大數(shù)賦值給變量max并輸出。a>bmaxaynmaxb輸出max輸入a、b輸入a,bIfa>bthenmaxaelsemaxbEndif輸出max【練習(xí)2】求分段函數(shù)值

x2x>32x+1x<=3Y=輸入xIFx>3THENy=x*xELSEy=2*x+1ENDIF輸出y【練習(xí)3】輸入一個(gè)數(shù)到變量a,輸出它的絕對值(不用絕對值函數(shù),要求用單分支和雙分支結(jié)構(gòu)分別設(shè)計(jì)算法,并畫出流程圖)【練習(xí)4】輸入兩個(gè)不相等的數(shù)a,b,比較大小,將大數(shù)放在a中,小數(shù)放在b中,然后輸出a,b。(單分支結(jié)構(gòu))

【練習(xí)5】某超市促銷蘋果,購買一斤蘋果,為每斤3元,購買5斤以下每斤原價(jià);超過5斤部分每斤打8折,輸入購買的斤數(shù),輸出應(yīng)付款額。(雙分支結(jié)構(gòu))

【練習(xí)6】求分段函數(shù)值

x>0

0x=0-1x<0Y=用偽代碼描述:輸入xif(x<0)theny=-1elseif(x=0)theny=0

elsey=1endifEndif輸出y多選擇(分支)結(jié)構(gòu)(一)If<條件1>Then

<語句組1>

Elseif<條件2>Then

<語句組2>

Elseif<條件3>Then

<語句組3>

…………

Elseif<條件n>Then

<語句組n>

Else

<語句組n+1>

EndIf多選擇(分支)結(jié)構(gòu)(二)2、選擇語句

SelectCase<表達(dá)式>

Case<值1>

<語句組1>

Case<值2>

<語句組2>

Case<值3>

<語句組3>

…………

Case<值n>

<語句組n>

CaseElse

<語句組n+1>

EndSelect【練習(xí)7】購買地鐵車票:乘1-4站3元/位;5-9站4元/位;9站以上5元/位;輸入人數(shù)person、站數(shù)n,輸出應(yīng)付款pay1、編一程序,從輸入的三個(gè)數(shù)中找出并顯示其中最大者。開始結(jié)束a>bny輸入a,b,ca>c輸出b輸出cynny算法一輸出a輸出cb>c拓展練習(xí)題:輸入三個(gè)不相等的數(shù)a,b,c,將最大數(shù)賦值給變量max并輸出。算法二編一程序,從輸入的三個(gè)數(shù)中找出并顯示其中最大者。開始結(jié)束a>bny輸入a,b,c算法三maxamaxbmaxcynC>max輸出max2、判斷一元二次方程ax2+bx+c=0(其中a≠0)是否有實(shí)數(shù)解的算法框圖。(有,則輸出“有實(shí)解”;無,則輸出“無實(shí)解”)root.exeVB常用函數(shù)系統(tǒng)內(nèi)部標(biāo)準(zhǔn)函數(shù)取整:Int(x)求余數(shù):aModb求平方根:Sqr(x)絕對值:Abs(x)四舍五入:Round(x,n)其它...用偽代碼表示輸入a,b,cd=b*b-4*a*cIf(d<0)Then

輸出"無實(shí)根“"ElseIf(d=0)Then

輸出"x1=x2=";-b/2/aElsed=Sqr(d)

輸出"x1=";(-b+d)/2/a

輸出"x2=";(-b-d)/2/aEndIfEndIf3、設(shè)計(jì)一個(gè)一元二次方程求解的通用算法開始d<0輸入

a,b,cdb2-4ac輸出“無實(shí)根”d=0輸出–b/2/a輸出(-b+d)/2/a,(-b-d)/2/a結(jié)束yynn用流程圖來描述dsqr(d)4、某手機(jī)話費(fèi)套餐規(guī)定:每月60元,可通話300分鐘,超過300分鐘的部分,另按每分鐘0.4元計(jì)算。鍵盤輸入當(dāng)月通話時(shí)間(分鐘),計(jì)算當(dāng)月實(shí)際需付的手機(jī)費(fèi)。如果輸入的通話時(shí)間小于0,則應(yīng)輸出“輸入數(shù)據(jù)有誤”的提示信息。

例5:判斷一個(gè)一元二次方程是否有實(shí)數(shù)解的算法。5.exePrivateSubForm_Click()

DimaAsInteger,bAsInteger,cAsInteger,dAsInteger

a=InputBox("a="):b=InputBox("b="):c=InputBox(“c=")d=b*b-4*a*cIf(d>=0)ThenPrint“有實(shí)數(shù)解"Else

Print“無實(shí)數(shù)解"

EndIfEndSub超市打折器的算法

某超市為了提高經(jīng)濟(jì)效率、優(yōu)惠顧客,展開購物打折活動(dòng),活動(dòng)規(guī)則如下:

1、購物金額大于等于500元,打8折;

2、購物金額大于等于300元,小于500元,打9

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論