




已閱讀5頁(yè),還剩34頁(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,第5章 選擇結(jié)構(gòu)程序設(shè)計(jì),本章要點(diǎn): 條件語(yǔ)句 單行結(jié)構(gòu)條件語(yǔ)句If.Then.Else . 塊結(jié)構(gòu)條件語(yǔ)句If.Then.EndIf 多分支選擇語(yǔ)句Select Case.End Select Timer控件,單選按鈕和復(fù)選按鈕,特點(diǎn): 根據(jù)條件是否成立,決定程序的執(zhí)行分支,2,5.1.1 單行結(jié)構(gòu)條件語(yǔ)句,1. 格式 If Then Else 2. 功能 如果成立,則執(zhí)行 否則執(zhí)行,3,3. 說(shuō)明 (1) 可以是: 關(guān)系表達(dá)式 布爾表達(dá)式 數(shù)值表達(dá)式:0為False;非0為True 字符串表達(dá)式: “0“為False;非“0“為True (2) 可以沒(méi)有Else部分,這時(shí)必須有。,例: If X“aaa“ Then Print X,4,(3) 、: 可以有多條語(yǔ)句,各語(yǔ)句之間用冒號(hào)隔開(kāi)。 例: If N0 Then A=A+B:B=B+A Else A=A-B:B=B-A (4)應(yīng)作為一條語(yǔ)句書寫。如果語(yǔ)句太長(zhǎng)需要換行,必須在折行處使用續(xù)行符號(hào)。 (5) 無(wú)論條件是否成立,都具有共同出口 例: If X = 0 Then X = 1 + X Else X = 5 - X Y = 1 - X Print “Y=“; Y 若 X=2 Y? 若 X=-2 Y?,共同出口,(6)單行結(jié)構(gòu)條件語(yǔ)句可以嵌套 IF . THEN.IF . THEN .ELSE .ELSE,5,【例5-1】設(shè)界面如下圖所示,用文本框輸入x的值,單擊“計(jì)算Y”按鈕時(shí),根據(jù)以下公式計(jì)算y的值。,Private Sub Command1_Click() X = Val(Text1.Text) If X = 0 Then Y = Abs(X) Else Y = Log(X) Label3.Caption = Y End Sub,6,例: 比較以下兩段程序,是否都能夠?qū)崿F(xiàn)上例的功能。,程序段1: X = Val(Text1.Text) Y = Abs(X) If X 0 Then Y = Log(X) Label3.Caption = Y,程序段2: X = Val(Text1.Text) Y = Log(X) If X = 0 ThenY = Abs(X) Label3.Caption = Y,7,5.1.2 塊結(jié)構(gòu)條件語(yǔ)句,1.格式 If Then ElseIf Then ElseIf Then Else End If,If Then 語(yǔ)句組1 Else 語(yǔ)句組2 End If,注意: 格式書寫格式,8,塊結(jié)構(gòu)條件語(yǔ)句的功能:,9,【例5-8】某百貨公司為了促銷,采用購(gòu)物打折的優(yōu)惠辦法。1000元以上者,按九五折優(yōu)惠;2000元以上者,按九折優(yōu)惠; 3000元以上者,按八五折優(yōu)惠; 5000元以上者,按八折優(yōu)惠;編寫程序,輸入購(gòu)物款數(shù),計(jì)算并輸出優(yōu)惠價(jià)。,分析:設(shè)購(gòu)物款數(shù)為x元,優(yōu)惠價(jià)為y元,則優(yōu)惠付款公式為: x (x=5000),10,設(shè)計(jì)步驟如下: (1)建立應(yīng)用程序界面并設(shè)置對(duì)象屬性,如圖所示。 (2)編寫程序代碼.命令按鈕command1的Click事件代碼如下:,ElseIf x 3000 Then y = 0.9 * x ElseIf x 5000 Then y = 0.85 * x Else y = 0.8 * x End If Text2.Text = y End Sub,Private Sub command1_Click() Dim x As Single, y As Single x = Val(Text1.Text) If x 1000 Then y = x ElseIf x 2000 Then y = 0.95 * x,11,注意: (1) ElseIf不能寫成Else If,即中間不能有空格。 (2) 在書寫時(shí),可以將If語(yǔ)句、ElseIf子句、Else子句、和End If語(yǔ)句左對(duì)齊,而各語(yǔ)句組向右縮進(jìn)若干空格,以使程序結(jié)構(gòu)更清楚。 (3) 嚴(yán)格按格式要求書寫,不可隨意換行或?qū)尚泻喜⒊梢恍?。例如,?duì)于條件結(jié)構(gòu): If x = 0 Then y = 1 Else y = 2 End If 以下兩種寫法都是錯(cuò)誤的:,寫法一: If x=0 Then y=1 Else y = 2 End If,寫法二: If x = 1 Then y = 10 Else y = 20 End If,12,5.1.3 多分支選擇語(yǔ)句,1. 格式 Select Case Case Case Case Else End Select 2. 功能: 根據(jù)測(cè)試表達(dá)式的值,按順序匹配Case后的表達(dá)式,如果匹配成功,則執(zhí)行該Case下的語(yǔ)句塊,然后轉(zhuǎn)到End Select語(yǔ)句之后繼續(xù)執(zhí)行。,13,多分支選擇語(yǔ)句的功能流程圖:,14,3. 說(shuō)明 : 數(shù)值或字符串表達(dá)式 Case 表達(dá)式表: 表中的表項(xiàng)為如下形式: (1) 表達(dá)式1,表達(dá)式2. 如: Case 1 , 3 , 5 (2) 表達(dá)式1 TO 表達(dá)式2 如: Case 10 TO 30 Case “A“ TO “Z“ (3) Is 如: Case Is = 10 Case Is = 0 與 Case 0 相同 注意: 測(cè)試表達(dá)式的類型應(yīng)與Case后表達(dá)式類型一致,且三種形式可以混用,如: Case Is -5 , 0 , 5 To 100 舉例5-8 vb5lt8,15,【例5-12】任給定一年,判斷是否是閏年,并根據(jù)給出的月份判斷是什么季節(jié)和該月有多少天。,分析: 根據(jù)閏年條件可得出判斷閏年的邏輯表達(dá)式 (Y mod 4 =0 and y mod 1000) or( y mod 400=0),每月的天數(shù)可根據(jù)月份來(lái)定,設(shè)計(jì)用戶界面如圖所示,設(shè)置5個(gè)標(biāo)簽,label3label5的boardstyle設(shè)置為fixed single,Private Sub Command1_Click() Dim y As Integer, m As Integer Dim leapyear As Boolean y = Val(Text1.Text) m = Val(Text2.Text) If (y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0) Then leapyear = True Label3.Caption = “閏年“ Else leapyear = False Label3.Caption = “非閏年“ End If,17,Select Case m Case 3 To 5 Label4.Caption = “spring“ Case 6 To 8 Label4.Caption = “summer“ Case 9 To 11 Label4.Caption = “autummn“ Case 12, 1, 2 Label4.Caption = “winter“ End Select,18,Select Case m Case 1, 3, 5, 7, 8, 10, 12 Label5.Caption = “31天“ Case 4, 6, 9, 11 Label5.Caption = “30天“ Case 2 If leapyear Then Label5.Caption = “29天“ Else Label5.Caption = “28天” End If End Select Text1.SetFocus End Sub,Private Sub Command2_Click() Text1.Text = “ Text1.Text = “ Label3.Caption = “ Label4.Caption = “ Label5.Caption = “ End Sub,19,如果在條件成立或不成立的情況下要繼續(xù)判斷其他條件,則可以使用嵌套的條件語(yǔ)句來(lái)實(shí)現(xiàn),也就是在語(yǔ)句組中再使用另一個(gè)條件語(yǔ)句。,5.1.4 條件語(yǔ)句的嵌套,塊結(jié)構(gòu)條件語(yǔ)句的嵌套示例: If A = 1 Then If B = 0 Then Print “*0*“ ElseIf B = 1 Then Print “*1*“ End If ElseIf A = 2 Then Print “*2*“ End If,20,多分支選擇語(yǔ)句的嵌套示例: Select Case A Case 1 Select Case B Case 0 Print “*0*“ Case 1 Print “*1*“ End Select Case 2 Print “*2*“ End Select,21,多分支選擇語(yǔ)句與塊結(jié)構(gòu)條件語(yǔ)句的互相嵌套示例: Select Case A Case 1 If B = 0 Then Print “*0*“ ElseIf B = 1 Then Print “*1*“ End If Case 2 Print “*2*“ End Select,22,5.2.1IIf函數(shù) 格式: IIf(, , ) 功能: 當(dāng)?shù)闹禐門rue時(shí),返回第2個(gè)參數(shù)的值;當(dāng)?shù)闹禐镕alse時(shí),返回第3個(gè)參數(shù)的值。(類似于具有兩個(gè)分支的If語(yǔ)句的功能) 例: 使用IIf函數(shù)求兩個(gè)變量A和B的較大數(shù)。 MaxAB = IIf(A B, A, B) 例: 使用IIf函數(shù)求三個(gè)變量A、B和C的最大數(shù)。 MaxAB = IIf(A B, A, B) MaxABC = IIf(MaxAB C, MaxAB, C),5.2 條件函數(shù),23,5.2.2Choose函數(shù) 格式: Choose(, ,.,) 功能: 當(dāng)?shù)闹禐?時(shí),返回的值;當(dāng)?shù)闹禐?時(shí),返回的值;。如果的值不是整數(shù),則會(huì)先四舍五入為整數(shù)。 例: 將成績(jī)1分、2分、3分、4分和5分轉(zhuǎn)換成相應(yīng)的等級(jí): 不及格(1分,2分)、及格(3分),良(4分),優(yōu)(5分)。,Grade = Choose(Score, “不及格“, “不及格“, “及格“, “良“, “優(yōu)“),24,1.用途 時(shí)鐘控件(Timer)又稱計(jì)時(shí)器、定時(shí)器控件,用于有規(guī)律地定時(shí)執(zhí)行指定的工作,適合編寫不需要與用戶進(jìn)行交互就可直接執(zhí)行的代碼,如計(jì)時(shí)、倒計(jì)時(shí)、動(dòng)畫等。在程序運(yùn)行階段,時(shí)鐘控件不可見(jiàn) 2.屬 性 (1)Interval(事件間隔)屬性 取值范圍在0 到 64767 之間(包括這兩個(gè)數(shù)值),單位為毫秒(0.001秒),表示計(jì)時(shí)間隔。若將Interval屬性設(shè)置為0或負(fù)數(shù),則計(jì)時(shí)器停止工作。 需要屏蔽計(jì)時(shí)器,將Interval設(shè)為0;需要每0.5s產(chǎn)生一個(gè)計(jì)時(shí)器事件,則將Interval設(shè)為500;若需要每1s產(chǎn)生一個(gè)計(jì)時(shí)器事件,則將Interval設(shè)為1000。 (2)Enabled屬性 無(wú)論何時(shí),只要時(shí)鐘控件的Enabled屬性被設(shè)置為True而且Interval屬性值大于0,則計(jì)時(shí)器開(kāi)始工作(以Interval屬性值為間隔,觸發(fā)Timer事件)。 通過(guò)把Enabled屬性設(shè)置為False可使時(shí)鐘控件無(wú)效,即計(jì)時(shí)器停止工作。,5.3 計(jì)時(shí)器控件Timer,25,3. 方法: VB沒(méi)有為時(shí)鐘控件提供有關(guān)的方法。 4. 事件: 時(shí)鐘控件只能響應(yīng)Timer事件,當(dāng)Enabled屬性值為True且Interval屬性值大于0時(shí),該事件以Interval屬性指定的時(shí)間間隔發(fā)生,需要定時(shí)執(zhí)行的操作即放在該事件過(guò)程中完成。,例5-14 在窗體上設(shè)計(jì)一個(gè)能按12小時(shí)格式和24小時(shí)格式進(jìn)行轉(zhuǎn)換的數(shù)字時(shí)鐘。v5lt14 分析:本題目需要使用的函數(shù)有3個(gè)。 Time函數(shù):返回系統(tǒng)時(shí)間 Hour函數(shù):返回時(shí)間表達(dá)式中的小時(shí)數(shù) Format(time,form1.tag)函數(shù):按照指定格式返回系統(tǒng)當(dāng)前時(shí)間。,26,設(shè)計(jì)步驟如下: 1.建立用戶界面,如圖所示。,2.設(shè)置對(duì)象屬性 Form1.tag: hh:mm:ss Label1.caption: 00:00:00 Label1.color:白色 Label1.bordestyle: 1-fixed single label2.visible:false Terval:1000,27,3.編寫事件代碼,Private Sub Timer1_Timer() Label1.Caption = Format(Time, Form1.Tag) If Hour(Time) 12 Then Label2.Caption = “下午“ Else Label2.Caption = “上午“ End If End Sub,28,3.編寫事件代碼,Private Sub Command1_Click() If Command1.Caption = “改為12小時(shí)制“ Then Form1.Tag = “hh:mm:ss AM/PM“ Command1.Caption = “改為24小時(shí)制“ Label2.Visible = True Else Form1.Tag = “hh:mm:ss “ Command1.Caption = “改為12小時(shí)制“ Label2.Visible = False End If End Sub,29,5.4 單選鈕、復(fù)選框,5.4.1 單選鈕 1. 用途 單選鈕(OptionButton)也稱作選擇按鈕。一組單選鈕控件可以提供一組彼此相互排斥的選項(xiàng),任何時(shí)刻用戶只能從中選擇一個(gè)選項(xiàng),實(shí)現(xiàn)一種“單項(xiàng)選擇”的功能,被選中項(xiàng)目左側(cè)圓圈中會(huì)出現(xiàn)一黑點(diǎn)。,單選按鈕,30,2. 重要屬性 (1) Caption:文本標(biāo)題。設(shè)置單選鈕的文本注釋內(nèi)容。 (2) Alignment屬性: 0:Left Justify(缺省)控件鈕在左邊,標(biāo)題顯示在右邊。 1:Right Justify 控件鈕在右邊,標(biāo)題顯示在左邊。 (3)Value 屬性,True: 單選鈕被選定 False: 單選鈕未被選定(缺省設(shè)置),(4) Style 屬性 0-Standard: 標(biāo)準(zhǔn)方式 1-Graphical:圖形方式 說(shuō) 明: 在Style屬性設(shè)置為1時(shí),可使用 Picture 屬性(未選定時(shí)的圖標(biāo)或位圖)、DownPicture屬性( 選定時(shí)的圖標(biāo)或位圖)、DisabledPicture屬性(禁止選擇時(shí)的圖標(biāo)或位圖),(5) Enabled 屬性 要禁用某個(gè)單選按鈕,可將其Enabled屬性設(shè)置為假。程序運(yùn)行時(shí),那么就顯示為淺灰色,表示無(wú)法選取。,31,3. 方法 SetFocus方法是單選鈕控件最常用的方法,可以在代碼中通過(guò)該方法將Value屬性設(shè)置為True。 與命令按鈕相同,使用該方法之前,必須要保證單選鈕處于可見(jiàn)和可用狀態(tài)(即Visible與Enabled屬性值均為True)。,4. 事件 Click事件是單選鈕控件最基本的事件,一般情況用戶無(wú)需為單選鈕編寫Click事件過(guò)程,因?yàn)楫?dāng)用戶單擊單選鈕時(shí),它會(huì)自動(dòng)改變狀態(tài)。 例5-15 單選鈕示例 修改 例5-14。,32,例5-17 設(shè)計(jì)滾動(dòng)字幕,使“歡迎使用學(xué)生成績(jī)管理系統(tǒng)”字樣自右向左反復(fù)移動(dòng)。,設(shè)計(jì)步驟如下: 1。建立如圖所示界面,增加一個(gè)計(jì)時(shí)器控件,一個(gè)label1和一個(gè)command1,四個(gè)單選按鈕。 2. 設(shè)置屬性:四個(gè)單選按鈕的style屬性設(shè)為1-graphical。Terval=100,timer.enabled=false 3.事件代碼: Private Sub Command1_Click() If Command1.Caption = “&s 暫?!?Then Command1.Caption = “&c 繼續(xù)“ Timer1.Enabled = False Else Command1.Caption = “&s 暫?!?Timer1.Enabled = True End If End Sub,33,Private Sub Timer1_Timer() If Label1.Left + Label1.Width 0 Then Label1.Move Label1.Left - 20 Else Label1.Left = Form1.ScaleWidth End If End Sub private Sub Option1_Click() Label1.FontName = “宋體“ End Sub Private Sub Option2_Click() Label1.FontName = “黑體“ End Sub Private Sub Option3_Click() Label1.FontName = “隸書“ End Sub Private Sub Option4_Click() Label1.FontName = “楷體_GB2312“ End Sub,34,5.4.2 復(fù)選框或檢查框,1. 用途 復(fù)選框(CheckBox)也稱作檢查框、選擇框。一組復(fù)選框控件可以提供多個(gè)選項(xiàng),它們彼此獨(dú)立工作,所以用戶可以同時(shí)選擇任意多個(gè)選項(xiàng),實(shí)現(xiàn)一種“不定項(xiàng)選擇”的功能。選擇某一選項(xiàng)后,該控件將顯示,而清除此選項(xiàng)后,消失。,2. 重要屬性 Caption、A
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國(guó)腰部牽引裝置行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 2025至2030中國(guó)脂肪和油脂行業(yè)市場(chǎng)占有率及投資前景評(píng)估規(guī)劃報(bào)告
- 2025至2030中國(guó)膠原蛋白行業(yè)產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及投資規(guī)劃深度研究報(bào)告
- 2025至2030中國(guó)肢體吊卡行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 2025至2030中國(guó)聚酰胺66行業(yè)深度研究及發(fā)展前景投資評(píng)估分析
- 2025至2030中國(guó)美術(shù)學(xué)校行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資機(jī)會(huì)報(bào)告
- 2025至2030中國(guó)羊奶制品行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 2025至2030中國(guó)網(wǎng)絡(luò)演藝行業(yè)深度發(fā)展研究與企業(yè)投資戰(zhàn)略規(guī)劃報(bào)告
- 2025至2030中國(guó)纈草酸市場(chǎng)營(yíng)銷前景及未來(lái)運(yùn)營(yíng)趨勢(shì)研究報(bào)告
- 2025至2030中國(guó)織物清新劑行業(yè)市場(chǎng)深度研究及發(fā)展前景投資可行性分析報(bào)告
- 江山南方水泥有限公司浙江省江山市大陳鄉(xiāng)烏龍村鐵錘山水泥用灰?guī)r礦建設(shè)項(xiàng)目環(huán)境影響報(bào)告表
- 小學(xué)語(yǔ)文主題教學(xué)論:理論重塑與創(chuàng)新實(shí)踐
- 工程框架協(xié)議合同協(xié)議
- 電力合規(guī)管理培訓(xùn)
- AI基礎(chǔ)知識(shí)入門
- 2025年甘肅蘭州新區(qū)城投地產(chǎn)置業(yè)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 小學(xué)生心理健康與輔導(dǎo)(第4版) 課件匯 第1-6章 小學(xué)生心理健康概述-小學(xué)生自我意識(shí)的發(fā)展與輔導(dǎo)
- 電源適配器輸出過(guò)壓保護(hù)測(cè)試方法
- 強(qiáng)制執(zhí)行的拘留申請(qǐng)書
- 攪拌站申請(qǐng)書
- 電瓶車抵押給個(gè)人合同(2篇)
評(píng)論
0/150
提交評(píng)論