




已閱讀5頁(yè),還剩44頁(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)介
VB程序設(shè)計(jì),第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),本章知識(shí)點(diǎn): 順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),常用算法的應(yīng)用等。,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.1 順序結(jié)構(gòu)程序設(shè)計(jì) 4.2 選擇結(jié)構(gòu)程序設(shè)計(jì) 4.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 4.4 常用算法舉例,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.1 順序結(jié)構(gòu)程序設(shè)計(jì) 4.1.1 賦值語(yǔ)句 賦值語(yǔ)句一般形式如下: 變量名=表達(dá)式 對(duì)象.屬性=表達(dá)式 功能:完成表達(dá)式的計(jì)算,將計(jì)算結(jié)果賦值給等號(hào)左側(cè)的變量或?qū)ο蟮膶傩?。例如?x=1 把1賦給變量x Text1.text=“hello!“ 把字符串“hello!“賦給文本框Text1的text屬性,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.1 順序結(jié)構(gòu)程序設(shè)計(jì) 4.1.2 數(shù)據(jù)輸入 用戶(hù)主要通過(guò)三種方式實(shí)現(xiàn)數(shù)據(jù)輸入:使用文本框控件,使用系統(tǒng)提供的InputBox函數(shù),使用磁盤(pán)數(shù)據(jù)文件。本節(jié)主要介紹InputBox函數(shù)。函數(shù)格式如下: 變量名$=InputBox(提示信息,對(duì)話(huà)框標(biāo)題,缺省值) 功能:彈出輸入對(duì)話(huà)框,供用戶(hù)輸入一個(gè)數(shù)據(jù)。 其中: 提示信息:是一個(gè)字符串表達(dá)式,最大長(zhǎng)度不超過(guò)1024個(gè)字符,要來(lái)提示用戶(hù)輸入相關(guān)內(nèi)容,可使用chr(13)+chr(10)實(shí)現(xiàn)換行。 對(duì)話(huà)框標(biāo)題:是字符串表達(dá)式,可省略,默認(rèn)為應(yīng)用程序名。 缺省值:是顯示在對(duì)話(huà)框輸入?yún)^(qū)的默認(rèn)值。,例如,Dim x% x= Val(InputBox(“請(qǐng)輸入一個(gè)數(shù)“ ,“輸入框“,“100 “) 在屏幕上顯示如圖4.2所示的對(duì)話(huà)框:,圖4.2 InputBox對(duì)話(huà)框,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.1 順序結(jié)構(gòu)程序設(shè)計(jì) 4.1.3 數(shù)據(jù)輸出 1)Print方法 Print方法的一般格式如下: 對(duì)象名.PrintSpc(n)|Tab(n),|; 例如:Print Format(1234.5,“00000.00“) Print Format(3.14159,“#.#“) Print Format(3.14159,“#%“) Print Format(3.14159,“$(#.#)“) Print Format(12345.6,“#.#E+“) Print Format(0.123 ,“#.#e-“) Print Format(date,“mm-dd-yy“) Print Format(date,“yy年mm月dd“),圖4 3例4.2執(zhí)行結(jié)果,2. MsgBox函數(shù)和MsgBox方法 函數(shù)形式: 變量% = MsgBox(提示信息,對(duì)話(huà)框類(lèi)型 ,標(biāo)題) (1)“標(biāo)題”和“提示信息”與InputBox函數(shù)中對(duì)應(yīng)的參數(shù)相同; (2)對(duì)話(huà)框類(lèi)型由“按鈕圖標(biāo) +缺省按鈕+模式”4項(xiàng)組成,是整型表達(dá)式,決定信息框按鈕數(shù)目、出現(xiàn)在信息框上的圖標(biāo)類(lèi)型及操作模式如表4.1所示。,表4.1,例如:i=Msgbox(“注意:你輸入的數(shù)據(jù)不正確”,2+48+0+0,“錯(cuò)誤提示”),結(jié)果如圖4.4所示。,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.2 選擇結(jié)構(gòu)程序設(shè)計(jì) 4.2.1 IF語(yǔ)句 1)IfThen語(yǔ)句(單分支結(jié)構(gòu)) If Then 語(yǔ)句塊 End If 或:If Then ,圖4.5 選擇結(jié)構(gòu)流程圖,例4.4 設(shè)密碼。用IF語(yǔ)句來(lái)判定輸入密碼的正確性。 Private Sub Command1_Click() Dim a As String, b As String a = “111111“ b = InputBox(“請(qǐng)輸入密碼:“, “密碼對(duì)話(huà)框“) If a = b Then MsgBox (“密碼正確“) End If End Sub,2)IfThenElse語(yǔ)句(雙分支結(jié)構(gòu)) 格式1: If Then Else End If 格式2: If Then Else ,例4.5 計(jì)算下列分段函數(shù)的值 分析:對(duì)于此分段函數(shù),由于包含X=0 和X= 0 Then y = (1 - x) 2 Else y = x 2 - 1 End If Print “y=“; y End Sub,3)IfThenElseIf語(yǔ)句(多分支結(jié)構(gòu)) 使用形式: If Then ElseIf Then Else 語(yǔ)句塊 n+1 End If,例4.6 輸入一學(xué)生成績(jī),評(píng)定其等級(jí)。方法是:90100分為“優(yōu)秀”,8089分為“良好”,7079分為“中等”,6069分為“及格”,60分以下以為“不合格”。 Private Sub Form_Click() Dim x As Integer x = Val(InputBox(“請(qǐng)輸入成績(jī):“) If x = 90 Then Print “優(yōu)秀“ ElseIf x = 80 Then Print “良好“ ElseIf x = 70 Then Print “中等“ ElseIf x = 60 Then Print “及格“ Else Print “不及格“ End If End Sub,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.2 選擇結(jié)構(gòu)程序設(shè)計(jì) 4.2.2 Select Case語(yǔ)句 Select Case 條件表達(dá)式 Case 表達(dá)式列表1 語(yǔ)句塊1 Case 表達(dá)式列表2 語(yǔ)句塊2 Case Else 語(yǔ)句塊n+1 End Select 說(shuō)明:與是同類(lèi)型的,為下面3種形式之一: (1) 一組枚舉表達(dá)式(用逗號(hào)分隔):例如, 2, 4, 6, 8。 (2) 表達(dá)式1 To 表達(dá)式2 :例如,60 to 100。 (3) Is 關(guān)系運(yùn)算符表達(dá)式:例如,Is 60。,將例4.6 使用Select Case語(yǔ)句來(lái)實(shí)現(xiàn)。 程序段如下: Private Sub Form_Click() Dim x As Integer x = Val(InputBox(“請(qǐng)輸入成績(jī):“) Select Case x Case 90 To 100 Print “優(yōu)秀“ Case 80 To 89 Print “良好“ Case 70 To 79 Print “中等“ Case 60 To 69 Print “及格“ Case Else Print “不及格“ End Select End Sub,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.2 選擇結(jié)構(gòu)程序設(shè)計(jì) 4.2.3 選擇結(jié)構(gòu)的嵌套 如果在選擇結(jié)構(gòu)中又出現(xiàn)IF語(yǔ)句或select語(yǔ)句,就是選擇結(jié)構(gòu)的嵌套 (1) IF Then IF Then Else End If Else IF Then Else End If End IF,(2) IF Then Select Case 條件1_1 Case 值1_1 IF Then Else End If Case值1_2. End Select . End IF,例4.7 在文本框中輸入1100之間的數(shù)字,如果輸入非數(shù)字,或數(shù)字超界,給予提示,并重新輸入。 Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then 回車(chē)鍵的ascii碼值是13 If IsNumeric(Text1.Text) Then x = Val(Text1.Text) If x 100 Then Text1.Text = “ Text1.SetFocus Label1.Caption = “數(shù)字超界,重輸入!“ Else Label1.Caption = “數(shù)字輸入正確!“ End If Else Text1.Text = “ Text1.SetFocus Label1.Caption = “不是輸入的數(shù)字!“ End If End If End Sub,圖 4.7 例4.7運(yùn)行結(jié)果,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.2 選擇結(jié)構(gòu)程序設(shè)計(jì) 4.2.4 條件函數(shù) VB提供的條件函數(shù):IIF函數(shù)和Choose函數(shù),用于簡(jiǎn)單的判斷場(chǎng)合,IIF函數(shù)可代替IF語(yǔ)句,Choose函數(shù)可代替select case語(yǔ)句。 1)IIF函數(shù) 語(yǔ)法格式:IIF(,) 例如:x=-2: y= IIF (x=0,x,-x) y是x的絕對(duì)值。,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.2 選擇結(jié)構(gòu)程序設(shè)計(jì) 4.2.4 條件函數(shù) 2)Choose函數(shù) 語(yǔ)法格式: Choose(,.,) 功能:根據(jù)的值來(lái)確定返回值列表中某個(gè)值。的值為1,返回,如果的值為2,返回,以此類(lèi)推。 例如: x = Val(InputBox(“請(qǐng)輸入1-6之間整數(shù)“) Print Choose(x, “red“, “yellow“, “blue“, “green“, “black“, “white“) 用數(shù)字表示顏色。,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 4.3.1 Do loop循環(huán) 1)形式1:(當(dāng)型循環(huán)) Do While|Until 語(yǔ)句塊 Exit Do 語(yǔ)句塊 Loop 2)形式2:(直到循環(huán)) Do 語(yǔ)句塊 Exit Do 語(yǔ)句塊 Loop While|Until ,例4.8 用輾轉(zhuǎn)相除法求兩個(gè)自然數(shù)的最大公約數(shù)(gcd)和最小公倍數(shù)(lcm)。 Private Sub Form_Click() Dim n%, m%, nm%, r% m = Val(InputBox(“m=“) n = Val(InputBox(“n=“) nm = n * m If m 0) m = n n = r r = m Mod n Loop Print “最大公約數(shù)=“, n Print “最小公倍數(shù)=“, nm / n End Sub,用Do UntilLoop 循環(huán)來(lái)實(shí)現(xiàn)例4.8,程序代碼如下: Private Sub Form_Click() Dim n%, m%, nm%, r% m = Val(InputBox(“m=“) n = Val(InputBox(“n=“) nm = n * m If m n Then t = m: m = n: n = t r = m Mod n Do Until (r = 0) m = n n = r r = m Mod n Loop Print “最大公約數(shù)=“, n Print “最小公倍數(shù)=“, nm / n End Sub,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 4.3.2 FORNEXT循環(huán)語(yǔ)句 For 循環(huán)變量初值 to 終值 Step 步長(zhǎng) 語(yǔ)句塊 Exit For Next 循環(huán)變量 說(shuō)明: 語(yǔ)句塊叫循環(huán)體。步長(zhǎng)0時(shí),初值終值;步長(zhǎng)=0時(shí),死循環(huán),循環(huán)次數(shù)計(jì)算公式為: Exit for :退出循環(huán),執(zhí)行next后的下一條語(yǔ)句,例4.9 編程計(jì)算:S=1+2+3+100 Private Sub Form_Click() Dim S%, I% S = 0 累加前變量S為0 For I = 1 To 100 S = S + I Next I Print “ S=“; Format(S, “0000“) End Sub,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 4.3.3 WhileWend循環(huán) 使用格式如下: While Wend 說(shuō)明:該語(yǔ)句的功能與Do While Loop實(shí)現(xiàn)的循環(huán)完全相同。,例4.11 從鍵盤(pán)輸入一些字符數(shù)據(jù),對(duì)輸入的字符數(shù)據(jù)進(jìn)行計(jì)數(shù)。當(dāng)輸入的字符為“#”,停止計(jì)數(shù)并輸出結(jié)果。 分析:因?yàn)檩斎氪螖?shù)不定,故不使用for 循環(huán)。 代碼如下: Private Sub Form_click() Dim c As String, n As Integer n = 0 c = InputBox(“ 輸入字符:“) While Not (c = “#“) n = n + 1 c = InputBox(“ 輸入字符:“) Wend Print “字符數(shù)是:“; n; “個(gè)“ End Sub,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 4.3.4 For EachNext循環(huán) 語(yǔ)法格式: For Each 成員 In 數(shù)組 語(yǔ)句塊 Exit For Next 成員 具體使用將在“數(shù)組”章節(jié)講解,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 4.3.5循環(huán)嵌套多重循環(huán)結(jié)構(gòu) 如果在一個(gè)循環(huán)內(nèi)完整地包含另一個(gè)循環(huán)結(jié)構(gòu),則稱(chēng)為多重循環(huán),或循環(huán)嵌套,嵌套的層數(shù)可以根據(jù)需要而定,嵌套一層稱(chēng)為二重循環(huán),嵌套二層稱(chēng)為三重循環(huán)。,例4.12 打印九九乘法表。 程序代碼如下: Private Sub Form_Click() Dim i%, j%, jj$ For i = 1 To 9 For j = 1 To 9 jj = i Next j Picture1.Print Next i End Sub,例4.13 使用循環(huán)語(yǔ)句在窗體上輸出有*組成的簡(jiǎn)單圖形 Private Sub Form_Click() Dim n As Integer, i%, j% Cls 清屏 n = Val(Text1.Text) 輸入組成圖形的行數(shù) For i = 1 To n Print Tab(20); For j = 1 To i Print “*“; Next j Print Next i End Sub,圖4.14 例4.13運(yùn)行結(jié)果,第四章 Visual Basic語(yǔ)言程序結(jié)構(gòu),4.3循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 口腔正畸學(xué)考試題+答案
- 酒店智能管理服務(wù)協(xié)議
- 浙江國(guó)企招聘2025寧波市交通建設(shè)工程試驗(yàn)檢測(cè)中心有限公司招聘17人筆試參考題庫(kù)附帶答案詳解
- 2025賽迪工業(yè)和信息化研究院(集團(tuán))四川有限公司招聘8人筆試參考題庫(kù)附帶答案詳解
- 2025年鄭州航空大都市研究院有限公司下屬公司招聘實(shí)習(xí)生2人筆試參考題庫(kù)附帶答案詳解
- 高二單句語(yǔ)法填空+語(yǔ)篇填空 歷史人物主題練 (解析版)3
- 安葬合同協(xié)議書(shū)
- 項(xiàng)目合作三方合同協(xié)議書(shū)
- 借款合同過(guò)期還款協(xié)議書(shū)
- 承包康復(fù)科合同協(xié)議書(shū)
- 農(nóng)業(yè)文化創(chuàng)意產(chǎn)業(yè)園項(xiàng)目可行性研究報(bào)告
- 2025綠地集團(tuán)購(gòu)房合同樣本
- 珠寶展柜租賃合同協(xié)議
- GB/T 37507-2025項(xiàng)目、項(xiàng)目群和項(xiàng)目組合管理項(xiàng)目管理指南
- 機(jī)器視覺(jué)試題答案及解析
- GB 14930.2-2025食品安全國(guó)家標(biāo)準(zhǔn)消毒劑
- 財(cái)產(chǎn)保險(xiǎn)考試:非車(chē)險(xiǎn)核??荚囶A(yù)測(cè)題
- 攀西地區(qū)釩鈦磁鐵礦鐵鈦綜合回收試驗(yàn)研究
- 電商平臺(tái)服務(wù)協(xié)議、交易規(guī)則
- 檔案數(shù)字化存儲(chǔ)方式試題及答案
- 《時(shí)間的故事》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年人美版(2024)美術(shù)一年級(jí)下冊(cè)
評(píng)論
0/150
提交評(píng)論