第六次第七次課基本控件結構_第1頁
第六次第七次課基本控件結構_第2頁
第六次第七次課基本控件結構_第3頁
第六次第七次課基本控件結構_第4頁
第六次第七次課基本控件結構_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章 基本的控制結構 4.1 順序結構 4.2 選擇結構 4.3 循環(huán)結構 4.4 其他輔助控制語句 4.5 常用算法(一) 4.6 常見錯誤 (順序、條件、循環(huán))1 VB采用事件驅動編程機制,但仍需要結構化程序設計方法,用控制結構控制程序執(zhí)行的流程。程序設計三種基本結構: 順序、選擇、循環(huán) 一個計算機程序通??煞譃槿糠?,即輸入、處理和輸出。 VB的輸入輸出有著十分豐富的內容和形式,它提供了多種手段,并可通過各種控件實現輸入輸出操作,使輸入輸出更加靈活、多樣、方便、直觀。4.1順序結構21) “=”賦值號與數學中的等號意義不同。例如:語句X=X+1表示將變量X的值加1后的結果值再賦給變量X

2、,而不是表示兩邊的值相等.2) 賦值號左邊必須是變量或對象屬性.例: X=1MyStr = “Good Morning”Command1.Caption=“確定”X+1=X (錯誤) 3)等號與賦值號的區(qū)別Dim a%,b%,c%a=b=c=1Print a 注意事項3 :在對話框內,提示用戶輸入的數據的范圍、作用等 。如果要顯示多行信息,則可在各行行末用回車符Chr(13)、換行符Chr(10)、回車換行符的組合,或系統(tǒng)常量vbCrLf來換行。 :可選項,運行時該參數顯示在對話框的標題欄中 如果省略,則在標題欄中顯示當前的應用程序名 :字符串表達式,可選項。顯示在對話框上的文本框中,在沒有其

3、他輸入時作為缺省值。如果省略,則文本框為空。 InputBox函數產生一個對話框,作為輸入數據的界面,等待用戶輸入正文或按下按鈕,并返回所輸入的內容。格式:InputBox(,)4.1.2 輸入數據1 輸入框函數(InputBox)4例要在屏幕上顯示如下的對話框: Dim i As String * 40, s1 As String * 40 i= InputBox( “請輸入你的姓名” + vbCrLf + “然后 單擊確定” , “輸入框” ) 或: S1 = “請輸入你的姓名” + Chr(13) + Chr(10) + “然后單擊確定” i= InputBox(S1, “輸入框”, ,

4、 100,100) 當鍵盤輸入“王曉明” 后,變量i獲得鍵盤輸入的值.5使用inputbox消息框輸入半徑示例64.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.Caption = “圓的面積:” & s End Sub7功能: 先計算“=”號(稱為賦值號)右邊的表達式的值,然后將此值賦給賦值號左邊的變量或對象屬性.說明:

5、應符合VB的變量命名約定??梢允浅A俊⒆兞?、表達式及帶有屬性的對象。 格式:Let =4.1.1 幾個基本語句1.賦值語句8在windOWS中,如果操作有誤,通常會在屏幕上顯示一個對話框,提示用戶進行選擇,然后系統(tǒng)根據選擇確定其后的操作。 VB提供的MsgBox函數可以實現此功能,它可以向用戶傳送信息,并可以接收用戶在對話框上的選擇,以此作為程序繼續(xù)執(zhí)行的依據。2、消息框函數MsgBox()和Msgbox過程格式: 變量%=MsgBox(,)功能:在對話框中顯示消息,等待用戶單擊按鈕,并返回一 個整數告訴用戶單擊了哪個按鈕。 9說明::字符串,指定顯示在對話框中的信息,要在提示信息中對文本信息

6、進行換行,可以使用回車符Chr(13)、換行符Chr(10)或是回車與換行符的組合Chr(13)&Chr(10)。 :數值型數據,是可選項,用來指定對話框中出現的按鈕和圖標的種類及數量,該參數的值由三類數值相加產生,這三類數值分別表示按鈕的類型、顯示圖標的種類及默認按鈕的位置 :字符串表達式,是可選項,它顯示在對話框的標題欄中,如果省略,則在標題欄中顯示應用程序名。10分類按鈕值系統(tǒng)定義符號常量含義按鈕類型0vbOKOnly只顯示“確定”按鈕1vbOKCancel顯示“確定”、“取消”按鈕 2vbAbortRetryIgnore顯示“終止”、“重試”、“忽略”按鈕 3vbYesNoCancel

7、顯示“是”、“否”、“取消”按鈕 4vbYesNo顯示“是”、“否”按鈕 5vbRetryCancel顯示“重試”、“取消”按鈕 圖標類型16vbCritical顯示停止圖標 x 32vbQuestion顯示詢問圖標 ? 48vbExclamation顯示警告圖標 !64vbInformation顯示信息圖標i 默認按鈕0vbDefaultButton1第一個按鈕是默認按鈕 256vbDefaultButton2第二個按鈕是默認按鈕 512vbDefaultButton3第三個按鈕是默認按鈕 “按鈕類型”的設置值及含義11例:Private Sub Command1_Click( ) a= M

