




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VisualBasic程序設(shè)計(jì)目錄前言第1講第2講第3講第4講第5講第6講第7講第8講第9講第10講第11講第12講第13講第14講第15講第16講回顧上一講學(xué)習(xí)的內(nèi)容多分支選擇結(jié)構(gòu)及使用注意事項(xiàng)If……Elseif……Else……EndifSelectcase……case……EndselectFor循環(huán)結(jié)構(gòu)練習(xí)題執(zhí)行下面程序后,問(wèn)循環(huán)次數(shù)和s的值。S=5Fori=2.6to4.9step0.6S=s+1Nexti第五章基本的控制結(jié)構(gòu)
(5學(xué)時(shí))5.1
順序結(jié)構(gòu)5.2
選擇結(jié)構(gòu)5.3
循環(huán)結(jié)構(gòu)5.4
其它輔助控制語(yǔ)句5.5常見(jiàn)錯(cuò)誤(順序、條件、循環(huán))判斷條件進(jìn)行循環(huán)While循環(huán) While<條件>
<循環(huán)體> wendDo循環(huán)例:設(shè)s=1×2×3×……×n,求s不大于4000時(shí)的最大的n。Do循環(huán)控制結(jié)構(gòu)Do……loop循環(huán):對(duì)于事先不知道循環(huán)次數(shù)的操作,使用Do循環(huán)方便有效。語(yǔ)法格式有四種:⑴Dowhile……loop語(yǔ)句dowhile<條件表達(dá)式><循環(huán)體>[exitdo]<循環(huán)體>loop條件循環(huán)體TFExitDo循環(huán)體⑵Dountil……loop語(yǔ)句
dountil<條件表達(dá)式><循環(huán)體>[exitdo]<循環(huán)體>loop當(dāng)條件為假時(shí),執(zhí)行循環(huán)體,為真,退出循環(huán)體。循環(huán)體最少執(zhí)行0次Do循環(huán)控制結(jié)構(gòu)條件循環(huán)體FTExitDo循環(huán)體⑶Do……loopwhile語(yǔ)句
do <循環(huán)體> [exitdo] <循環(huán)體>loopwhile<條件表達(dá)式>當(dāng)條件為真時(shí),繼續(xù)執(zhí)行循環(huán)體,為假,退出循環(huán)體。循環(huán)體至少執(zhí)行一次循環(huán)體條件TFExitDo循環(huán)體Do循環(huán)控制結(jié)構(gòu)⑷Do……loopuntil語(yǔ)句
do<循環(huán)體>[exitdo]<循環(huán)體>loopuntil<條件表達(dá)式>當(dāng)條件為假時(shí),繼續(xù)執(zhí)行循環(huán)體,為真,退出循環(huán)體。循環(huán)體至少執(zhí)行一次循環(huán)體條件FTExitDo循環(huán)體Do循環(huán)控制結(jié)構(gòu)例題:輸出1~20之間能被3整除的
所有整數(shù)及它們的和用For……Next循環(huán)實(shí)現(xiàn)用DoWhile……Loop循環(huán)實(shí)現(xiàn)用Do……LoopWhile循環(huán)實(shí)現(xiàn)用DoUntil……Loop循環(huán)實(shí)現(xiàn)多重循環(huán)把循環(huán)體內(nèi)不含有循環(huán)語(yǔ)句的循環(huán)叫單層循環(huán),把循環(huán)體內(nèi)又含有循環(huán)語(yǔ)句的循環(huán)叫多重循環(huán)(多層循環(huán)或嵌套循環(huán))在使用多重循環(huán)時(shí),要注意循環(huán)的完整性,一個(gè)循環(huán)必須完全包含在另一個(gè)循環(huán)的內(nèi)部,不能出現(xiàn)交叉現(xiàn)象。ExitforDoUntil<條件>LoopDowhile<條件>LoopNextForExitDoDowhile<條件>LoopDowhile<條件>LoopLoopDowhile<條件>例:求m=14,n=6
的最大公約數(shù)Ifm<nThent=mm=nn=tendifr=mmodnDoWhile(r<>0)
m=nn=rr=mmodnLoopPrint"最大公約數(shù)=",n
例7:用輾轉(zhuǎn)相除法求兩自然數(shù)m,n的最大公約數(shù)和最小公倍數(shù)求最大公約數(shù)的算法:⑴對(duì)于已知兩數(shù)m、n,使得m>n;⑵m除以n得余數(shù)r;⑶若r=0,則n為最大公約數(shù);否則執(zhí)行⑷;⑷m←n,n←r,再重復(fù)執(zhí)行⑵mnr1462
620m=m-nm>nn=n-mn>mm、n為公約數(shù)m=nDoWhilem<>nIfm>nThenm=m-nElsen=n-mEndIfLoopmn146
8626
2422輾轉(zhuǎn)相減法求最大公約數(shù)的算法:對(duì)于已知兩數(shù)m、n:⑴如果m>n則(m-n)→m,如果n>m則(n-m)→n;⑵m≠n,重復(fù)執(zhí)行⑴;若m=n,則m、n為最大公約數(shù)輾轉(zhuǎn)相減
Fori=1To9Forj=1To9se=i&"×"&j&"="&i*jPicture1.PrintTab((j-1)*9+1);se;NextjPicture1.PrintNexti思考:打印左下三角或右上三角,程序如何改動(dòng)?例8打印九九乘法表Forj=1ToiForj=iTo91.在選擇結(jié)構(gòu)中缺少配對(duì)的結(jié)束語(yǔ)句對(duì)多行式的If塊語(yǔ)句,應(yīng)有相應(yīng)的EndIf語(yǔ)句結(jié)束。2.多項(xiàng)選擇ElseIf關(guān)鍵字的書(shū)寫(xiě)和多個(gè)條件表達(dá)式的次序問(wèn)題,見(jiàn)例
ElseIf
不要寫(xiě)成ElseIf
3.SelectCase語(yǔ)句的使用
SelectCase后不能出現(xiàn)多個(gè)變量;Case子句后不能出現(xiàn)變量和邏輯表達(dá)式。見(jiàn)例選擇結(jié)構(gòu)應(yīng)用中的常見(jiàn)錯(cuò)誤1.不循環(huán)或死循環(huán)的問(wèn)題
主要是循環(huán)條件、循環(huán)初值、循環(huán)終值、循環(huán)步長(zhǎng)的設(shè)置有問(wèn)題。2.循環(huán)結(jié)構(gòu)中缺少配對(duì)的結(jié)束語(yǔ)句
For缺少配對(duì)的Next3.循環(huán)嵌套時(shí),內(nèi)外循環(huán)交叉4.累加、連乘時(shí),存放累加、連乘結(jié)果的變量賦初值問(wèn)題
⑴在一重循環(huán)中,存放累加、連乘結(jié)果的變量賦初值應(yīng)在循環(huán)語(yǔ)句前。⑵多重循環(huán)這要視具體問(wèn)題分別對(duì)待。循環(huán)應(yīng)用中的常見(jiàn)錯(cuò)誤四.其他輔助控制語(yǔ)句1.GoTo語(yǔ)句形式:GoTo{標(biāo)號(hào)|行號(hào)}作用:無(wú)條件地轉(zhuǎn)移到標(biāo)號(hào)或行號(hào)指定的那行語(yǔ)句。
標(biāo)號(hào)是一個(gè)字符序列,行號(hào)是一個(gè)數(shù)字序列。2.Exit語(yǔ)句ExitFor、ExitDo、ExitSub、ExitFunction等。作用:退出某種控制結(jié)構(gòu)的執(zhí)行。3.End語(yǔ)句多種形式:End、EndIf、EndSelect、EndWith、EndType、EndFunction、EndSub
等。作用:End結(jié)束一個(gè)程序的運(yùn)行;其余表示某個(gè)結(jié)構(gòu)的結(jié)束,與對(duì)應(yīng)的結(jié)構(gòu)語(yǔ)句配對(duì)出現(xiàn)。語(yǔ)句形式如下:
With
對(duì)象
語(yǔ)句塊
EndWith作用:對(duì)某個(gè)對(duì)象執(zhí)行一系列的操作,而不用重復(fù)指出對(duì)象的名稱。Label1.Height=2000Label1.Width=2000Label1.FontSize=22Label1.Caption="ThisisMyLabel"等價(jià)4.With語(yǔ)句WithLabel1.Height=2000.Width=2000.FontSize=22.Caption="ThisisMyLabel"EndWith屬性前的圓點(diǎn)不能省略五、常用算法(一)算法:是對(duì)某個(gè)問(wèn)題求解過(guò)程的描述。1.累加、連乘例:1~100的5或7的倍數(shù)的和
Sum=0Fori=1To100IfiMod5=0OriMod7=0Then
Sum=Sum+iEndIfNextiPrintSum例:3~10的乘積
t=1Fori=3To10
t=t*iNextiPrintt思考:若把循環(huán)體前面置各變量初值的語(yǔ)句放在循環(huán)體內(nèi),程序運(yùn)行時(shí)會(huì)產(chǎn)生什么情況?該例題涉及兩個(gè)問(wèn)題:⑴用循環(huán)結(jié)構(gòu)求級(jí)數(shù)和的問(wèn)題。本例根據(jù)某項(xiàng)值的精度來(lái)控制循環(huán)的結(jié)束與否。⑵累加:e=e+t循環(huán)體外對(duì)累加和的變量清零e=0
連乘:n=n*i循環(huán)體外對(duì)連乘積變量置1n=1例4.14
求自然對(duì)數(shù)e的近似值要求:誤差小于0.00001,近似公式為:PrivateSubForm_Click()Dimi%,n&,t!,e!e=0:n=1‘
e存放累加和、n存放階乘
i=0:t=1‘i計(jì)數(shù)器、t第i項(xiàng)的值
DoWhilet>0.00001e=e+t:i=i+1
‘
累加、連乘
n=n*i:t=1/nLoopPrint"計(jì)算了";i;"項(xiàng)的和是";eEndSub例4.14
程序代碼要求:誤差小于0.00001判別某數(shù)m是否為素?cái)?shù)最簡(jiǎn)單的方法是:
對(duì)于m
從i=2,3,…,m-1判別m能否被i整除,只要有一個(gè)能整除,m不是素?cái)?shù),否則m是素?cái)?shù)。求100以內(nèi)的素?cái)?shù)
Form=2To100
Fori=2Tom-1
If(mModi)=0ThenGoTo
NotNextMNextiPrintm
NotNextM:Nextmm是否為素?cái)?shù)求100以內(nèi)的素?cái)?shù)思考:此例用GoTo語(yǔ)句對(duì)非素?cái)?shù)不再判斷,若不用GoTo語(yǔ)句,如何修改程序?見(jiàn)例4.152.求素?cái)?shù)3.窮舉法“窮舉法”也稱為“枚舉法”或“試湊法”。即將可能出現(xiàn)的各種情況一一測(cè)試,判斷是否滿足條件,一般采用循環(huán)來(lái)實(shí)現(xiàn)。
例4.16:百元買(mǎi)百雞問(wèn)題。假定小雞每只5角,公雞每只2元,母雞每只3元?,F(xiàn)在有100元錢(qián)要求買(mǎi)100只雞,編程列出所有可能的購(gòu)雞方案。設(shè)母雞、公雞、小雞各為x、y、z只,根據(jù)題目要求,列出方程為:
x+y+z=100
3x+2y+0.5z=100三個(gè)未知數(shù),兩個(gè)方程,此題有若干個(gè)解。采用“窮舉法”,把每一種情況都考慮到。方法一:最簡(jiǎn)單三個(gè)未知數(shù)利用三重循環(huán)來(lái)實(shí)現(xiàn)。方法二:從三個(gè)未知數(shù)的關(guān)系,利用兩重循環(huán)來(lái)實(shí)現(xiàn)。4.遞推法“遞推法”又稱為“迭代法”,其基本思想是把一個(gè)復(fù)雜的計(jì)算過(guò)程轉(zhuǎn)化為簡(jiǎn)單過(guò)程的多次重復(fù)。每次重復(fù)都從舊值的基礎(chǔ)上遞推出新值,并由新值代替舊值。例4.17
猴子吃桃子。小猴在一天摘了若干個(gè)桃子,當(dāng)天吃掉一半多一個(gè);第二天接著吃了剩下的桃子的一半多一個(gè);以后每天都吃尚存桃子的一半零一個(gè),到第7天早上要吃時(shí)只剩下一個(gè)了,問(wèn)小猴那天共摘下了多少個(gè)桃子?例4.17
分析這是一個(gè)“遞推”問(wèn)題,先從最后一天推出倒數(shù)第二天的桃子,再?gòu)牡箶?shù)第二天的桃子推出倒數(shù)第三天的桃子……。設(shè)第n天的桃子為Xn,那么它是前一天的桃子數(shù)。例:隨機(jī)產(chǎn)生10個(gè)100~200之間的數(shù),求最大值。PrivateSubCommand1_Click()
Max=100Fori=1To10x=Int(Rnd*101+100)Printx;
Ifx>MaxThenMax=xNextiPrintPrint"最大值=";MaxEndSub5.最小、最大值在若干個(gè)數(shù)中求最大值,一般先假設(shè)一個(gè)較小的數(shù)為最大值的初值,若無(wú)法估計(jì)較小的值,則取第一個(gè)數(shù)為最大值的初值;然后將每一個(gè)數(shù)與最大值比較,若該數(shù)大于最大值,將該數(shù)替換為最大值;依次逐一比較。例4.18實(shí)際應(yīng)用,求最短殘料。有一根長(zhǎng)度為321米的鋼材料,要將它截取成兩種規(guī)格a、b的長(zhǎng)度分別為17米和27米的短料,每種至少1段,問(wèn)分隔成a,b各多少段后,剩余的殘料r最少?分析,該題利用“試
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 統(tǒng)編版語(yǔ)文六年級(jí)下冊(cè)習(xí)作《寫(xiě)作品梗概》精美課件
- 牛飼養(yǎng)與飼料配方優(yōu)化考核試卷
- 那首歌初三語(yǔ)文作文
- 碳排放核查法律問(wèn)題考核試卷
- 亞麻籽種植園災(zāi)害預(yù)防與應(yīng)對(duì)措施考核試卷
- 介紹一種蔬菜初二語(yǔ)文作文
- 牧業(yè)機(jī)械化飼料作物種植與收獲考核試卷
- 生物質(zhì)資源調(diào)查與評(píng)價(jià)方法研究考核試卷
- 生物細(xì)胞工程與生物醫(yī)藥考核試卷
- 真空電子器件的納米加工技術(shù)與應(yīng)用考核試卷
- 醫(yī)療廢物管理PPT演示課件
- 海康監(jiān)控陣列不可用數(shù)據(jù)不保留處理
- 卓越密碼:如何成為專家
- 卒中管理及中心建設(shè)
- 合肥經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)公開(kāi)招聘村(居)社區(qū)工作者模擬備考預(yù)測(cè)(共1000題含答案解析)綜合試卷
- 【員工關(guān)系管理研究國(guó)內(nèi)外文獻(xiàn)綜述2800字】
- 外派勞務(wù)人員基本情況表(勞工表)
- 部編版 八年級(jí)下冊(cè)語(yǔ)文 第五單元復(fù)習(xí)課件
- 六年級(jí)語(yǔ)文下冊(cè)閱讀及參考答案(12篇)
- ERP實(shí)施方法(實(shí)施顧問(wèn)的基本功)
- 個(gè)人教師述職報(bào)告PPT模板下載
評(píng)論
0/150
提交評(píng)論