




已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第 4 章,選擇結(jié)構(gòu)設(shè)計(jì),選擇結(jié)構(gòu)程序設(shè)計(jì) 1.單行結(jié)構(gòu)條件語(yǔ)句(單分支結(jié)構(gòu)) If Then If Then 語(yǔ)句塊 End If 當(dāng)條件表達(dá)式的值為真時(shí),執(zhí)行Then后的語(yǔ)句,否則,不執(zhí)行任何操作。 表達(dá)式為邏輯表達(dá)式,數(shù)值表達(dá)式和關(guān)系表達(dá)式視為邏輯表達(dá)式的特例。 語(yǔ)句塊可以是一條或多條語(yǔ)句。 可以使用單行或多行語(yǔ)法有條件地執(zhí)行一個(gè)語(yǔ)句。, If anyDateNow Then anyDate=Now If anyDateNow Then anyDate=Now End If IfThen的單行格式不用End If語(yǔ)句。 例3.5,2.雙分支結(jié)構(gòu)條件語(yǔ)句: If Then Else End If If ThenElse 當(dāng)表達(dá)式值為非零時(shí),執(zhí)行Then后的語(yǔ)句1(或語(yǔ)句1)否則執(zhí)行Else后面的語(yǔ)句塊2(或語(yǔ)句2)。 說(shuō)明:塊結(jié)構(gòu)的條件語(yǔ)句可以嵌套,即把一個(gè)IfThenElsef塊放在另一個(gè)IfThenElsef塊內(nèi),嵌套必須完全嵌套,也就是內(nèi)層條件語(yǔ)句必須完全包含在外層條件語(yǔ)句之中。 例3.6 -3.7,3.IfThenElseIf(多分支結(jié)構(gòu)) IfThen ElseIfThen Else End If 執(zhí)行過(guò)程為:如果表達(dá)式1為真,執(zhí)行語(yǔ)句塊1,否則,如果表達(dá)式2為真,則執(zhí)行語(yǔ)句塊2,如果條件都不是真,則執(zhí)行Else后的語(yǔ)句塊。,說(shuō)明: 不管有幾個(gè)分支,程序執(zhí)行了一個(gè)分支后,其余分支不再進(jìn)行。 ElseIf子句的數(shù)量沒(méi)有限制,可以根據(jù)需要使用任意多個(gè)ElseIf子句。 語(yǔ)句中的ElseIf子句和Else子句者是可選項(xiàng),如果省略這些子句,則成為單分支結(jié)構(gòu)。 IfThenElseIf只是 IfThenElse的一個(gè)特例。可以使用任意數(shù)量的ElseIf子句,或者一個(gè)也不用。可以有一個(gè)Else子句,而不管有沒(méi)有ElseIf子句。 例3.83.9,Private Sub Form_Click() Dim a As Single, b As Single, c As Single Dim p As Single, s As Single Text1.Text = “ : Text2.Text = “ : Text3.Text = “ a = val(Text1) : b = val(Text2) t :c = val(Text3) t If a+bc and b+ca and a+cb then p = (a + b + c) / 2 s = Sqr(p * (p - a) * (p - b) * (p - c) Else print “它不能構(gòu)成一個(gè)三角形” End If End Sub,編寫(xiě)一個(gè)統(tǒng)計(jì)學(xué)生考試成績(jī)的程序: 如果滿(mǎn)足條件CJ60時(shí),打印出“成績(jī)不及格”,采用的條件語(yǔ)句是: If CJ60 Then Print “成績(jī)不及格“ 多行代碼: If CJ60 Then Print “成績(jī)不及格“ Print “請(qǐng)準(zhǔn)備補(bǔ)考“ End If,Private Sub Command1_Click() Dim score As Integer, temp As String score = Val(Text1.Text) temp = “成績(jī)等級(jí)為:“ If score 0 Then Label2.Caption = “成績(jī)出錯(cuò)“ ElseIf score 60 Then Label2.Caption = temp + “不及格“ ElseIf score = 79 Then Label2.Caption = temp + “及格“ ElseIf score = 100 Then Label2.Caption = temp + “優(yōu)良“ Else Label2.Caption = “成績(jī)出錯(cuò)“ End If End Sub,4. Select Case選擇結(jié)構(gòu)(多分支結(jié)構(gòu)) 格式:Select Case 測(cè)試變量或表達(dá)式 Case 表達(dá)式表1 語(yǔ)句塊1 Case 表達(dá)式表2 語(yǔ)句塊2 Case 表達(dá)式表n 語(yǔ)句塊n Case 表達(dá)式表n+1 語(yǔ)句塊n+1 End Select, Select Case在結(jié)構(gòu)的上方處理一個(gè)測(cè)試變量或表達(dá)式,并且只計(jì)算一次,然后根據(jù)測(cè)試變量或表達(dá)式的值,從多個(gè)語(yǔ)句塊中選擇符合條件(值相等)的一個(gè)語(yǔ)句塊執(zhí)行,之后自動(dòng)轉(zhuǎn)到End Select 后的語(yǔ)句執(zhí)行;如果沒(méi)有找到與Case 子句中的表達(dá)式相匹配的值,則執(zhí)行Case Else子句后面的語(yǔ)句塊,然后轉(zhuǎn)到End Select 后的語(yǔ)句執(zhí)行。 測(cè)試變量或表達(dá)式只能是數(shù)值表達(dá)式或字符串表達(dá)式,不能是邏輯表達(dá)式。 語(yǔ)句塊由一行或多行語(yǔ)句組成。 表達(dá)式表與測(cè)試變量或表達(dá)式的類(lèi)型必須相同,每一個(gè)表達(dá)式是一個(gè)或幾個(gè)值的列表。如果在一個(gè)列表中有多個(gè)值,用逗號(hào)分隔。,一個(gè)表達(dá)式: Case 6 一組枚舉表達(dá)式: Case 1,3,5,7 Case “I”,“YOU”,“Then” 表達(dá)式1To表達(dá)式2。該形式指定某個(gè)數(shù)值范圍,較小的數(shù)值在前面,較大的數(shù)值在后面:字符串常量則按字母的ASCII碼順序從低到高排列。 Case 1 To 10 Case “a” To “e”,Is。 Case Is=80 Case Is”Y” 當(dāng)有多個(gè)Case 子句的取值范圍和測(cè)試表達(dá)式的值相符時(shí),只執(zhí)行符合要求的第一個(gè)Case子句后面的語(yǔ)句塊。 Select Case語(yǔ)句只對(duì)單個(gè)表達(dá)式求值,并根據(jù)求值結(jié)果執(zhí)行不同的語(yǔ)句塊;而IfThenElse語(yǔ)句可以對(duì)不同的表達(dá)式求值,然而招待不同的操作。,表達(dá)式表通常是一個(gè)具體值(如Case 1),每一個(gè)值確定一個(gè)分支。還有三種方法可以確定設(shè)定值: (1)一組值(用逗號(hào)隔開(kāi))。示例: Case 1,3,5 表示條件在1,3,5范圍內(nèi)取值 (2)表達(dá)式1 TO 表達(dá)式2。示例: Case 60 To 80 表示條件取值范圍為6080 (3)Is關(guān)系式。示例: Case Is5 表示條件在小于5范圍取值,當(dāng)用戶(hù)單擊“答題”按鈕時(shí),程序提供輸入對(duì)話(huà)框,由用戶(hù)輸入答案,再通過(guò)輸出框顯示評(píng)判意見(jiàn)。采用的程序代碼如下: Private Sub Form_Load() Show Print FontSize = 18 Print Spc(9); “考一考你“ FontSize = 13 Print Print Spc(5); “雞兔同籠,已知雞和兔總頭數(shù)為23,“ Print Spc(3); “總腳數(shù)為56,求雞兔各有多少?“ End Sub,Private Sub Command1_Click() h = 23 : f = 56 總頭數(shù)及總腳數(shù) j1 = (4 * h - f) / 2 求出的雞數(shù) t1 = (f - 2 * h) / 2 求出的兔數(shù) j2 = Val(InputBox(“雞的只數(shù)是多少?“, “請(qǐng)回答“) t2 = Val(InputBox(“兔的只數(shù)是多少?“, “請(qǐng)回答“) Select Case True 選擇真值 Case j1 = j2 And t1 = t2 MsgBox (“回答完全正確!“) Case j1 = j2 MsgBox (“雞數(shù)回答正確,但兔數(shù)不對(duì)!“) Case t1 = t2 MsgBox (“兔數(shù)回答正確,但雞數(shù)不對(duì)!“) Case Else MsgBox (“回答錯(cuò)誤!“) End Select End Sub,1. Timer控件 2. 常用屬性 Enabled屬性:確定計(jì)時(shí)器是否可用 Interval屬性:設(shè)置兩個(gè)Timer事件之間的時(shí)間間隔,其值以毫秒(1ms=1/1000 s)為單位 例如,如果希望每半秒鐘產(chǎn)生一個(gè)Timer事件,那么Interval屬性值應(yīng)設(shè)置為500,這樣每隔500 ms就會(huì)觸發(fā)一次Timer事件,從而執(zhí)行相應(yīng)的Timer事件過(guò)程 3. 事件 計(jì)時(shí)器控件只響應(yīng)一個(gè)Timer事件。也就是說(shuō),計(jì)時(shí)器控件對(duì)象在間隔了一個(gè)Interval設(shè)定時(shí)間后,便觸發(fā)一次Timer事件,(1)編寫(xiě)一個(gè)程序,要在文本框中顯示時(shí)間 (2)編寫(xiě)程序代碼 Private Sub Timer1_Timer() timer事件過(guò)程 Text1.Text = Time Time是時(shí)間函數(shù) End Sub,(1)創(chuàng)建應(yīng)用程序的用戶(hù)界面和設(shè)置對(duì)象屬性 單選按鈕組Option1、Option2、Option3及Option4分別代表+、-、*(乘)和/(除)運(yùn)算 (2)編寫(xiě)程序代碼,例4.13 輸入兩個(gè)運(yùn)算數(shù)和運(yùn)算符(+、-、*或/),組 成算式并計(jì)算結(jié)果,然后顯示出來(lái),Private Sub Command1_Click() “計(jì)算”按鈕 Dim a As Single, b As Single, t As Single, s As String a = Val(Text1.Text) b = Val(Text2.Text) Select Case True Case Option1.Value + 運(yùn)算 s = “+“ t = a + b Case Option2.Value - 運(yùn)算 s = “-“ t = a - b Case Option3.Value * 運(yùn)算 s = “*“ t = a * b Case Option4.Value / 運(yùn)算 s = “/“ t = a / b End Select Text3.Text = a & s & b & “=“ & t End Sub,Private Sub Command2_Click() Text1.Text = “ Text2.Text = “ Text3.Text = “ End Sub Private Sub Command3_Click() Unload Me End Sub,Private Sub Form_Load() Option1.Value = True + 運(yùn)算 End Sub,程序框圖,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 Single, P As Single a = Val(Text1.Text) 取數(shù)據(jù)a b = Val(Text2.Text) 取數(shù)據(jù)b c = Val(Text3.Text) 取數(shù)據(jù)c If a = 0 Then 當(dāng)a=0 Text4.Text = “不是二次方程“ Text5.Text = “不是二次方程“ Else a0 D = b * b - 4 * a * c R = -b / (2 * a),If D = 0 Then D=0 Text4.Text = R T
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電池研發(fā)助理崗位面試問(wèn)題及答案
- 泵類(lèi)技術(shù)員崗位面試問(wèn)題及答案
- 版權(quán)經(jīng)理崗位面試問(wèn)題及答案
- 資產(chǎn)評(píng)估項(xiàng)目主管崗位面試問(wèn)題及答案
- 水利工程管理工程師崗位面試問(wèn)題及答案
- 2025屆湖南省嘉禾一中、臨武一中化學(xué)高二下期末統(tǒng)考試題含解析
- 河北省邢臺(tái)市祁村中學(xué)2025年高二下化學(xué)期末質(zhì)量跟蹤監(jiān)視試題含解析
- 山東禹城市綜合高中2025屆化學(xué)高二下期末復(fù)習(xí)檢測(cè)模擬試題含解析
- 公共停車(chē)收費(fèi)管理辦法
- 醫(yī)用健康賬戶(hù)管理辦法
- 2025年廣東省中考英語(yǔ)試題卷(含答案解析)
- 2025年吉林省中考物理試卷真題及答案詳解(精校打印版)
- 2025至2030中國(guó)羅伊氏乳桿菌行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展報(bào)告
- 標(biāo)準(zhǔn)的編寫(xiě)講課件
- 學(xué)堂在線(xiàn) 護(hù)理研究方法 期末考試答案
- 2025年湖南省中考英語(yǔ)試卷真題(含答案解析)
- 2025年天津市中考英語(yǔ)真題試卷及答案
- 鄉(xiāng)鎮(zhèn)會(huì)議制度管理制度
- 2025至2030年中國(guó)電子束曝光系統(tǒng)行業(yè)市場(chǎng)研究分析及發(fā)展前景研判報(bào)告
- 防火封堵施工方案(新版)
- 大面積地面荷載作用附加沉降量計(jì)算
評(píng)論
0/150
提交評(píng)論