第4章 2選擇結(jié)構(gòu)_第1頁(yè)
第4章 2選擇結(jié)構(gòu)_第2頁(yè)
第4章 2選擇結(jié)構(gòu)_第3頁(yè)
第4章 2選擇結(jié)構(gòu)_第4頁(yè)
第4章 2選擇結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄14.2 4.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu) P79P79 uVB中主要通過(guò)中主要通過(guò)If If條件語(yǔ)句和條件語(yǔ)句和SelectSelect情況語(yǔ)句來(lái)實(shí)現(xiàn)。情況語(yǔ)句來(lái)實(shí)現(xiàn)。 l IfThenElsel IfThenElseIfl Select Case本章目錄本章目錄1真真假假語(yǔ)句組語(yǔ)句組1語(yǔ)句組語(yǔ)句組2 條件條件VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄2一、一、 If If條件語(yǔ)句條件語(yǔ)句 P80P80本章目錄本章目錄111lgxxxxYX1NY=lgxYX1NY=1-xY輸入輸入X輸出輸出Y開(kāi)始開(kāi)始結(jié)束結(jié)束VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)

2、明教程本書目錄本書目錄31 1、單分支結(jié)構(gòu)(、單分支結(jié)構(gòu)( IfThen語(yǔ)句)語(yǔ)句)P80P80 語(yǔ)句格式:語(yǔ)句格式: If If Then Then 語(yǔ)句塊語(yǔ)句塊(可以是一句或多句語(yǔ)句)(可以是一句或多句語(yǔ)句) End IfEnd If或或 If If Then Then 分別稱為分別稱為:塊塊結(jié)構(gòu)條件語(yǔ)句和結(jié)構(gòu)條件語(yǔ)句和單行單行結(jié)構(gòu)條件語(yǔ)句結(jié)構(gòu)條件語(yǔ)句功能:條件為真,執(zhí)行語(yǔ)句塊功能:條件為真,執(zhí)行語(yǔ)句塊說(shuō)明:說(shuō)明:1)執(zhí)行流程:該語(yǔ)句的作用是當(dāng)表達(dá)式的值為)執(zhí)行流程:該語(yǔ)句的作用是當(dāng)表達(dá)式的值為TrueTrue,執(zhí)行執(zhí)行ThenThen后面的語(yǔ)句塊,否則不做任何操作。后面的語(yǔ)句塊,否則不做

3、任何操作。2)無(wú)論條件是否成立,都具有共同出口無(wú)論條件是否成立,都具有共同出口表達(dá)式 語(yǔ)句塊 T F 本章目錄本章目錄VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄43)表達(dá)式:即)表達(dá)式:即“條件條件”l 關(guān)系表達(dá)式關(guān)系表達(dá)式l 邏輯表達(dá)式邏輯表達(dá)式l 算術(shù)表達(dá)式:表達(dá)式值按算術(shù)表達(dá)式:表達(dá)式值按非零為非零為TrueTrue,零為零為FalseFalse進(jìn)行判斷。進(jìn)行判斷。4)單行單行結(jié)構(gòu)條件語(yǔ)句的結(jié)構(gòu)條件語(yǔ)句的 : 可以有多條語(yǔ)句,各語(yǔ)句之間可以有多條語(yǔ)句,各語(yǔ)句之間用冒號(hào)隔開(kāi)。用冒號(hào)隔開(kāi)。5)單行單行結(jié)構(gòu)條件語(yǔ)句結(jié)構(gòu)條件語(yǔ)句應(yīng)作為一條語(yǔ)句書寫。如果語(yǔ)句太長(zhǎng)需要換應(yīng)作為一條語(yǔ)句書寫。

4、如果語(yǔ)句太長(zhǎng)需要換行,必須在折行處使用行,必須在折行處使用續(xù)行符號(hào)續(xù)行符號(hào)。6 6)塊塊結(jié)構(gòu)條件語(yǔ)句的結(jié)構(gòu)條件語(yǔ)句的IfIf與與End IfEnd If成對(duì)出現(xiàn)。成對(duì)出現(xiàn)。例例: If N0 Then A=A+B:B=B+A或:或: If N0 Then A=A+B:B=B+A End If表達(dá)式 語(yǔ)句塊 T F VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄5lg x x11-x x= 1 Then Y = Log(X)/Log(10) End If If X = 1 Then Y = Log(X)/Log(10) If X =1 Then Y = Log(X)/Log(10)Labe