8、sgBox(“提示信息”)End SubPrivate Sub Command1_Click( ) a= MsgBox(“提示信息” & Chr(13) & “換行顯示”)End Sub只顯示“提示信息”提示信息換行12Private Sub Command1_Click( ) a= MsgBox(“提示信息” , ,“標題”)End Sub省略第二個參數“按鈕類型”,但逗號不能省略Private Sub Command1_Click( ) a= MsgBox(“提示信息” ,1,“標題”)End Sub顯示“確定”、“取消”按鈕13Private Sub Command1_Click( )

9、a= MsgBox(“提示信息” ,1+16,“標題”)End SubPrivate Sub Command1_Click( ) a= MsgBox(“提示信息” ,2+32+0,“標題”)End Sub顯示停止圖標設第一按鈕是默認按鈕14MsgBox函數的返回值系統(tǒng)符號常量返回值按鍵vbOK1確定vbCancel2取消vbAbort3終止vbRetry4重試vbIgnore5忽略vbYes6是vbNo7否若不需要返回值,則可以使用MsgBox語句, 其格式為: MsgBox ,示例154.2選擇結構 1. IfThen語句(單分支結構) If Then 語句塊 End If 或 If The

10、n 例: 求一個數的絕對值 if x0 then x=-x引入:兩數交換16已知兩個數x和y,比較它們的大小, 使得x大于y. If xy then t=x x=y y=t end if x y t123 x y t123或 If (xy) then t=y: y=x: x=t示例172. IfThenElse語句(雙分支結構) If Then Else End If 例:密碼識別If Text2.Text = 12345 Then MsgBox 密碼正確, vbInformation, 歡迎 Else MsgBox “密碼錯誤,請重新輸入”, vbOKOnly + vbQuestion, “

11、我懷疑你是小偷!” End If 示例183. IfThenElseIf語句(多分支結構) 形式: If Then ElseIf Then else End If ElseIf不能寫成 Else If。條件1語句組1條件2語句組2條件n語句組n其他語句組19分支結構復習1、寫出三種選擇結構單分支、雙分支、多分支。2、請用inputbox輸入兩數,在屏幕上輸出其中較大的數。3、4、編寫一個可以為成績分等的程序,將某門課的成績分60以下不及格,60-70及格,70-80中,80-90良,90-100優(yōu)秀,并輸出。Y=-110X0X=0205、以知x,y,z三個數,使得xyz21分段數學函數的IF表

12、示Y=-110X0X=0If x y then max=xElse max=yendif23二、求三個數中的最大數,并輸出。Dim x%,y%,z%,max% If x y then max=xElse max=yEnd ifIf cmax then max=c24上機題目:練習: 課本后面及實訓的所有題目 254、三個數排序If語句的嵌套 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:

13、 y=z: z=t If xy Then t=x: x=y: y=t End If End IfIf語句的嵌套注意事項 If 與End If配對。265. Select Case語句(情況語句)形式:Select Case 總變量或表達式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

14、一等獎 Case mark1 = 100 And mark2 = 100 And mark2 = 80 End Select錯誤注意:Select Case 后不能出現多個變量;Case后不能出現邏輯運算符。296.條件函數 (1)IIf函數形式是: IIf(表達式,當表達式為True時的值,當表達式為False時的值) 例如,求x,y中大的數,放入Tmax變量中,語句如下: Tmax=IIf(x y,x,y) (2)Choose函數形式是: Choose(數字類型變量,值為1的返回值,值為2的返回值) 例如,Nop是1-4的值,轉換成 + 、-、運算符的語句如下: Op= Choose(No

15、p,+,-,) 當值為1,返回字符串“+”,然后放入Op變量中,值為2,返回字符 串“-”,依次類推;當Nop是1-4的非整數,系統(tǒng)自動取Nop的整數辦法在判斷;若Nop不在1-4之間,函數返回Null值。思考:1+2+3+4+5+100 任何實現?304、3 循環(huán)結構程序設計循環(huán)結構是結構化程序中的三種基本程序結構之一。在程序中,凡是需要重復相同或相似的操作步驟,都可以用循環(huán)結構來實現。循環(huán)結構由兩部分組成: 循環(huán)體,即要重復執(zhí)行的語句序列; 循環(huán)控制部分,即用于規(guī)定循環(huán)的重復條件或重復次數,同時確定循環(huán)范圍的語句。 要使計算機能夠正常執(zhí)行某循環(huán),由循環(huán)控制部分所規(guī)定的循環(huán)次數必須是有限的,

