Visual Basic基本控件結構教程_第1頁
Visual Basic基本控件結構教程_第2頁
Visual Basic基本控件結構教程_第3頁
Visual Basic基本控件結構教程_第4頁
Visual Basic基本控件結構教程_第5頁
已閱讀5頁,還剩57頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 4.1 順序結構 4.2 選擇結構 4.3 循環結構 4.4 其他輔助控制語句 4.5 常用算法(一) 4.6 常見錯誤 (順序、條件、循環) VB采用事件驅動編程機制,但仍需要結構化程序設計方法,采用事件驅動編程機制,但仍需要結構化程序設計方法,用控制結構控制程序執行的流程。用控制結構控制程序執行的流程。程序設計三種基本結構:程序設計三種基本結構: 順序、選擇、循環順序、選擇、循環 一個計算機程序通常可分為三部分,即一個計算機程序通常可分為三部分,即輸入輸入、處理處理和和輸出輸出。 VB的輸入輸出有著十分豐富的內容和形式,它提供的輸入輸出有著十分豐富的內容和形式,它提供了多種手段,并可通過

2、各種控件實現輸入輸出操作,使了多種手段,并可通過各種控件實現輸入輸出操作,使輸入輸出更加靈活、多樣、方便、直觀。輸入輸出更加靈活、多樣、方便、直觀。4.1順序結構功能: 先計算“=”號(稱為賦值號)右邊的表達式的值,然后將此值賦給賦值號左邊的變量或對象屬性.說明: 應符合VB的變量命名約定。可以是常量、變量、表達式及帶有屬性的對象。 格式:Let =1.賦值語句1) “=”賦值號與數學中的等號意義不同。例如:語句X=X+1表示將變量X的值加1后的結果值再賦給變量X,而不是表示兩邊的值相等.2) 賦值號左邊必須是變量或對象屬性.例: X=1MyStr = “Good Morning”Comman

3、d1.Caption=“確定”X+1=X (錯誤) 3)等號與賦值號的區別Dim a%,b%,c%a=b=c=1Print a 注意事項 :在對話框內,提示用戶輸入的數據的范圍、作用等在對話框內,提示用戶輸入的數據的范圍、作用等 。如果要顯示多行信息,則可在各行行末用回車符。如果要顯示多行信息,則可在各行行末用回車符Chr(13)Chr(13)、換、換行符行符Chr(10)Chr(10)、回車換行符的組合、回車換行符的組合, ,或系統常量或系統常量vbCrLfvbCrLf來換行。來換行。 :可選項可選項, ,運行時該參數顯示在對話框的標題欄中運行時該參數顯示在對話框的標題欄中 如果省略,則在標

4、題欄中顯示當前的應用程序名如果省略,則在標題欄中顯示當前的應用程序名 :字符串表達式,可選項。顯示在對話框上的文本框字符串表達式,可選項。顯示在對話框上的文本框中,在沒有其他輸入時作為缺省值。如果省略,則文本框為空。中,在沒有其他輸入時作為缺省值。如果省略,則文本框為空。 InputBox函數產生一個對話框,作為輸入數據的界面,等待用戶輸入正文或按下按鈕,并返回所輸入的內容。格式:InputBox(,)1 輸入框函數(InputBox) 例要在屏幕上顯示如下的對話框: Dim i As String * 40, s1 As String * 40 i= InputBox( “請輸入你的姓名”

5、+ vbCrLf + “然后 單擊確定” , “輸入框” ) 或: S1 = “請輸入你的姓名” + Chr(13) + Chr(10) + “然后單擊確定” i= InputBox(S1, “輸入框”, , 100,100) 當鍵盤輸入“王曉明” 后,變量i獲得鍵盤輸入的值.4.1.3 舉例 使用文本框輸入圓的半徑,計算圓的面積并用標簽輸出。運行界面如下圖所示。Private Sub Command1_Click() Dim r As Double,s As Double Const pi = 3.1415926 r = Val(Text1.Text) s=pi * r * r Label2

6、.Caption = “圓的面積:” & s End Sub示例在windOWS中,如果操作有誤,通常會在屏幕上顯示一個對話框,提示用戶進行選擇,然后系統根據選擇確定其后的操作。 VB提供的MsgBox函數可以實現此功能,它可以向用戶傳送信息,并可以接收用戶在對話框上的選擇,以此作為程序繼續執行的依據。2、消息框函數MsgBox()和Msgbox過程格式: 變量%=MsgBox(,)功能:在對話框中顯示消息,等待用戶單擊按鈕,并返回一 個整數告訴用戶單擊了哪個按鈕。 說明: :字符串,指定顯示在對話框中的信息,字符串,指定顯示在對話框中的信息,要在提示信息中對文本信息進行換行,可以使用