5、l3.Caption = Y程序段程序段2:X = Val(Text1.Text)Y = Log(X)/Log(10)If X 1 ThenY = 1-XLabel3.Caption = Y6lg x x11-x x1y=程序段程序段3:X = Val(Text1.Text)If X 1 ThenY = 1-XY = Log(X)/Log(10)Label3.Caption = Y表達(dá)式 語(yǔ)句塊 T F VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄7111lgxxxxYIf If Then Then End IfEnd IfIf If Then Then 2、雙分支結(jié)構(gòu)、雙分支結(jié)構(gòu)語(yǔ)句

6、格式:語(yǔ)句格式: If If Then Then 1ElseElse 2 End IfEnd If或:或:If If Then Then Else Else 2 功能:表達(dá)式為真功能:表達(dá)式為真執(zhí)行執(zhí)行 1 ,否則,否則執(zhí)行執(zhí)行 2 VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄51511lgxxxxxxY x=-5 And X=1 Then y=Log(x) / Log(10) Else If x=-5 And X=-5 And X1 Then y=1-x Else y=Sqr(Abs(x) 表達(dá)式 2 表達(dá)式n T F T F 語(yǔ)句塊 n+1 語(yǔ)句塊 2 語(yǔ)句塊 1 F T 表達(dá)式

7、1 語(yǔ)句塊 n 說(shuō)明說(shuō)明VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄11o 1)IF END IF必須必須成對(duì)成對(duì)使用。使用。ElseIf不能寫不能寫成成Else If,即中間不能有空格。即中間不能有空格。o 2)條件表達(dá)式條件表達(dá)式可以是各種表達(dá)式或函數(shù)的組可以是各種表達(dá)式或函數(shù)的組合,其值必須是合,其值必須是邏輯值或數(shù)值邏輯值或數(shù)值。o 3) 可以由可以由一條或多條語(yǔ)句一條或多條語(yǔ)句組成。組成。o 4)IfThenElseIf 語(yǔ)句,每次語(yǔ)句,每次最多只能執(zhí)行一最多只能執(zhí)行一個(gè)個(gè) 。在多個(gè)。在多個(gè)ElseIf子句的子句的表達(dá)式表達(dá)式值值為真時(shí),為真時(shí),只執(zhí)行第一個(gè)只執(zhí)行第一個(gè)表達(dá)式

8、表達(dá)式值為真的值為真的 ,然后執(zhí)行,然后執(zhí)行 END IF后面的第一條語(yǔ)句。后面的第一條語(yǔ)句。注注意意語(yǔ)句形式:語(yǔ)句形式: If If 表達(dá)式表達(dá)式1 Then Then 語(yǔ)句塊語(yǔ)句塊1 ElseIf ElseIf 表達(dá)式表達(dá)式2 Then Then 語(yǔ)句塊語(yǔ)句塊2 Else 語(yǔ)句塊語(yǔ)句塊 n+1 End IfEnd If 表 達(dá) 式 2 表 達(dá) 式n T F T F 語(yǔ) 句 塊 n+1 語(yǔ) 句 塊 2 語(yǔ) 句 塊 1 F T 表 達(dá) 式 1 語(yǔ) 句 塊 n VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄12o 5)在書寫時(shí),可以將在書寫時(shí),可以將If語(yǔ)句、語(yǔ)句、ElseIf子句、子句、

9、Else子子句、和句、和End If語(yǔ)句左對(duì)齊,而各語(yǔ)句組向右縮進(jìn)若語(yǔ)句左對(duì)齊,而各語(yǔ)句組向右縮進(jìn)若干空格,以使程序干空格,以使程序結(jié)構(gòu)更清楚結(jié)構(gòu)更清楚。o 6)嚴(yán)格按格式要求書寫,嚴(yán)格按格式要求書寫,不可隨意換行或?qū)尚胁豢呻S意換行或?qū)尚泻喜⒊梢恍泻喜⒊梢恍?。注注意意例如,?duì)于條件結(jié)構(gòu):例如,對(duì)于條件結(jié)構(gòu): If x = 0 Then y = 1 Else y = 2 End If寫法一:寫法一:If x=0 Then y=1Else y = 2End If寫法二:寫法二:If x = 1 Then y = 10 Else y = 20End If隨意換行或?qū)尚泻喜㈦S意換行或?qū)尚泻喜⒊?/p>

