VB程序設(shè)計(jì)-第4章VisualBasic語(yǔ)言程序結(jié)構(gòu).ppt
《VB程序設(shè)計(jì)-第4章VisualBasic語(yǔ)言程序結(jié)構(gòu).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《VB程序設(shè)計(jì)-第4章VisualBasic語(yǔ)言程序結(jié)構(gòu).ppt(49頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
VB程序設(shè)計(jì),第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),本章知識(shí)點(diǎn):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),常用算法的應(yīng)用等。,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.1順序結(jié)構(gòu)程序設(shè)計(jì)4.2選擇結(jié)構(gòu)程序設(shè)計(jì)4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)4.4常用算法舉例,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.1順序結(jié)構(gòu)程序設(shè)計(jì)4.1.1賦值語(yǔ)句賦值語(yǔ)句一般形式如下:變量名=表達(dá)式對(duì)象.屬性=表達(dá)式功能:完成表達(dá)式的計(jì)算,將計(jì)算結(jié)果賦值給等號(hào)左側(cè)的變量或?qū)ο蟮膶傩浴@纾簒=1把1賦給變量xText1.text=hello!把字符串hello!賦給文本框Text1的text屬性,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.1順序結(jié)構(gòu)程序設(shè)計(jì)4.1.2數(shù)據(jù)輸入用戶主要通過(guò)三種方式實(shí)現(xiàn)數(shù)據(jù)輸入:使用文本框控件,使用系統(tǒng)提供的InputBox函數(shù),使用磁盤數(shù)據(jù)文件。本節(jié)主要介紹InputBox函數(shù)。函數(shù)格式如下:變量名$=InputBox(提示信息,對(duì)話框標(biāo)題,缺省值)功能:彈出輸入對(duì)話框,供用戶輸入一個(gè)數(shù)據(jù)。其中:提示信息:是一個(gè)字符串表達(dá)式,最大長(zhǎng)度不超過(guò)1024個(gè)字符,要來(lái)提示用戶輸入相關(guān)內(nèi)容,可使用chr(13)+chr(10)實(shí)現(xiàn)換行。對(duì)話框標(biāo)題:是字符串表達(dá)式,可省略,默認(rèn)為應(yīng)用程序名。缺省值:是顯示在對(duì)話框輸入?yún)^(qū)的默認(rèn)值。,例如,Dimx%x=Val(InputBox(請(qǐng)輸入一個(gè)數(shù),輸入框,100)在屏幕上顯示如圖4.2所示的對(duì)話框:,圖4.2InputBox對(duì)話框,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.1順序結(jié)構(gòu)程序設(shè)計(jì)4.1.3數(shù)據(jù)輸出1)Print方法Print方法的一般格式如下:對(duì)象名.PrintSpc(n)|Tab(n),|;例如:PrintFormat(1234.5,00000.00)PrintFormat(3.14159,#.#)PrintFormat(3.14159,#%)PrintFormat(3.14159,$(#.#)PrintFormat(12345.6,#.#E+)PrintFormat(0.123,#.#e-)PrintFormat(date,mm-dd-yy)PrintFormat(date,yy年mm月dd),圖43例4.2執(zhí)行結(jié)果,2.MsgBox函數(shù)和MsgBox方法函數(shù)形式:變量%=MsgBox(提示信息,對(duì)話框類型,標(biāo)題)(1)“標(biāo)題”和“提示信息”與InputBox函數(shù)中對(duì)應(yīng)的參數(shù)相同;(2)對(duì)話框類型由“按鈕圖標(biāo)+缺省按鈕+模式”4項(xiàng)組成,是整型表達(dá)式,決定信息框按鈕數(shù)目、出現(xiàn)在信息框上的圖標(biāo)類型及操作模式如表4.1所示。,表4.1,例如:i=Msgbox(“注意:你輸入的數(shù)據(jù)不正確”,2+48+0+0,“錯(cuò)誤提示”),結(jié)果如圖4.4所示。,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.2選擇結(jié)構(gòu)程序設(shè)計(jì)4.2.1IF語(yǔ)句1)IfThen語(yǔ)句(單分支結(jié)構(gòu))IfThen語(yǔ)句塊EndIf或:IfThen,圖4.5選擇結(jié)構(gòu)流程圖,例4.4設(shè)密碼。用IF語(yǔ)句來(lái)判定輸入密碼的正確性。PrivateSubCommand1_Click()DimaAsString,bAsStringa=111111b=InputBox(請(qǐng)輸入密碼:,密碼對(duì)話框)Ifa=bThenMsgBox(密碼正確)EndIfEndSub,2)IfThenElse語(yǔ)句(雙分支結(jié)構(gòu))格式1:IfThenElseEndIf格式2:IfThenElse,例4.5計(jì)算下列分段函數(shù)的值分析:對(duì)于此分段函數(shù),由于包含X=0和X=0Theny=(1-x)2Elsey=x2-1EndIfPrinty=;yEndSub,3)IfThenElseIf語(yǔ)句(多分支結(jié)構(gòu))使用形式:IfThenElseIfThenElse語(yǔ)句塊n+1EndIf,例4.6輸入一學(xué)生成績(jī),評(píng)定其等級(jí)。方法是:90100分為“優(yōu)秀”,8089分為“良好”,7079分為“中等”,6069分為“及格”,60分以下以為“不合格”。PrivateSubForm_Click()DimxAsIntegerx=Val(InputBox(請(qǐng)輸入成績(jī):)Ifx=90ThenPrint優(yōu)秀ElseIfx=80ThenPrint良好ElseIfx=70ThenPrint中等ElseIfx=60ThenPrint及格ElsePrint不及格EndIfEndSub,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.2選擇結(jié)構(gòu)程序設(shè)計(jì)4.2.2SelectCase語(yǔ)句SelectCase條件表達(dá)式Case表達(dá)式列表1語(yǔ)句塊1Case表達(dá)式列表2語(yǔ)句塊2CaseElse語(yǔ)句塊n+1EndSelect說(shuō)明:與是同類型的,為下面3種形式之一:(1)一組枚舉表達(dá)式(用逗號(hào)分隔):例如,2,4,6,8。(2)表達(dá)式1To表達(dá)式2:例如,60to100。(3)Is關(guān)系運(yùn)算符表達(dá)式:例如,Is=0,x,-x)y是x的絕對(duì)值。,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.2選擇結(jié)構(gòu)程序設(shè)計(jì)4.2.4條件函數(shù)2)Choose函數(shù)語(yǔ)法格式:Choose(,.,)功能:根據(jù)的值來(lái)確定返回值列表中某個(gè)值。的值為1,返回,如果的值為2,返回,以此類推。例如:x=Val(InputBox(請(qǐng)輸入1-6之間整數(shù))PrintChoose(x,red,yellow,blue,green,black,white)用數(shù)字表示顏色。,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)4.3.1Doloop循環(huán)1)形式1:(當(dāng)型循環(huán))DoWhile|Until語(yǔ)句塊ExitDo語(yǔ)句塊Loop2)形式2:(直到循環(huán))Do語(yǔ)句塊ExitDo語(yǔ)句塊LoopWhile|Until,例4.8用輾轉(zhuǎn)相除法求兩個(gè)自然數(shù)的最大公約數(shù)(gcd)和最小公倍數(shù)(lcm)。PrivateSubForm_Click()Dimn%,m%,nm%,r%m=Val(InputBox(m=)n=Val(InputBox(n=)nm=n*mIfm0)m=nn=rr=mModnLoopPrint最大公約數(shù)=,nPrint最小公倍數(shù)=,nm/nEndSub,用DoUntilLoop循環(huán)來(lái)實(shí)現(xiàn)例4.8,程序代碼如下:PrivateSubForm_Click()Dimn%,m%,nm%,r%m=Val(InputBox(m=)n=Val(InputBox(n=)nm=n*mIfm0時(shí),初值終值;步長(zhǎng)=0時(shí),死循環(huán),循環(huán)次數(shù)計(jì)算公式為:Exitfor:退出循環(huán),執(zhí)行next后的下一條語(yǔ)句,例4.9編程計(jì)算:S=1+2+3+100PrivateSubForm_Click()DimS%,I%S=0累加前變量S為0ForI=1To100S=S+INextIPrintS=;Format(S,0000)EndSub,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)4.3.3WhileWend循環(huán)使用格式如下:WhileWend說(shuō)明:該語(yǔ)句的功能與DoWhileLoop實(shí)現(xiàn)的循環(huán)完全相同。,例4.11從鍵盤輸入一些字符數(shù)據(jù),對(duì)輸入的字符數(shù)據(jù)進(jìn)行計(jì)數(shù)。當(dāng)輸入的字符為“#”,停止計(jì)數(shù)并輸出結(jié)果。分析:因?yàn)檩斎氪螖?shù)不定,故不使用for循環(huán)。代碼如下:PrivateSubForm_click()DimcAsString,nAsIntegern=0c=InputBox(輸入字符:)WhileNot(c=#)n=n+1c=InputBox(輸入字符:)WendPrint字符數(shù)是:;n;個(gè)EndSub,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)4.3.4ForEachNext循環(huán)語(yǔ)法格式:ForEach成員In數(shù)組語(yǔ)句塊ExitForNext成員具體使用將在“數(shù)組”章節(jié)講解,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)4.3.5循環(huán)嵌套多重循環(huán)結(jié)構(gòu)如果在一個(gè)循環(huán)內(nèi)完整地包含另一個(gè)循環(huán)結(jié)構(gòu),則稱為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱為二重循環(huán),嵌套二層稱為三重循環(huán)。,例4.12打印九九乘法表。程序代碼如下:PrivateSubForm_Click()Dimi%,j%,jj$Fori=1To9Forj=1To9jj=iNextjPicture1.PrintNextiEndSub,例4.13使用循環(huán)語(yǔ)句在窗體上輸出有*組成的簡(jiǎn)單圖形PrivateSubForm_Click()DimnAsInteger,i%,j%Cls清屏n=Val(Text1.Text)輸入組成圖形的行數(shù)Fori=1TonPrintTab(20);Forj=1ToiPrint*;NextjPrintNextiEndSub,圖4.14例4.13運(yùn)行結(jié)果,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)4.3.6循環(huán)的退出語(yǔ)句格式:ExitFor強(qiáng)制退出ForNext循環(huán)ExitDo強(qiáng)制退出DoLoop循環(huán)例4.15用ForNext循環(huán)結(jié)構(gòu)計(jì)算1100之和,當(dāng)和大于等于2000時(shí)終止循環(huán),并輸出實(shí)際循環(huán)的次數(shù)。,PrivateSubCommand1_Click()Dims%,i%s=0累加前變量S為0Fori=1To100s=s+iIfs=2000ThenExitForNextiLabel2.Caption=sLabel4.Caption=iEndSub,圖4.16例4.15運(yùn)行結(jié)果,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)4.3.7幾種循環(huán)語(yǔ)句比較,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.4常用算法舉例4.4.1找最大值、最小值例4.17隨機(jī)產(chǎn)生10個(gè)100-200之間整數(shù),求最大值。程序運(yùn)行結(jié)果如圖4.17所示。分析:先產(chǎn)生一個(gè)隨機(jī)數(shù)假設(shè)這一個(gè)數(shù)是最大數(shù)(變量取名max),然后再產(chǎn)生一個(gè)隨機(jī)數(shù),與max比較,大者存入max,反復(fù)(循環(huán))操作產(chǎn)生隨機(jī)數(shù)、比較,這樣比較完每個(gè)數(shù)后,max中就放的是最大數(shù)了。,PrivateSubForm_Click()DimIAsInteger,xAsInteger,maxAsIntegerRandomize初始化隨機(jī)數(shù)的種子數(shù)x=Int(Rnd*100+100)max=xForI=2To10Printx;x=Int(Rnd*100+100)IfxmaxThenmax=xNextIPrintPrintmax=;maxEndSub,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.4常用算法舉例4.4.2素?cái)?shù)問(wèn)題例4.18求200以內(nèi)的素?cái)?shù)。分析:判定某個(gè)數(shù)是否素?cái)?shù),然后是對(duì)于找某范圍內(nèi)的數(shù)據(jù)的判定,用2重循環(huán)來(lái)實(shí)現(xiàn):內(nèi)循環(huán)是判定某數(shù)是否素?cái)?shù),外循環(huán)一次列舉該范圍內(nèi)的每個(gè)數(shù)。判定素?cái)?shù)方法是:利用素?cái)?shù)定義,從2到n-1之間整數(shù)一次去除n,如果都不能整除,n是素?cái)?shù),反之,有一個(gè)除盡,n就不是素?cái)?shù)。,PrivateSubForm_Click()Dimi%,j%,n%Form1.Caption=求200以內(nèi)的素?cái)?shù)Print2,2是特例輸出n=1記素?cái)?shù)的個(gè)數(shù)Fori=3To200Step2Forj=2Toi-1IfiModj=0ThenExitForEndIfNextjIfj=iThen這個(gè)條件表示i一次也沒(méi)被除盡,是素?cái)?shù)Printi,n=n+1IfnMod5=0ThenPrintEndIfNextiEndSub,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.4常用算法舉例4.4.3窮舉法窮舉方法的實(shí)現(xiàn)主要依賴于以下兩個(gè)基本要點(diǎn):搜尋可能值的范圍如何確定。被搜尋可能值的判定方法。,例4.19“百雞百錢”問(wèn)題?!半u翁一,值錢五,雞母一,值錢三,雞雛三,值錢一;百錢買百雞,問(wèn)雞翁、雞母、雞雛各幾何?”編寫程序,給出結(jié)果。分析:設(shè)x、y、z分別表示雞翁、雞母、雞雛的數(shù)目,根據(jù)題意,100錢最多買雞翁20只、買雞母33只,雞雛數(shù)為100-雞翁數(shù)-雞母數(shù),搜尋值得判定式為:5*x+3*y+(z/3)=100。,程序代碼如下:PrivateSubform_Click()Dimx,y,zAsIntegerForx=1To20Fory=1To33z=100-x-yIf5*x+3*y+(z/3)=100ThenPrint公雞,母雞,小雞的數(shù)目分別為:Printx,y,zEndIfNextyNextxEndSub,第四章VisualBasic語(yǔ)言程序結(jié)構(gòu),4.4常用算法舉例4.4.4迭代法一個(gè)不斷地由變量的舊值按照一定的規(guī)律推出變量的新值的過(guò)程,迭代亦稱為遞推。迭代一般與三個(gè)因素有關(guān),它們是:初始值,迭代公式,迭代結(jié)束條件(迭代次數(shù))。例4.21求菲波拉契(Fibonacci)數(shù)列。已知一對(duì)小兔出生一個(gè)月后變成一對(duì)成兔,兩個(gè)月后這對(duì)成兔就會(huì)生出一對(duì)小兔,三個(gè)月后這對(duì)成兔將生出第二對(duì)小兔,而第一對(duì)小兔又長(zhǎng)大變成一對(duì)成兔,即一月成熟,二月生育,如此類推。請(qǐng)編程求解一對(duì)小兔經(jīng)n月后將繁衍成多少對(duì)兔子?,分析:設(shè)f1、f2和f3表示相鄰的3個(gè)裴波那契數(shù)據(jù)項(xiàng),根據(jù)題意有f1、f2的初始值為1,即迭代的初始條件為:f1=f2=1;迭代的公式為:f3=f1+f2。程序代碼如下:PrivateSubForm_Click()Dimf1,f2,f3,i,nAsIntegerf1=1:f2=1n=Text1.TextFori=3Tonf3=f1+f2f1=f2f2=f3圖4.22例4.22運(yùn)行結(jié)果NextiPrintPrintTab(5);經(jīng)過(guò)f3aFormat(x,#.#)EndSub,本章結(jié)束,謝謝!,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- VB 程序設(shè)計(jì) VisualBasic 語(yǔ)言 程序結(jié)構(gòu)
鏈接地址:http://m.appdesigncorp.com/p-11800072.html