16、即循環(huán)體可以重復0次到若干次。311. ForNext循環(huán)語句 在已知循環(huán)要執(zhí)行多少次時,最好使用ForNext循環(huán)。在ForNext循環(huán)中使用一個起計數器作用的循環(huán)變量,每重復一次循環(huán)之后,循環(huán)變量的值就會按一定的步長增加或者減少,直到超過某規(guī)定的終值時退出循環(huán)。 格式如下: For = To Step Exit For Next 32For循環(huán)語句 (一般用于循環(huán)次數已知)形式 For 循環(huán)變量初值 to 終值 Step 步長 語句塊Exit For 語句塊 Next 循環(huán)變量 步長循環(huán)體 0 初值終值 =1 時,可省略終值=0 死循環(huán)循環(huán)次數33以下面循環(huán)為例,以框圖形式說明For循環(huán)執(zhí)

17、行過程:For I= to step 循環(huán)體Next II=e1I超過終值e2?循環(huán)體I=I+e3NY34例: For I=2 To 13 Step 3 循環(huán)執(zhí)行次數 Print I , 輸出I的值分別為: Next I 2 5 8 11 Print : Print “I=“, I 出了循環(huán)輸出為: I=14輸出金字塔程序:For i = 1 To 5 Print Tab(20 - i); String(2 * i - 1, *) Next I1、輸出100到1000以內的水仙花數.35常用算法(一)算法是對某個問題求解過程的描述 1.累加、連乘 1100的 和 Sum = 0 For i =

18、 1 To 100 Sum = Sum + i Next i Print Sum1100的乘積 t = 1 For i =1 To 100 t = t * i Next i Print t思考:若把循環(huán)體前面置各變量初值的語句放在循環(huán)體內,程序運行時會產生什么情況?36 分離位數三位數 : m百位數字:a=m100個位數字:c=m 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 輸出“水仙花數”37Priv

19、ate Sub Form_Click()j = 0For i = 1 To 20 Step 2i = i + 3j = j + 1Print 第; j; 次循環(huán)i=; INext iPrint 退出循環(huán)i=; IEnd Sub38說明:1、退出循環(huán)后,循環(huán)變量的值保持退出時的值、在循環(huán)體內對循環(huán)變量多次賦值會影響原來的循環(huán)控制規(guī)律。程序運行結果。循環(huán)的其他形式39上機題目: 1. 計算1+3+5+999并輸出結果 2. 計算1/1!+1/2!+1/3!.+1/10!并輸出結果 3. 輸出1到100之間能被3或7整除,但不能同時被3和7整除的整數,且每七個數換一行。 4.計算1*3*7。99的值

20、 402. DoLoop循環(huán)語句(用于控制循環(huán)次數未知)形式1: Do While|Until 語句塊 Exit Do 語句塊 Loop形式2:Do 語句塊 Exit Do 語句塊Loop While|Until 41格式一 :前測式當型循環(huán)Do While Exit Do Loop格式二:前測式直到型循環(huán)Do Until Exit Do Loop格式三 :后測式當型循環(huán)Do Exit Do Loop While格式四:后測式直到型循環(huán)Do Exit Do Loop UntilDoLoop循環(huán)結構的四種格式 42先判斷,后循環(huán)s = 0i = 1 Do While i =10 s = s +

21、i i = i + 1 Loop Print i, s用while語句求1+2+3+10先循環(huán),后判斷s = 0i = 1 Do s = s + i i = i + 1 Loop While I=10 Print i, s43先判斷,后循環(huán)s = 0i = 1 Do While i 1 s = s + i i = i + 1 Loop Print i, s兩種while語句比較先循環(huán),后判斷s = 0i = 1 Do s = s + i i = i + 1 Loop While I1 Print i, s1 0 2 144計算1/1!+1/2!+1/3!.+1/n!并輸出結果,直到1/n!n;

22、 (2) m除以n得余數r; (3)若r=0,則n為最大公約數結束;否則執(zhí)行(4); (4)mn,nr,再重復執(zhí)行(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 46m=m-n mnn=n-m nm m、n為公約數 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

23、 = n - m End If Loop47例2.判斷素數 判別某數m是否為素數最簡單的方法是: 對于m 從i=2,3,m-1判別m能否被i整除,只要有一個能整除,m不是素數,否則m是素數。 為提高運行速度,可將m-1 改為int(sqr(m)flag=1 For i = 2 To m - 1 If (m Mod i) = 0 Then flag=0 Next I if flag=0 then Print “m不是素數”Else print “m是素數”endif 48例:從鍵盤輸入一正整數,判斷是否是素數。輸入值K=int(sqr(n)I=2Flag=0I=k且Flag=0?N能被整除嗎?F

24、lag=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 If493.求素數 判別某數m是否為素數最簡單的方法是: 對于m 從i=2,3,m-1判別m能否被i整除,只要有一個能整除,m不是素數,否則m是素數。 求100以內的素數 m是否為素數求100以內的素數flag=1 For i = 2 To m - 1 If (m Mod i) = 0

溫馨提示

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

評論

0/150

提交評論