10、一行成一行極易出錯(cuò)!極易出錯(cuò)! VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄13例例4.8 4.8 已知變量已知變量chch中存放了一個(gè)字符,判斷該字符是字母字符、中存放了一個(gè)字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。數(shù)字字符還是其他字符。P82P82多分支結(jié)構(gòu)例多分支結(jié)構(gòu)例本章目錄本章目錄Private Sub Command1_Click() Dim ch As String * 1 ch = InputBox(input) If UCase(ch) = A And UCase(ch) = 0 And ch = 9 Then 表示是數(shù)字字符表示是數(shù)字字符 MsgBox (c

11、h + 是數(shù)字字符是數(shù)字字符) Else MsgBox (ch + 是其他字符是其他字符) 除上述字符以外的字符除上述字符以外的字符 End IfEnd SubVB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄14If語(yǔ)句的嵌套是指語(yǔ)句的嵌套是指If或或Else后面的語(yǔ)句塊中又包含后面的語(yǔ)句塊中又包含If語(yǔ)語(yǔ)If 表達(dá)式表達(dá)式1 Then If 表達(dá)式表達(dá)式2 Then End If End IfIf xy Then t=x: x=y: y=t If yz Then t=y: y=z: z=t If xyz用一個(gè)用一個(gè)IF語(yǔ)句和一個(gè)嵌套語(yǔ)句和一個(gè)嵌套的的IF語(yǔ)句實(shí)現(xiàn)語(yǔ)句實(shí)現(xiàn)本章目錄本章目錄n

12、 不管書寫格式如何,不管書寫格式如何,Else或或End If都將與前面最靠近的未曾都將與前面最靠近的未曾配對(duì)的配對(duì)的If語(yǔ)句相互配對(duì),構(gòu)成一個(gè)完整的語(yǔ)句相互配對(duì),構(gòu)成一個(gè)完整的If結(jié)構(gòu)語(yǔ)句結(jié)構(gòu)語(yǔ)句。VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄5 5、編寫分支結(jié)構(gòu)程序、編寫分支結(jié)構(gòu)程序1525 . 021111222xxxxexxxxxyVB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄25 . 021111222xxxxexxxxxy16本章目錄本章目錄VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄17本章目錄本章目錄25 . 021111222xxxxexxxxxyVB程序

13、設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄1825 . 021111222xxxxexxxxxy例例2:電費(fèi)的分段計(jì)費(fèi):電費(fèi)的分段計(jì)費(fèi)例3:求一元二次方程的解求一元二次方程的解例4:根據(jù)溫度區(qū)間,給出冷熱提示VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄19例2 為了節(jié)約用電,制定如下隨用電量增加而逐級(jí)提高電費(fèi)的收費(fèi)辦法,根據(jù)用電量的大小分段計(jì)費(fèi),標(biāo)準(zhǔn)如表所示。分析:用戶的總電費(fèi)應(yīng)分分析:用戶的總電費(fèi)應(yīng)分6個(gè)區(qū)段計(jì)算,即落在某個(gè)區(qū)段計(jì)算,即落在某個(gè)區(qū)間的用電量按該區(qū)間對(duì)應(yīng)的標(biāo)準(zhǔn)計(jì)費(fèi),然后將個(gè)區(qū)間的用電量按該區(qū)間對(duì)應(yīng)的標(biāo)準(zhǔn)計(jì)費(fèi),然后將各段電費(fèi)匯總。為此,先判斷用戶的總用電量落在各段電費(fèi)匯