7、回車符要在提示信息中對文本信息進行換行,可以使用回車符Chr(13)、換行符、換行符Chr(10)或是回車與換行符的組合或是回車與換行符的組合Chr(13)&Chr(10)。 :數值型數據,是可選項,用來指定對話數值型數據,是可選項,用來指定對話框中出現的按鈕和圖標的種類及數量,該參數的值由三框中出現的按鈕和圖標的種類及數量,該參數的值由三類數值相加產生,這三類數值分別表示按鈕的類型、顯類數值相加產生,這三類數值分別表示按鈕的類型、顯示圖標的種類及默認按鈕的位置示圖標的種類及默認按鈕的位置 :字符串表達式,是可選項,它顯示在字符串表達式,是可選項,它顯示在對話框的標題欄中,如果省略,則

8、在標題欄中顯示應用對話框的標題欄中,如果省略,則在標題欄中顯示應用程序名。程序名。分類按鈕值系統定義符號常量含義按鈕類型0vbOKOnly只顯示“確定”按鈕1vbOKCancel顯示“確定”、“取消”按鈕 2vbAbortRetryIgnore顯示“終止”、“重試”、“忽略”按鈕 3vbYesNoCancel顯示“是”、“否”、“取消”按鈕 4vbYesNo顯示“是”、“否”按鈕 5vbRetryCancel顯示“重試”、“取消”按鈕 圖標類型16vbCritical顯示停止圖標 x 32vbQuestion顯示詢問圖標 ? 48vbExclamation顯示警告圖標 !64vbInforma

9、tion顯示信息圖標i 默認按鈕0vbDefaultButton1第一個按鈕是默認按鈕 256vbDefaultButton2第二個按鈕是默認按鈕 512vbDefaultButton3第三個按鈕是默認按鈕 “按鈕類型”的設置值及含義例:Private Sub Command1_Click( ) a= MsgBox(“提示信息”)End SubPrivate Sub Command1_Click( ) a= MsgBox(“提示信息” & Chr(13) & “換行顯示”)End Sub只顯示“提示信息”提示信息換行Private Sub Command1_Click( ) a

10、= MsgBox(“提示信息” , ,“標題”)End Sub省略第二個參數“按鈕類型”,但逗號不能省略Private Sub Command1_Click( ) a= MsgBox(“提示信息” ,1,“標題”)End Sub顯示“確定”、“取消”按鈕Private Sub Command1_Click( ) a= MsgBox(“提示信息” ,1+16,“標題”)End SubPrivate Sub Command1_Click( ) a= MsgBox(“提示信息” ,2+32+0,“標題”)End Sub顯示停止圖標設第一按鈕是默認按鈕MsgBox函數的返回值系統符號常量返回值按鍵vb

11、OK1確定vbCancel2取消vbAbort3終止vbRetry4重試vbIgnore5忽略vbYes6是vbNo7否若不需要返回值,則可以使用MsgBox語句, 其格式為: MsgBox ,示例4.2選擇結構 1. IfThen1. IfThen語句語句( (單分支結構單分支結構) ) If Then 語句塊語句塊 End If 或或 If Then 例: 求一個數的絕對值 if x0 then x=-x表達式 語句塊TF圖1-3-7 單分支結構引入引入:兩數交換兩數交換已知兩個數已知兩個數x和和y,比較它們,比較它們的大小,的大小, 使得使得x大于大于y. If xy then t=x

12、x=y y=t end if x y t123 x y t123或或 If (xy) then t=y: y=x: x=t示例2. IfThenElse2. IfThenElse語句語句( (雙分支結構雙分支結構) ) If Then Else End If 例:密碼識別例:密碼識別If Text2.Text = 12345 Then MsgBox 密碼正確, vbInformation, 歡迎 Else MsgBox “密碼錯誤,請重新輸入密碼錯誤,請重新輸入”, vbOKOnly + vbQuestion, “哈哈我懷疑你是小哈哈我懷疑你是小偷偷!” End If 表達式F圖1-3-9 雙

13、分支結構 語句塊1T 語句塊2示例3. IfThenElseIf3. IfThenElseIf語句語句( (多分支結構多分支結構) ) 形式: If Then ElseIf Then else End If ElseIf不能寫成 Else If。條件1語句組1條件2語句組2條件n語句組n其他語句組 1、寫出三種選擇結構單分支、雙分支、多分支。 2、請用inputbox輸入兩數,在屏幕上輸出其中較大的數。 3、 4、編寫一個可以為成績分等的程序,將某門課的成績分60以下不及格,60-70及格,70-80中,80-90良,90-100優秀,并輸出。Y=-110X0X=0 5、以知x,y,z三個數,

