visualbasic程序設(shè)計教案:基本語句_第1頁
visualbasic程序設(shè)計教案:基本語句_第2頁
visualbasic程序設(shè)計教案:基本語句_第3頁
visualbasic程序設(shè)計教案:基本語句_第4頁
visualbasic程序設(shè)計教案:基本語句_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE§3.5基本語句【教學(xué)目標(biāo)】通過運用VB的基本語句編制中小型程序,來培養(yǎng)和訓(xùn)練學(xué)習(xí)者的編程能力?!窘虒W(xué)要求】了解:表達式、函數(shù)的概念。理解:控制程序流程的三種程序結(jié)構(gòu)的程序執(zhí)行過程。掌握:賦值語句、條件語句、循環(huán)語句的使用;兩個交互性函數(shù)的使用方法?!颈竟?jié)重點】兩個交互性函數(shù)的使用方法。條件語句的嵌套。循環(huán)語句的不同使用格式及區(qū)別;循環(huán)嵌套的使用及注意事。一、賦值語句格式:<變量名>=<表達式>功能:先計算表達式的值,然后將表達式的值賦給賦值號左邊的變量。二、與用戶交互的函數(shù)和過程VB與用戶交互可以通過InputBox函數(shù)、MsgBox函數(shù)和MsgBox過程進行。1、InputBox函數(shù)格式:InputBox(提示信息[,標(biāo)題][,缺省][,X坐標(biāo)位置][,Y坐標(biāo)位置])說明:(1)提示信息:不可省略;(2)標(biāo)題:若省略標(biāo)題,系統(tǒng)將自動以應(yīng)用程序名代之;(3)缺?。骸按_省”表示輸入過程中的默認(rèn)值。即若用戶沒有在輸入對話框中輸入任何值,則以該確省值作為輸入的內(nèi)容;X坐標(biāo)位置,Y坐標(biāo)位置用于確定InputBox對話框在計算機屏幕上的位置。注意:①各參數(shù)次序必須一一對應(yīng),若省略某項,也要使用“,”占位。②函數(shù)返回字符型數(shù)據(jù)。③若程序運行時按下“取消”按鈕,則函數(shù)無值。例:在InputBox函數(shù)的使用中設(shè)置輸入的默認(rèn)值為“男”。DimTSAsStringTS=InputBox("請輸入性別",,"男",100,100)2、MsgBox函數(shù)格式:MsgBox(提示[,按鈕][,標(biāo)題])3、MsgBox過程格式:MsgBox提示[,按鈕][,標(biāo)題](1)MsgBox函數(shù)和MsgBox過程中語法格式項說明其中函數(shù)和過程中的“提示信息”不可省略;若省略標(biāo)題,系統(tǒng)將自動以應(yīng)用程序名代之。其中函數(shù)和過程中“按鈕”項的值用VB系統(tǒng)常數(shù)表示,常用的有:0-VbOkOnly(只顯示“確定”按鈕)1-VbOkCancel(顯示“確定”、“取消”按鈕)2-VbAboutRetryIgnore(顯示“終止”、“重試”、“忽略”按鈕)3-VbYesNoCancel(顯示“是”、“否”、“取消”按鈕)4-VbYesNo(顯示“是”、“否”按鈕)5-VbRetryIgnore(顯示“重試”、“忽略”按鈕)(2)MsgBox函數(shù)和MsgBox返回值說明由于MsgBox函數(shù)和MsgBox過程均具有人機交互的功能,因此兩者均有返回值,返回值可以用VB系統(tǒng)常數(shù)及其數(shù)值代碼表示。返回的VB系統(tǒng)常數(shù)及其數(shù)值代碼表如下:1-VbOk(表示用戶按“確定”按鈕)2-VbCancel(表示用戶按“取消”按鈕)3-VbAbout(表示用戶按“終止”按鈕)4-VbRetry(表示用戶按“重試”按鈕)5-VbIgnore(表示用戶按“忽略”按鈕)6-VbYes(表示用戶按“是”按鈕)7-VbNo(表示用戶按“否”按鈕)MsgBox函數(shù)和MsgBox過程是VB中十分重要的對話框,兩者的功能和對話框界面都相同,只是在書寫格式和編制判斷程序時有所區(qū)別。例:編制一個輸入密碼程序。人機界面是一個窗體,命令按鈕Command1表示輸入密碼“確認(rèn)”功能。設(shè)計要求是:設(shè)用戶的操作密碼是:ABCD,當(dāng)用戶三次輸入錯誤,顯示警告信息,并退出程序。PrivateSubCommand1_Click()Dimi,jAsIntegerDimmmAsStringmm=InputBox("請輸入密碼",,,2000,2000)j=1DoWhilej<=2IfUCase(mm)<>"ABCD"Theni=MsgBox("輸入錯誤!是否重新輸入?",VbYesNoCancel,"輸入密碼")Ifi<>6ThenEndElsemm=InputBox("請輸入密碼",,,2000,2000)j=j+1EndIfElseMsgBox"輸入正確"EndEndIfLoopMsgBox"非法操作者!!!",48EndSub三、選擇結(jié)構(gòu)1、If—Then語句(1)形式1:If<條件>Then<語句組>EndIf(2)形式2:If<條件>Then<語句>說明:If—Then語句中的“條件”一般是邏輯表達式或關(guān)系表達式,如果是數(shù)值表達式,當(dāng)表達式值非零時為True。例:用If—Then語句判斷x和y變量值的大小,若x的值小于y,則將兩變量中的值互換。下面用If—Then語句的“形式1”和“形式2”分別編制判斷和互換的程序語句:形式1:形式2:Ifx<ythenIfx<ythent=x:x=y:y=tt=x:x=y:y=tEndif2、If—Then—Else語句形式1:If<條件>Then<語句組1>Else<語句組2>EndIf形式2:If<條件>Then<語句1>Else<語句2>例:編程輸入a,b,c的值,求一元二次方程ax2+bx+c=0的解。PrivateSubCommand1_Click()Dima,b,c,d,x1,x2AsSinglea=InputBox("輸入a的值",,,1000,1000)b=InputBox("輸入b的值",,,1000,1000)c=InputBox("輸入c的值",,,1000,1000)d=b*b-4*a*cIfd>0Thenx1=(-b+Sqr(d))/2/ax2=(-b-Sqr(d))/2/aPrint"x1=";x1,"x2=";x2ElseMsgBox"輸入有錯",,2EndIfEndSub3、If—Then—ElseIf語句語句形式:If<條件1>Then<語句組1>ElseIf<條件2>Then<語句組2>ElseIf<條件3>Then<語句組3>……[Else語句組n+1]Endif例:設(shè)已在strC中存入了一個字符,編程判斷該字符是英文字母、數(shù)字、其它,并顯示結(jié)果。IfstrC>="a"andstrC<="z"orstrC>="A"andstrC<="Z"ThenPrintstrC+"是英文字母"ElseIfstrC>="0"andstrC<="9"ThenPrintstrC+"是數(shù)字ElsePrintstrC+"是其它字符"Endif4、If語句的嵌套例:編程比較三個變量x,y,z的大小,并按從小到大的順序排列,結(jié)果仍存放在x,y,z變量中。Ifx>yThent=x:x=y:y=tIfx>zThent=x:x=z:z=tEndIfIfy>zThent=y:y=z:z=tEndIfElseIfx>zThent=x:x=z:z=tEndIfIfy>zThent=y:y=z:z=tEndIfEndIf5、SelectCase語句語句形式:SelectCase<變量或表達式>Case表達式列表1<語句組1>Case表達式列表2<語句組2>……Case表達式列表n<語句組n>[CaseElse語句組n+1]EndSelect例:編程判斷strC中字符的類型。SelectCasestrCCase"a"to"z","A"to"Z"PrintstrC+"是英文字母"Case"0"to"9"PrintstrC+"是數(shù)字CaseElsePrintstrC+"是其它字符"EndSelect6、條件函數(shù)(1)IIf函數(shù)形式:IIf(<條件表達式>,<表達式為真>,<表達式為假>)例:編程將x,y中值較大者的值賦給z。z=IIf(x>y,x,y)(2)Choose函數(shù)形式:Choose(<字符類型變量>,<值為1的返回值>,<值為2的返回值>,……)例:假設(shè)變量Nop中存放了1、2、3、4中的某一個值,編程將變量Nop中的值轉(zhuǎn)換成算術(shù)四則運算符,其中1轉(zhuǎn)換為+;2轉(zhuǎn)換為-;3轉(zhuǎn)換為×;4轉(zhuǎn)換為÷,并將轉(zhuǎn)換結(jié)果存放到OP變量中。Op=Choose(Nop,"+","-","×","÷")四、循環(huán)結(jié)構(gòu)1、For—Next語句語句形式:For<循環(huán)變量>=<初值>To<終值>[Step步長]<語句組1>[exitfor]<語句組2>Next[循環(huán)變量]注意:若缺省“Step步長”選項,系統(tǒng)默認(rèn)步長為1。例:編程計算1到100中奇數(shù)之和。Dimi,sAsIntegers=0Fori=1To100Step2s=s+iNextiPrints例:編程將ASCII碼制成表格在圖形控件Picture1中輸出,每行打印7個字符。PrivateSubPicture1_Click()Dimasc,IAsIntegerPicture1.PrintTab(30);"ASCII碼對照表"Picture1.PrintForasc=32To126Picture1.PrintTab(10*I+2);Chr(asc);"=";asc;I=I+1IfI=7ThenI=0Picture1.PrintEndIfNextEndSub2、Do-Loop語句語句形式:DoWhile<循環(huán)條件><語句組1>[exitdo]<語句組2>LoopDo-Loop循環(huán)語句在執(zhí)行時先判斷循環(huán)條件,若循環(huán)條件為真,執(zhí)行循環(huán)體內(nèi)的語句,否則終止循環(huán)。例1:編程計算自然對數(shù)e的近似值,要求計算的誤差小于0.000001,計算自然對數(shù)e的公式為:e=1+1/1!+1/2?。?/3!+1/4?。?/n?。?。PrivateSubCommand1_Click()Dimi,nAsIntegerDime,sAsDoubles=1e=1DoWhiles>0.000001i=i+1s=s/ie=e+sLoopPrinteEndSub例2:編程用轉(zhuǎn)輾相除法求兩個正整數(shù)m,n的最大公約數(shù)和最小公倍數(shù)。求兩個正整數(shù)m,n的最大公約和最小公倍數(shù)的算法如下:求兩個正整數(shù)m,n的最大公約數(shù)算法:第一步:對已知的m和n,先使m>n.;第二步:m除以n,得余數(shù)r;第三步:若r=0,則n為所求的最大公約數(shù),計算結(jié)束;否則將n的值賦值給m,將r的值賦值給n,然后重復(fù)執(zhí)行第二步,直至r=0。求兩個正整數(shù)m,n的最小公倍數(shù)算法:當(dāng)取得m和n的最大公約數(shù)后,將m和n相乘再除以最大公約數(shù)就可得到m和n的最小公倍數(shù)。求兩個正整數(shù)m,n的最大公約數(shù)和最小公倍數(shù)的源程序如下:PrivateSubCommand1_Click()Dimm,n,p,mnAsIntegerm=Val(Text1)n=Val(Text2)Ifm<=0Orn<=0ThenEnd Ifm<nThent=m:m=n:n=tDoWhile(n<>0)r=mModnm=nn=rLoopPrint"最大公約為";nPrint"最小公倍為";m*n/nEndSub在循環(huán)結(jié)構(gòu)中,VB還有Do-Until等循環(huán)語句,由于語句的功能與上述兩種循環(huán)語句基本相同,不再贅述,感興趣的同學(xué)可自學(xué)。3、循環(huán)的嵌套在一個循環(huán)體內(nèi)又包含一個完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。循環(huán)的嵌套是編程中常用技術(shù),是每一個計算機程序設(shè)計員必須掌握的技術(shù)。計算機語言中,循環(huán)可以并列,可以嵌套,但不能相交。例1:古代數(shù)學(xué)中有一個“百文買百雞”的問題,題目是:“雞翁一值三文,雞母一值二文,雞雛三值一文,問:百文買百雞,各買幾何?”。用現(xiàn)代數(shù)學(xué)方法來考慮這一問題,可以發(fā)現(xiàn)這是一個簡單的三元一次方程組的求解問題,方程組的數(shù)學(xué)公式為:設(shè)公雞買X只,母雞買Y只,小雞買Z只,根據(jù)已知條件可列出以下方程組:X+Y+Z=100其中X的取值范圍:1-33;Y的取值范圍:1-50; 3X+2Y+Z/3=100 其中Z的取值范圍:1-99。由于方程組中有三個未知量,而方程只有兩個,因此方程為多解。解該方程的程序如下:PrivateSubCommand1_Click()DimX,Y,ZAsIntegerForX=1To33ForY=1To50ForZ=1To99If3*X+2*Y+Z/2=100AndX+Y+Z=100ThenPrintX,Y,ZEndIfNextEndSub例2:用循環(huán)語句編制一個在圖形控件Picture1中打印“九九乘法表”的程序。PrivateSubPicture1_Click()DimssAsStringPicture1.PrintTab(40);"九九乘法表"Picture1.PrintFori=1To9Forj=1Toiss=j&"X"&i&"="&i*jPicture1.PrintTab(j*8);ss;NextPicture1.PrintPicture1.PrintNextEndSub五、其它輔助控制語句1、

溫馨提示

  • 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

提交評論