14、總。為此,先判斷用戶的總用電量落在哪個(gè)區(qū)間,然后分段計(jì)算。代碼如下:哪個(gè)區(qū)間,然后分段計(jì)算。代碼如下:VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄20Private sub Command1_Click() Dim X As Integer, Y As Single X=Val(Text1.Text) If X=100 Then Y=X*0.55 ElseIf X=125 Then Y=100*0.55+(X-100)*0.70 ElseIf X=150 Then Y=100*0.55+25*0.70+(X-125)*0.85 ElseIf X=175 Then Y=100*0.55+

15、25*0.70+25*0.85+(X-150)*1.00 ElseIf X0,有兩個(gè)不等實(shí)根,有兩個(gè)不等實(shí)根 若若b2 - 4ac 0計(jì)算復(fù)根的虛部計(jì)算復(fù)根的虛部P = sqr(D) / (2*a)X1 = (b + sqr(D) / (2*a)X2 = (bsqr(D) / (2*a)結(jié)束結(jié)束VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄23 Private Sub Command1_Click() Dim a As Single, b As Single, c As Single Dim D As Single, X1 As Single, X2 As Single Dim R As

16、 Single, P As Single a = Val(Text1.Text) 取數(shù)據(jù)取數(shù)據(jù)a b = Val(Text2.Text) 取數(shù)據(jù)取數(shù)據(jù)b c = Val(Text3.Text) 取數(shù)據(jù)取數(shù)據(jù)c If a = 0 Then 當(dāng)當(dāng)a=0 Text4.Text = 不是二次方程不是二次方程 Text5.Text = 不是二次方程不是二次方程 Else a0 D = b * b - 4 * a * c R = -b / (2 * a)VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄24 If D = 0 Then D=0 Text4.Text = R Text5.Text = R

17、ElseIf D 0 Then D0 X1 = (-b + Sqr(D) / (2 * a) X2 = (-b - Sqr(D) / (2 * a) Text4.Text = X1 Text5.Text = X2 Else D40時(shí),打印時(shí),打印HOT 30C40時(shí),打印時(shí),打印 WARM 20C30時(shí),打印時(shí),打印 ROOM TEMPERATURE 10C20時(shí),打印時(shí),打印 COOL 0 40 Then Label2.Caption = HOT ElseIf C 30 Then Label2.Caption = WARM ElseIf C 20 Then Label2.Caption =

18、ROOM TEMPERATURE ElseIf C 10 Then Label2.Caption = COOL ElseIf C 0 Then Label2.Caption = COLD Else Label2.Caption = FREEZING End IfEnd Sub Text2 Text1C40時(shí),時(shí), 打印打印HOT 30C40時(shí),打印時(shí),打印 WARM 20C30時(shí),打印時(shí),打印 “ROOM TEMPERATURE 10C20時(shí),打印時(shí),打印 COOL 0C10時(shí),時(shí), 打印打印 COLD C0時(shí),時(shí), 打印打印 FREEZINGVB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目

19、錄27二、二、 情況語(yǔ)句(情況語(yǔ)句(Select CaseSelect Case) P84P841 1、形式:、形式:Select Case Select Case 測(cè)試表達(dá)式測(cè)試表達(dá)式 Case 表達(dá)式列表表達(dá)式列表1 1 語(yǔ)句塊語(yǔ)句塊1 Case 表達(dá)式列表表達(dá)式列表2 2 語(yǔ)句塊語(yǔ)句塊2 Case Else 語(yǔ)句塊語(yǔ)句塊n+1End SelectEnd Select2. 功能功能: 根據(jù)根據(jù)測(cè)試表達(dá)式測(cè)試表達(dá)式的值的值,按順序匹配按順序匹配Case后的后的表表達(dá)式達(dá)式,如果匹配成功如果匹配成功,則執(zhí)行該則執(zhí)行該Case下的語(yǔ)句塊下的語(yǔ)句塊,然后轉(zhuǎn)到然后轉(zhuǎn)到End Select語(yǔ)句之后繼續(xù)

20、執(zhí)行。語(yǔ)句之后繼續(xù)執(zhí)行。本章目錄本章目錄VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄3. 說(shuō)明1) : 數(shù)值數(shù)值或或字符表達(dá)式字符表達(dá)式,且其類型應(yīng)與Case后的表達(dá)式類型一致。2)Case 表達(dá)式列表表達(dá)式列表: 表中的表項(xiàng)為如下表中的表項(xiàng)為如下形式形式: (1) 表達(dá)式表達(dá)式1,表達(dá)式表達(dá)式2. 如如: Case 1 , 3 , 5表示當(dāng)“測(cè)試表達(dá)式”的值為1或3或5時(shí),執(zhí)行對(duì)應(yīng)的“語(yǔ)句塊” (2) 表達(dá)式表達(dá)式1 TO 表達(dá)式表達(dá)式2 如如: Case 10 TO 30表示當(dāng)“測(cè)試表達(dá)式”的值在10到30之間(包括10和30)時(shí),執(zhí)行對(duì)應(yīng)的“語(yǔ)句塊” (3) Is 如如: Cas

21、e Is = 10表示當(dāng)“測(cè)試表達(dá)式”的值大于或等于10時(shí),執(zhí)行對(duì)應(yīng)的“語(yǔ)句塊”。 Case Is = 0 與與 Case 0 相同相同 n 注意注意: 三種形式可以混用三種形式可以混用,如如: Case Is 0 And y 0 Then MsgBox(在第一象限在第一象限) ElseIf x 0 Then MsgBox(在第二象限在第二象限)ElseIf x 0 And y 0 And y 0 And y 0 MsgBox(“在第一象限在第一象限”) Case x 0 MsgBox(“在第二象限在第二象限”) Case x 0 And y 0 And y 0 MsgBox(“在第四象限在第

22、四象限”)End Select代碼二錯(cuò)誤:代碼二錯(cuò)誤:1. Select Case 后不能出現(xiàn)多個(gè)變量后不能出現(xiàn)多個(gè)變量2. Case后不能出現(xiàn)變量及有關(guān)運(yùn)算符后不能出現(xiàn)變量及有關(guān)運(yùn)算符本章目錄本章目錄例例3:成績(jī)等級(jí):成績(jī)等級(jí)例例4:月份日子數(shù):月份日子數(shù)VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄31用用Select Case語(yǔ)句來(lái)實(shí)現(xiàn)多分支選擇功能,語(yǔ)句來(lái)實(shí)現(xiàn)多分支選擇功能, 程序代碼如下:程序代碼如下: Private Sub Command1_Click()Private Sub Command1_Click() Dim score As Integer, temp As S

23、tring Dim score As Integer, temp As String score = Val(Text1.Text) score = Val(Text1.Text) temp = temp = 成績(jī)等級(jí)為:成績(jī)等級(jí)為: Select Case score Select Case score Case 0 To 59 Case 0 To 59 Label2.Caption = temp + Label2.Caption = temp + 不及格不及格 Case 60 To 79 Case 60 To 79 Label2.Caption = temp + Label2.Captio

24、n = temp + 及格及格 Case 80 To 100Case 80 To 100 Label2.Caption = temp + “ Label2.Caption = temp + “優(yōu)良優(yōu)良 Case Else Case Else Label2.Caption = Label2.Caption = 成績(jī)出錯(cuò)成績(jī)出錯(cuò) End Select End Select End Sub End Sub例例3 判斷成績(jī)的等級(jí)(優(yōu)良、及格、不及格)判斷成績(jī)的等級(jí)(優(yōu)良、及格、不及格)VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄32 (1)分析:不管哪一年,)分析:不管哪一年,1、3、5、7、

25、8、10、12月份都有月份都有31天;天;4、6、9、11月份都有月份都有30天;而對(duì)天;而對(duì)2月份則要看是否是閏年,月份則要看是否是閏年,若是閏年有若是閏年有29天,平年有天,平年有28天。天。 判斷某一年是否閏年的邏輯表達(dá)式判斷某一年是否閏年的邏輯表達(dá)式:閏年的條件是閏年的條件是:能被能被4整除,但不能被整除,但不能被100整除的年份?;蚰鼙徽哪攴??;蚰鼙?00整除的年份。整除的年份。 (y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0) (y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0) 例例4

26、:4: 輸入一個(gè)月份,輸出該月份有多少天輸入一個(gè)月份,輸出該月份有多少天VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄33Private Sub Command1_Click() “輸出輸出”按鈕按鈕 Dim y As Integer, m As Integer, d As IntegerDim y As Integer, m As Integer, d As Integer y = Val(Text1.Text) y = Val(Text1.Text) m = Val(Text2.Text) m = Val(Text2.Text) Select Case m Select Case m

27、 Case 1, 3, 5, 7, 8, 10, 12 Case 1, 3, 5, 7, 8, 10, 12 d = 31 d = 31 Case 4, 6, 9, 11 Case 4, 6, 9, 11 d = 30 d = 30 Case 2 Case 2 If (y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0) Then If (y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0) Then d = 29 d = 29 閏年的閏年的2 2月有月有2929天天 ElseElse d = 28 d = 2

28、8 平年的平年的2 2月有月有2828天天 End IfEnd If Case Else Case Else Text3.Text = Text3.Text = 非法月份!非法月份! Exit Sub Exit Sub 退出過(guò)程退出過(guò)程 End SelectEnd Select Text3.Text = d Text3.Text = dEnd SubVB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄34三、三、 條件函數(shù)條件函數(shù) 8787(1) IIf函數(shù)函數(shù)格式格式: IIfIIf(表達(dá)式,表達(dá)式為真時(shí)的值,表達(dá)式為假時(shí)的表達(dá)式,表達(dá)式為真時(shí)的值,表達(dá)式為假時(shí)的值值)功能功能: 當(dāng)當(dāng)?shù)闹禐?/p>

29、的值為True時(shí),返回第時(shí),返回第2個(gè)參數(shù)的值;個(gè)參數(shù)的值;否則,返回第否則,返回第3個(gè)參數(shù)的值。個(gè)參數(shù)的值。n IIf函數(shù)是函數(shù)是If Then Else 結(jié)構(gòu)的簡(jiǎn)潔表示結(jié)構(gòu)的簡(jiǎn)潔表示例如,將例如,將x,y中大的數(shù),放入中大的數(shù),放入Tmax變量中:變量中: Tmax = IIf(x y,x,y) 該語(yǔ)句與如下語(yǔ)句等價(jià)該語(yǔ)句與如下語(yǔ)句等價(jià) : If x y Then Tmax = x Else Tmax = y 例:例: MaxAB = IIf(A B, A, B) MaxABC = IIf(MaxAB C, MaxAB, C)本章目錄本章目錄34VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄

30、本書目錄35Private Sub Form_Load() Show a = 1: b = 3 c = 2 * a - b a = IIf(c a, a - 1, b) + 1 If a * 2 - 1 a Then a = a + 1 c = c - 1 Else a = a - 1 End If Print a, b, cEnd Sub 下列程序的運(yùn)行結(jié)果是?下列程序的運(yùn)行結(jié)果是?想一想想一想2 5 -2VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄36Private Sub Form_Load() Show a = 1: b = 3 If a * 4 - 1 = b Then If

31、 b 5 Then b = b + 1 ElseIf b 2 Then b = b - 1 Else b = b + 2 End If b = IIf(a = b, b + 1, b - 1) Print bEnd Sub 下列程序的運(yùn)行結(jié)果是?下列程序的運(yùn)行結(jié)果是?想一想想一想 2VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄37(2) Choose函數(shù)函數(shù) 格式:格式: Choose Choose(整數(shù)表達(dá)式,選項(xiàng)列表整數(shù)表達(dá)式,選項(xiàng)列表) 功能:功能:根據(jù)表達(dá)式的值根據(jù)表達(dá)式的值i,i,返回選項(xiàng)列表中第返回選項(xiàng)列表中第i個(gè)選項(xiàng)。個(gè)選項(xiàng)。如果整數(shù)表達(dá)式的值越出選項(xiàng)范圍時(shí),返回如果整數(shù)

32、表達(dá)式的值越出選項(xiàng)范圍時(shí),返回Null。例例 根據(jù)根據(jù)NopNop的值,得到的值,得到+ +、- -、中的某運(yùn)算符:中的某運(yùn)算符:Op= Choose(Nop,+,- -,) 例例4.13 4.13 根據(jù)當(dāng)前日期,顯示今日是星期幾。根據(jù)當(dāng)前日期,顯示今日是星期幾。P88P88t = Choose(Weekday(Now), “星期日星期日”, “星期一星期一”, “星期星期二二”, “星期三星期三”, “星期四星期四”, “星期五星期五”, “星期六星期六”)MsgBox(今天是:今天是: & Now & t) 本章目錄本章目錄Dim nop As Integer, op As

33、 CharRandomize()nop = Int(Rnd() * 4 + 1)op = Choose(nop, +, -, , )MsgBox(nop= & nop & op= & op)選擇結(jié)構(gòu)綜合例題例例1例例2-例例3VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄38 例如:例如:0時(shí)至?xí)r至12時(shí),顯示時(shí),顯示“早上好早上好” 利用窗體裝載利用窗體裝載(Load)事件,采用事件,采用Print直接在窗體上輸出結(jié)果直接在窗體上輸出結(jié)果 Private Sub Form_Load() Dim h As Integer Show 使使print輸出在窗體上的內(nèi)容