14、使得xyz分段數學函數的分段數學函數的IF表示表示Y=-110X0X=0If x y then max=xElse max=yendif二、求三個數中的最大數,并輸出。二、求三個數中的最大數,并輸出。Dim x%,y%,z%,max% If x y then max=xElse max=yEnd ifIf cmax then max=c上機題目:上機題目: 1、做個聊天室簡單的要求用到做個聊天室簡單的要求用到 inputbox msgbox 選擇結構選擇結構 2、蝴蝶飛出去可以飛回來蝴蝶飛出去可以飛回來 練習練習: 課本后面及實訓的所有題目課本后面及實訓的所有題目 4 4、三個數排序、三個數排

15、序IfIf語句的嵌套語句的嵌套 If語句的嵌套是指If或Else后面的語句塊中又包含If語句。 形式如下: If Then If Then End If End If 例:已知已知x,y,z三個數,使得三個數,使得xyz。 If xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xy Then t=x: x=y: y=t End If End IfIf語句的嵌套注意事項 If 與End If配對。5. Select Case5. Select Case語句語句( (情況語句情況語句) )形式:Select Case 總變量或表達式總變量或表達式

16、Case 表達式列表表達式列表1語句塊語句塊1Case 表達式列表表達式列表2語句塊語句塊2Case Else語句塊語句塊n+1End Select P20:與同類型的下面四種形式之一 一組枚舉表達式(用逗號分隔) 2,4,6,8 表達式1 To 表達式2 “A” To “Z” Is 關系運算符表達式 Is = A And Ucase (strC) = 0 And strC = 95 Print 一等獎 Case mark1 = 100 And mark2 = 100 And mark2 = 80 End Select錯誤注意:注意:Select Case 后不能出現多個變量;后不能出現多個變