34、可見(jiàn)輸出在窗體上的內(nèi)容可見(jiàn) h = Hour(Time() 取系統(tǒng)的時(shí)間取系統(tǒng)的時(shí)間 FontSize = 30 : ForeColor = RGB(255, 0, 0) BackColor = RGB(255, 255, 0) If h 12 Then Print 早上好!早上好! Else If h 0,則有兩個(gè)不等的實(shí)根 (4) 如果a 0,且b2-4ac 0 X1 = (-B + Sqr(Delta) / (2 * A) X2 = (-B - Sqr(Delta) / (2 * A) Print X1=; Format(X1, 0.000) CurrentX = 600: Curren

35、tY = 1300 Print X2=; Format(X2, 0.000) Case Is 0 A1 = -B / (2 * A) A2 = Sqr(Abs(Delta) / (2 * A) VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄42 Print X1=; Format(A1, 0.000); +; _ Format(A2, 0.000); i CurrentX = 600 CurrentY = 1300 Print X2=; Format(A1, 0.000); -; _ Format(A2, 0.000); i End SelectEnd SubVB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)

36、簡(jiǎn)明教程本書目錄本書目錄43 例3:設(shè)計(jì)一個(gè)四則運(yùn)算的自我練習(xí)應(yīng)用程序,界面如下圖所示。 Text1Text4Text3Text2Label4Label2VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄44要求: (1) 執(zhí)行時(shí),當(dāng)在Text1中輸入一種運(yùn)算符后,在標(biāo)簽Label2中立即出現(xiàn)該運(yùn)算符號(hào)。(2) 單擊“出題”按鈕可以產(chǎn)生兩個(gè)0,1000之間的隨機(jī)整數(shù),這時(shí)由Text2、Label2和Text3組成一個(gè)表達(dá)式。(3) 可以通過(guò)單擊“計(jì)算”按鈕計(jì)算所生成的表達(dá)式的值。(4) 也可以由用戶在文本框Text4中輸入運(yùn)算結(jié)果通過(guò)單擊“判斷”按鈕可以判斷輸入的運(yùn)算結(jié)果是否正確,然后在La

37、bel4上顯示“正確”或“錯(cuò)誤”。(5) 單擊“退出”按鈕結(jié)束運(yùn)行。Text1Text4Text3Text2Label4Label2VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄45(1) 在Text1中輸入加、減、乘、除符號(hào)后,在Label2中立即出現(xiàn)相應(yīng)的運(yùn)算符號(hào)。 Private Sub Text1_Change() Label2.Caption = Text1.Text End Sub(2) 單擊“出題”按鈕Command1,生成兩個(gè)0,1000之間的隨機(jī)整數(shù)。 Private Sub Command1_Click() Randomize Text2.Text = Int(Rnd * 1001) Text3.Text = Int(Rnd * 1001) Text4.Text= End SubText1Text4Text3Text2Label4Label2VB程序設(shè)計(jì)簡(jiǎn)明教程程序設(shè)計(jì)簡(jiǎn)明教程本書目錄本書目錄46(3) 單擊單擊“計(jì)算計(jì)算”按鈕按鈕Command2得出得出Text4的值。的值。Private Sub Command2_Click() If Label2.Ca

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論