17、量;Case后不能出現邏輯運算符。后不能出現邏輯運算符。6.條件函數條件函數 (1)IIf函數形式是: IIf(表達式,當表達式為(表達式,當表達式為True時的值,當表達式為時的值,當表達式為False時的值)時的值) 例如,求x,y中大的數,放入Tmax變量中,語句如下: Tmax=IIf(x y,x,y) (2)Choose函數形式是: Choose(數字類型變量,值為(數字類型變量,值為1的返回值,值為的返回值,值為2的返回值的返回值) 例如,Nop是1-4的值,轉換成 + 、-、運算符的語句如下: Op= Choose(Nop,+,-,) 當值為1,返回字符串“+”,然后放入Op變量

18、中,值為2,返回字符 串“-”,依次類推;當Nop是1-4的非整數,系統自動取Nop的整數辦法在判斷;若Nop不在1-4之間,函數返回Null值。思考:1+2+3+4+5+100 任何實現任何實現? 循環結構是結構化程序中的三種基本程序結構之一。在程序中,凡是需要重復相同或相似的操作步驟,都可以用循環結構來實現。 循環結構由兩部分組成: 循環體,即要重復執行的語句序列; 循環控制部分,即用于規定循環的重復條件或重復次數,同時確定循環范圍的語句。 要使計算機能夠正常執行某循環,由循環控制部分所規定的循環次數必須是有限的,即循環體可以重復0次到若干次。 在已知循環要執行多少次時,最好使用ForNe

19、xt循環。在ForNext循環中使用一個起計數器作用的循環變量,每重復一次循環之后,循環變量的值就會按一定的步長增加或者減少,直到超過某規定的終值時退出循環。 格式如下: For = To Step Exit For Next For循環語句循環語句 (一般用于循環次數已知)形式 For 循環變量初值循環變量初值 to 終值終值 Step 步長步長 語句塊語句塊Exit For 語句塊語句塊 Next 循環變量循環變量 步長循環體 0 初值終值 =1 時,可省略終值=0 死循環循環次數) 1(步長初值終值Int以下面循環為例,以框圖形式說明For循環執行過程:For I= to step 循環

20、體Next II=e1I超過終值e2?循環體I=I+e3NY例: For I=2 To 13 Step 3 循環執行次數 Print I , 輸出I的值分別為: Next I 2 5 8 11 Print : Print “I=“, I 出了循環輸出為: I=14輸出金字塔輸出金字塔程序程序:For i = 1 To 5 Print Tab(20 - i); String(2 * i - 1, *) Next I1、輸出、輸出100到到1000以內的水仙花數以內的水仙花數.4) 1(3213Int 分離位數分離位數三位數三位數 : m百位數字:百位數字:a=m100個位數字:個位數字:c=m

21、mod 10十位數字:十位數字:b=(m-a*100)10For m=100 to 1000 a=m100 c=m%10 b=(m-a*100)10 if m=a3+b3+c3 then print m end ifNext mP120 例例6.6 輸出輸出“水仙花數水仙花數”算法是對某個問題求解過程的描述 1.1.累加、連乘累加、連乘 1100的的 和和 Sum = 0 For i = 1 To 100 Sum = Sum + i Next i Print Sum1100的乘積的乘積 t = 1 For i =1 To 100 t = t * i Next i Print t思考:思考:若把

22、循環體前面置各變量初值的語句放在循環體內,程若把循環體前面置各變量初值的語句放在循環體內,程序運行時會產生什么情況?序運行時會產生什么情況? 1、退出循環后,循環變量的值保持退出時的值 、在循環體內對循環變量多次賦值會影響原來的循環控制規律。 程序運行結果。 循環的其他形式2. DoLoop循環語句循環語句(用于控制循環次數未知)形式1: Do While|Until 語句塊語句塊 Exit Do 語句塊語句塊 Loop形式2:Do 語句塊語句塊 Exit Do 語句塊語句塊Loop While|Until 表達式列表 1 F T F T Exit Do 語句塊 語句塊 Exit Do 語句塊

23、 語句塊 表達式列表 1 圖 1-3-16 Do Loop While 圖 1-3-15 Do WhileLoop 格式一 :前測式當型循環Do While Exit Do Loop格式二:前測式直到型循環Do Until Exit Do Loop格式三 :后測式當型循環Do Exit Do Loop While格式四:后測式直到型循環Do Exit Do Loop UntilDoLoop循環結構的四種格式 上機題目: 1. 計算1+3+5+999并輸出結果 2. 計算1*3*7*99并輸出結果 3. 輸入三數,按從小到大順序輸出。 4 . 輸出1到100之間能被3或7整除,但不能同時被3和7

24、整除的整數,且每七個數換一行。 先判斷,后循環先判斷,后循環s = 0i = 1 Do While i =10 s = s + i i = i + 1 Loop Print i, s用用while語句求語句求1+2+3+10先循環,后判斷先循環,后判斷s = 0i = 1 Do s = s + i i = i + 1 Loop While I=10 Print i, s先判斷,后循環先判斷,后循環s = 0i = 1 Do While i 1 s = s + i i = i + 1 Loop Print i, s兩種兩種while語句比較語句比較先循環,后判斷先循環,后判斷s = 0i = 1

25、 Do s = s + i i = i + 1 Loop While In; (2) m除以除以n得余數得余數r; (3)若若r=0,則,則n為最大公約數結束;否則執行為最大公約數結束;否則執行(4); (4)mn,nr,再重復執行,再重復執行(2)。 例例 求求 m=14 ,n=6 的最大公約數的最大公約數. m n r 14 6 2 6 2 0If m n Then t = m: m = n: n = t r=m mod n Do While (r 0) m=n n=r r= m mod n Loop Print 最大公約數最大公約數=, n m=m-n mnn=n-m nm m、n為公約

26、數為公約數 m=n輾轉相減法輾轉相減法 m n 14 6 8 6 2 6 2 4 2 2Do While m n If m n Then m = m - n Else n = n - m End If Loop例例2.判斷素數判斷素數 判別某數判別某數m是否為素數最簡單的方法是是否為素數最簡單的方法是: 對于對于m 從從i=2,3,m-1判別判別m能否被能否被i整除,只要整除,只要有一個能整除,有一個能整除,m不是素數,否則不是素數,否則m是素數。是素數。 flag=1 For i = 2 To m - 1 If (m Mod i) = 0 Then flag=0 Next I if flag

27、=0 then Print “m不是素數不是素數”Else print “m是素數是素數”endif 為提高運行速度,可將為提高運行速度,可將m-1 改為改為int(sqr(m)例:從鍵盤輸入一正整數,判斷是否是素數。輸入值K=int(sqr(n)I=2Flag=0I=k且Flag=0?N能被整除嗎?Flag=1I=I+1Flag=0?打印不是素數打印是素數結束開始程序代碼如下:n = InputBox(n=)k = Int(Sqr(n) I = 2 flag = 0 Do While I = k And flag = 0 If n Mod I = 0 Then flag = 1 Else I = I + 1 End If Loop If flag = 0 Then Print n; is a prime umber. Else Print n; is not a prime number. End If3.求素數求素數 判別某數m是否為素數最簡單的方法是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論