




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Visual Basic程序設(shè)計(jì)教程第4章 VB控制結(jié)構(gòu)4.1 4.1 順序結(jié)構(gòu)順序結(jié)構(gòu)4.2 4.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu)4.3 4.3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)Visual Basic程序設(shè)計(jì)教程4.1 4.1 順序結(jié)構(gòu)順序結(jié)構(gòu) VB具有結(jié)構(gòu)化程序設(shè)計(jì)的三種程序控制結(jié)具有結(jié)構(gòu)化程序設(shè)計(jì)的三種程序控制結(jié)構(gòu),即構(gòu),即順序結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu),是程序設(shè)計(jì)的基礎(chǔ)。是程序設(shè)計(jì)的基礎(chǔ)。(1)順序結(jié)構(gòu) 各語句按出現(xiàn)的先后次序執(zhí)行bABaVisual Basic程序設(shè)計(jì)教程一般程序設(shè)計(jì)語言中順序結(jié)構(gòu)的語句主要一般程序設(shè)計(jì)語言中順序結(jié)構(gòu)的語句主要: 賦值語句賦值語句和和 輸入輸入/輸出語句輸
2、出語句等。等。u 在在VB中中 輸入輸入/輸出通過輸出通過:l 文本框控件、標(biāo)簽控件文本框控件、標(biāo)簽控件l InputBox函數(shù)、函數(shù)、MsgBox函數(shù)和過程函數(shù)和過程l Print方法等來實(shí)現(xiàn)。方法等來實(shí)現(xiàn)。 4.1 順序結(jié)構(gòu)順序結(jié)構(gòu)Visual Basic程序設(shè)計(jì)教程形式:形式: 變量名表達(dá)式變量名表達(dá)式 對象名對象名. 屬性名屬性名=表達(dá)式表達(dá)式 功能:計(jì)算表達(dá)式的值,再將此值賦給變功能:計(jì)算表達(dá)式的值,再將此值賦給變量或?qū)ο髮傩?。量或?qū)ο髮傩浴1菊履夸洷菊履夸?.1.1 4.1.1 賦值語句賦值語句Visual Basic程序設(shè)計(jì)教程4.1.1 4.1.1 賦值語句賦值語句給給變量賦值
3、變量賦值和和設(shè)定屬性設(shè)定屬性是是VB編程中常見編程中常見的兩個(gè)任務(wù)。例如:的兩個(gè)任務(wù)。例如: n = n + 1 計(jì)數(shù)累加計(jì)數(shù)累加 Text1.Text 清除文本框的內(nèi)容清除文本框的內(nèi)容 Text1.Text 歡迎使用歡迎使用VB 文本框顯示字符串文本框顯示字符串 Visual Basic程序設(shè)計(jì)教程賦值語句賦值語句- -注意注意 “=”符號(hào)有兩個(gè)意義:符號(hào)有兩個(gè)意義: 賦值號(hào)賦值號(hào)、關(guān)系運(yùn)算符關(guān)系運(yùn)算符的等號(hào),的等號(hào),兩者形式相同兩者形式相同,系統(tǒng)會(huì)根據(jù)所處的位置系統(tǒng)會(huì)根據(jù)所處的位置判斷符號(hào)的意義。判斷符號(hào)的意義。 x=2 賦值號(hào)賦值號(hào) print x if x=2 then print “
4、x=2” 關(guān)系運(yùn)算符關(guān)系運(yùn)算符Visual Basic程序設(shè)計(jì)教程賦值語句賦值語句- -注意注意 賦值號(hào)左邊只能是賦值號(hào)左邊只能是變量變量,不能是常量、,不能是常量、常數(shù)符號(hào)、表達(dá)式。常數(shù)符號(hào)、表達(dá)式。 Now()=x+y 錯(cuò)!錯(cuò)! 5=sqr(s)+x+y 錯(cuò)!錯(cuò)! X+y=z 錯(cuò)!錯(cuò)!Visual Basic程序設(shè)計(jì)教程1. InputBox1. InputBox函數(shù):打開一個(gè)對話框,等待用函數(shù):打開一個(gè)對話框,等待用戶輸入,返回字符串類型的輸入值。戶輸入,返回字符串類型的輸入值。形式:形式:InputBoxInputBox(提示提示,標(biāo)題標(biāo)題,默認(rèn)值默認(rèn)值,x坐標(biāo)坐標(biāo)位置位置,y坐標(biāo)位置
5、坐標(biāo)位置)4.1.2 4.1.2 數(shù)據(jù)輸出和輸入數(shù)據(jù)輸出和輸入 注意注意:提示項(xiàng)提示項(xiàng)不能省略。不能省略。若要多行提示,可在每行若要多行提示,可在每行行末加回車換行行末加回車換行vbCrLfvbCrLf。InputBoxInputBox(請輸入你的姓名請輸入你的姓名 & vbCrLf & vbCrLf & & 然后單擊確然后單擊確定定, , 輸入框輸入框, name), name)Visual Basic程序設(shè)計(jì)教程4.1.2 4.1.2 數(shù)據(jù)輸出和輸入數(shù)據(jù)輸出和輸入例例4-1利用利用InputBox輸入基本工資和營業(yè)輸入基本工資和營業(yè)額,按營業(yè)額的額,按營業(yè)額
6、的5%提成,計(jì)算實(shí)發(fā)工提成,計(jì)算實(shí)發(fā)工資并顯示。資并顯示。 Visual Basic程序設(shè)計(jì)教程 2.MsgBox 2.MsgBox過程和過程和MsgBoxMsgBox函數(shù)函數(shù)p 打開一個(gè)信息框,等待用戶選擇一個(gè)按鈕。打開一個(gè)信息框,等待用戶選擇一個(gè)按鈕。p MsgBox過程形式:過程形式: MsgBox 提示提示,按鈕按鈕,標(biāo)題標(biāo)題p 按鈕項(xiàng)是一整型表達(dá)式,決定信息框按鈕項(xiàng)是一整型表達(dá)式,決定信息框按鈕的按鈕的數(shù)目數(shù)目和和類型類型及出現(xiàn)在信息框上的及出現(xiàn)在信息框上的圖標(biāo)圖標(biāo)形式。形式。Visual Basic程序設(shè)計(jì)教程p MsgBox函數(shù)返回所選函數(shù)返回所選按鈕的值按鈕的值,MsgBox過
7、程不返回值。過程不返回值。pMsgBox函數(shù)形式:函數(shù)形式: 變量變量% = MsgBox MsgBox(提示提示,按鈕按鈕,標(biāo)標(biāo)題題) 2.MsgBox 2.MsgBox過程和過程和MsgBoxMsgBox函數(shù)函數(shù)Visual Basic程序設(shè)計(jì)教程MsgBoxMsgBox按鈕設(shè)置按鈕設(shè)置 信息圖標(biāo)信息圖標(biāo) 64VBInformation警告信息圖標(biāo)警告信息圖標(biāo) 48VBExclamation詢問信息圖標(biāo)詢問信息圖標(biāo) 32VBQuestion關(guān)鍵信息圖標(biāo)關(guān)鍵信息圖標(biāo) 16VBCritical圖標(biāo)圖標(biāo)類型類型 重試、取消按鈕重試、取消按鈕 5VBRetryCancel是、否按鈕是、否按鈕 4V
8、BYesNo是、否、取消按鈕是、否、取消按鈕 3VBYesNoCancel終止、重試、忽略按鈕終止、重試、忽略按鈕 2VBAboutRetryIgnore確定、取消按鈕確定、取消按鈕 1VBOkCancel確定按鈕確定按鈕 0VBOkOnly按鈕按鈕數(shù)目數(shù)目 描描 述述值值內(nèi)內(nèi) 部部 常常 數(shù)數(shù)分組分組 Visual Basic程序設(shè)計(jì)教程MsgBoxMsgBox所選按鈕返回值所選按鈕返回值 內(nèi)部常數(shù)返回值 被單擊的按鈕vbOk1確定vbCancel2取消vbAbort3終止vbRetry4重試vbIgnore5忽略vbYes6是vbNo7否Visual Basic程序設(shè)計(jì)教程例例4-2 賬號(hào)
9、密碼驗(yàn)證程序賬號(hào)密碼驗(yàn)證程序 編一賬號(hào)和密碼輸入的檢驗(yàn)程序,當(dāng)編一賬號(hào)和密碼輸入的檢驗(yàn)程序,當(dāng)輸入不正確,如賬號(hào)為非數(shù)字字符,密輸入不正確,如賬號(hào)為非數(shù)字字符,密碼不正確等,顯示有關(guān)信息,再輸入。碼不正確等,顯示有關(guān)信息,再輸入。Visual Basic程序設(shè)計(jì)教程3. Print方法方法 Print方法用于輸出文本或表達(dá)式的值。方法用于輸出文本或表達(dá)式的值。Print語法格式如下:語法格式如下:對象名對象名.Print 表達(dá)式表達(dá)式;|,對象名稱對象名稱對象名可以是窗體名稱、圖片框控件對象名可以是窗體名稱、圖片框控件(PictureBox)名稱、)名稱、Debug(立即窗口)(立即窗口)或或
10、Printer(打印機(jī))。若省略對象名稱,(打印機(jī))。若省略對象名稱,默認(rèn)輸出到當(dāng)前窗體。默認(rèn)輸出到當(dāng)前窗體。Visual Basic程序設(shè)計(jì)教程3. Print方法方法Form1.Print 123 在窗體在窗體Form1中中輸出輸出Me.Print 123 在當(dāng)前窗體輸出在當(dāng)前窗體輸出Print 123 在當(dāng)前窗體輸出在當(dāng)前窗體輸出Picture1.Print 123 在圖片框在圖片框Picture1中輸出中輸出Visual Basic程序設(shè)計(jì)教程3. Print方法方法 輸出表達(dá)式輸出表達(dá)式輸出表達(dá)式如果被省略,則輸出一個(gè)空行。輸出表達(dá)式如果被省略,則輸出一個(gè)空行。下一個(gè)輸出下一個(gè)輸出項(xiàng)
11、將從下一行的第一列開始。輸出列表可以由常量、變項(xiàng)將從下一行的第一列開始。輸出列表可以由常量、變量、函數(shù)或表達(dá)式組成。量、函數(shù)或表達(dá)式組成。字符串原樣輸出字符串原樣輸出,正數(shù)前面用一個(gè)空格保留符號(hào)位,數(shù),正數(shù)前面用一個(gè)空格保留符號(hào)位,數(shù)值后面加一個(gè)值后面加一個(gè)“尾隨空格尾隨空格”。如果輸出項(xiàng)為表達(dá)式,則先計(jì)算出結(jié)果,再把結(jié)果輸出。如果輸出項(xiàng)為表達(dá)式,則先計(jì)算出結(jié)果,再把結(jié)果輸出。 x = 20: z = 40 Print x; +; z; =; x + z 輸出:輸出:20 + 40 = 60Visual Basic程序設(shè)計(jì)教程3. Print方法方法輸出格式輸出格式如果有多個(gè)輸出項(xiàng),可使用如果
12、有多個(gè)輸出項(xiàng),可使用逗號(hào)、分號(hào)和空格逗號(hào)、分號(hào)和空格進(jìn)行分隔。代碼編輯器會(huì)自動(dòng)將空格替換為分進(jìn)行分隔。代碼編輯器會(huì)自動(dòng)將空格替換為分號(hào)。號(hào)。逗號(hào)逗號(hào)使它后面的輸出項(xiàng)按照使它后面的輸出項(xiàng)按照“標(biāo)準(zhǔn)格式標(biāo)準(zhǔn)格式”輸出,輸出,即輸出到下一個(gè)輸出區(qū)(即輸出到下一個(gè)輸出區(qū)(14列);列);分號(hào)分號(hào)使它后使它后面的輸出項(xiàng)按照面的輸出項(xiàng)按照“緊湊格式緊湊格式”輸出,即緊跟在輸出,即緊跟在上一個(gè)輸出項(xiàng)之后輸出。逗號(hào)和分號(hào)可以混合上一個(gè)輸出項(xiàng)之后輸出。逗號(hào)和分號(hào)可以混合使用。使用。Print 1, 2, “A”, “B“ 1 2 A BPrint 1; 2; “A”; “B“ 1 2 AB Visual Bas
13、ic程序設(shè)計(jì)教程3. Print方法方法 如如Print方法末尾沒有格式控制符號(hào),方法末尾沒有格式控制符號(hào),即逗號(hào)或分號(hào),則表示該語句之后的輸即逗號(hào)或分號(hào),則表示該語句之后的輸出從下一行第一列開始;如果末尾有逗出從下一行第一列開始;如果末尾有逗號(hào)或分號(hào),則下一個(gè)輸出項(xiàng)按照標(biāo)準(zhǔn)或號(hào)或分號(hào),則下一個(gè)輸出項(xiàng)按照標(biāo)準(zhǔn)或緊湊格式輸出。緊湊格式輸出。 Print 1; 2; 3; Print a; b; c“ 1 2 3 abcVisual Basic程序設(shè)計(jì)教程3. Print方法:相關(guān)輸出函數(shù)和方法方法:相關(guān)輸出函數(shù)和方法Tab函數(shù)函數(shù)Spc函數(shù)函數(shù) Cls方法方法 Visual Basic程序設(shè)計(jì)教
14、程Tab函數(shù)函數(shù)在在Print方法中可使用方法中可使用Tab函數(shù)指定輸出位置。函數(shù)指定輸出位置。Tab函數(shù)使用格式如下:函數(shù)使用格式如下:Tab(n)其中參數(shù)為整數(shù)或整數(shù)表達(dá)式。如果省略參其中參數(shù)為整數(shù)或整數(shù)表達(dá)式。如果省略參數(shù),則其后的輸出項(xiàng)從下一個(gè)輸出區(qū)開始,數(shù),則其后的輸出項(xiàng)從下一個(gè)輸出區(qū)開始,若不省略參數(shù)則下一個(gè)輸出項(xiàng)從其參數(shù)指定若不省略參數(shù)則下一個(gè)輸出項(xiàng)從其參數(shù)指定的位置開始。的位置開始。Tab函數(shù)與其后輸出項(xiàng)之間使函數(shù)與其后輸出項(xiàng)之間使用分號(hào)分隔。用分號(hào)分隔。Visual Basic程序設(shè)計(jì)教程Tab函數(shù)函數(shù)例:例: Print 12345678901234567890123456
15、7890 Print a; Tab; b; Tab(20); c“ 輸出:輸出: 123456789012345678901234567890 a b cVisual Basic程序設(shè)計(jì)教程Spc函數(shù)函數(shù)Spc函數(shù)用于指定在輸出項(xiàng)之間間隔的空格數(shù)函數(shù)用于指定在輸出項(xiàng)之間間隔的空格數(shù)目,也可用目,也可用Space函數(shù)來代替函數(shù)來代替Spc函數(shù)。函數(shù)。例:例: Print 123456789012345678901234567890 Print a; Spc(3); b; Spc(3); c; Spc(3); d“ 輸出:輸出: 123456789012345678901234567890 a b
16、 c dVisual Basic程序設(shè)計(jì)教程Cls方法方法Cls方法用于清除窗體或圖片框中顯示方法用于清除窗體或圖片框中顯示的圖形(的圖形(Print輸出結(jié)果都作為圖形),輸出結(jié)果都作為圖形),并將光標(biāo)定位到窗體左上角并將光標(biāo)定位到窗體左上角(0,0)。Cls方法語法格式如下:方法語法格式如下:對象名對象名.ClsVisual Basic程序設(shè)計(jì)教程4.2 4.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu) u計(jì)算機(jī)要處理的問題往往是復(fù)雜多變的,計(jì)算機(jī)要處理的問題往往是復(fù)雜多變的,僅采用順序結(jié)構(gòu)是不夠的。僅采用順序結(jié)構(gòu)是不夠的。u必須利用選擇結(jié)構(gòu)等來解決實(shí)際應(yīng)用中的必須利用選擇結(jié)構(gòu)等來解決實(shí)際應(yīng)用中的各種問題。各種問題
17、。uVB中主要通過中主要通過If If條件語句和條件語句和SelectSelect情況語情況語句來實(shí)現(xiàn)。它們都是對條件進(jìn)行判斷,根據(jù)句來實(shí)現(xiàn)。它們都是對條件進(jìn)行判斷,根據(jù)判斷結(jié)果,選擇執(zhí)行不同的分支。判斷結(jié)果,選擇執(zhí)行不同的分支。 Visual Basic程序設(shè)計(jì)教程4.2.1 If4.2.1 If條件語句條件語句 1. IfThen語句語句(單分支結(jié)構(gòu)單分支結(jié)構(gòu)) If If Then Then 語句塊語句塊(可以是一句或多句語句)(可以是一句或多句語句) End IfEnd If或或 If If Then Then 表達(dá)式:關(guān)系表達(dá)式、邏輯表達(dá)式,算術(shù)表達(dá)式。表達(dá)式:關(guān)系表達(dá)式、邏輯表達(dá)式
18、,算術(shù)表達(dá)式。表達(dá)式值按表達(dá)式值按非零為非零為TrueTrue,零為零為FalseFalse進(jìn)行判斷。進(jìn)行判斷。該語句的作用是當(dāng)表達(dá)式的值為該語句的作用是當(dāng)表達(dá)式的值為TrueTrue,執(zhí)行,執(zhí)行ThenThen后后面的語句塊,否則不做任何操作。面的語句塊,否則不做任何操作。表達(dá)式 語句塊 T F Visual Basic程序設(shè)計(jì)教程單分支結(jié)構(gòu)單分支結(jié)構(gòu) 例例4-34-3:已知兩個(gè)數(shù)已知兩個(gè)數(shù)x x和和y y,比較它們的大小,使,比較它們的大小,使得得x x大于大于y y。 If xy ThenIf xy Then End If End If 或或 If xy Then t=x: x=y: y
19、=t t=xx=yy=t兩變量交換兩變量交換的典型語句的典型語句簡單簡單IfIf形式形式無無End IfEnd If時(shí),時(shí),只能是一句只能是一句語句或語句語句或語句間用冒號(hào)分間用冒號(hào)分隔,而且必隔,而且必須在一行上須在一行上書寫。書寫。 Visual Basic程序設(shè)計(jì)教程雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)2. IfThenElse語句語句If If 表達(dá)式表達(dá)式 ThenThen語句塊語句塊1ElseElse語句塊語句塊2End IfEnd If或或 If If 表達(dá)式表達(dá)式 ThenThen 語句語句1 ElseElse 語句語句2p當(dāng)表達(dá)式的值為當(dāng)表達(dá)式的值為True時(shí),執(zhí)行時(shí),執(zhí)行Then后面后面的
20、語句塊的語句塊1,否則執(zhí)行,否則執(zhí)行Else后面的語句塊后面的語句塊2 表達(dá)式 F 語句塊 1 T 語句塊 2 Visual Basic程序設(shè)計(jì)教程雙分支結(jié)構(gòu)例(雙分支結(jié)構(gòu)例(例例4-44-4)計(jì)算分段函數(shù)計(jì)算分段函數(shù)yxxxxxxxsincos231030 單分支單分支 y=cos(x)x3+3*x 結(jié)構(gòu)實(shí)現(xiàn)結(jié)構(gòu)實(shí)現(xiàn) If x0 Then y=sin(x)+sqrt (x*x+1) If x0 Then 雙分支雙分支 y=sin(x)+sqr (x*x+1) Else結(jié)構(gòu)實(shí)現(xiàn)結(jié)構(gòu)實(shí)現(xiàn) y=cos(x)x3+3*x End IfVisual Basic程序設(shè)計(jì)教程思考思考-判斷閏年(判斷閏年(
21、例例4-5) 如何判斷一個(gè)年份是否是閏年?(能如何判斷一個(gè)年份是否是閏年?(能被被4整除但不能被整除但不能被100整除,或者能被整除,或者能被400整除的年份為閏年)整除的年份為閏年)Visual Basic程序設(shè)計(jì)教程多分支結(jié)構(gòu)多分支結(jié)構(gòu) 3. IfThenElseIf 語句語句 If If 表達(dá)式表達(dá)式1 Then Then 語句塊語句塊1 ElseIfElseIf 表達(dá)式表達(dá)式2 Then Then 語句塊語句塊2 Else 語句塊語句塊 n+1 End IfEnd If 表 達(dá) 式 2 表 達(dá) 式n T F T F 語 句 塊 n+ 1 語 句 塊 2 語 句 塊 1 F T 表 達(dá)
22、式 1 語 句 塊 n 作用:根據(jù)不同的表達(dá)式值確定執(zhí)行哪個(gè)語句塊作用:根據(jù)不同的表達(dá)式值確定執(zhí)行哪個(gè)語句塊 Visual Basic程序設(shè)計(jì)教程例例4-6 已知變量已知變量chch中存放了一個(gè)字符,判斷該字符是中存放了一個(gè)字符,判斷該字符是字母字符、數(shù)字字符還是其他字符。字母字符、數(shù)字字符還是其他字符。 If UCase(ch) = A And UCase(ch) = 0 And ch = 90 Then Grade = 優(yōu)優(yōu) ElseIf Mark = 80 Then Grade = 良良 ElseIf Mark = 70 Then Grade = 中中 ElseIf Mark = 60
23、Then Grade = 及格及格 Else Grade = 不及格不及格 End IfVisual Basic程序設(shè)計(jì)教程方法二方法二 If Mark = 90 Then Grade = 優(yōu)優(yōu) ElseIf 80 = Mark And Mark 90 Then Grade = 良良 ElseIf 70 = Mark And Mark 80 Then Grade = 中中 ElseIf 60 = Mark And Mark = 60 Then Grade = 及格及格 ElseIf Mark = 70 Then Grade = 中中 ElseIf Mark = 80 Then Grade =
24、良良 ElseIf Mark = 90 Then Grade = 優(yōu)優(yōu) Else Grade = 不及格不及格 End If Visual Basic程序設(shè)計(jì)教程方法四方法四 If Mark 60 Then Grade = 不及格不及格 ElseIf Mark 70 Then Grade = 及格及格 ElseIf Mark 80 Then Grade = 中中 ElseIf Mark 90 Then Grade = 良良 Else Grade = 優(yōu)優(yōu) End IfVisual Basic程序設(shè)計(jì)教程If語句的嵌套是指語句的嵌套是指If或或Else后面的語句塊中又包含后面的語句塊中又包含If
25、語語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語句和一個(gè)嵌語句和一個(gè)嵌套的套的IF語句實(shí)現(xiàn)語句實(shí)現(xiàn)Visual Basic程序設(shè)計(jì)教程4.2.2 Select Case語句語句 Select CaseSelect Case 變量或表達(dá)式變量或表達(dá)式 Case 表達(dá)式列表表達(dá)式列表1 1 語句塊語句塊1 Case 表達(dá)式列表表達(dá)式列表2 2 語句塊語句塊2 Case Else 語句塊語句塊n+1End SelectEnd
26、Select表達(dá)式列表表達(dá)式列表與與變量或表達(dá)式變量或表達(dá)式的類的類型必須相同,是下面型必須相同,是下面4 4種形式之種形式之一一 :表達(dá)式表達(dá)式 例例: A一組用逗號(hào)分隔的枚舉一組用逗號(hào)分隔的枚舉值值 2,4,6,8 表達(dá)式表達(dá)式1 To 表達(dá)式表達(dá)式2 60 To 100Is 關(guān)系運(yùn)算符表達(dá)式關(guān)系運(yùn)算符表達(dá)式 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
27、(“在第二象限在第二象限”) Case x 0 And y 0 And y y,x,y) 該語句與如下語句等價(jià)該語句與如下語句等價(jià) :If x y Then Tmax = x Else Tmax = y Visual Basic程序設(shè)計(jì)教程4.2.3 條件函數(shù)條件函數(shù) (2) Choose函數(shù)函數(shù) ChooseChoose(整數(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ù)表達(dá)式的值越出選項(xiàng)范圍時(shí),返回Null。例例 根據(jù)根據(jù)NopNop的值,得到的值,得到+ +、- -
28、、中的某運(yùn)算符:中的某運(yùn)算符:Op= Choose(Nop,+,- -,) Dim nop As Integer, op As CharRandomize()nop = Int(Rnd() * 4 + 1)op = Choose(nop, +, -, , )MsgBox(nop= & nop & op= & op)Visual Basic程序設(shè)計(jì)教程4.2.3 條件函數(shù)條件函數(shù)例例4-10 根據(jù)當(dāng)前日期,顯示今日是星期根據(jù)當(dāng)前日期,顯示今日是星期幾。幾。t = Choose(Weekday(Now), “星期日星期日”, “星期一星期一”, “星期二星期二”, “星期三
29、星期三”, “星星期四期四”, “星期五星期五”, “星期六星期六”)MsgBox(今天是:今天是: & Now & t) Visual Basic程序設(shè)計(jì)教程作業(yè)作業(yè)1、結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是什么?、結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是什么?2、msgbox函數(shù)與函數(shù)與inputbox函數(shù)之間有什么區(qū)別?函數(shù)之間有什么區(qū)別?各自獲得什么值?各自獲得什么值?3、按照下列條件,寫出相應(yīng)的條件語句:、按照下列條件,寫出相應(yīng)的條件語句:(1)當(dāng)字符型變量中第三個(gè)字符是)當(dāng)字符型變量中第三個(gè)字符是“C”時(shí),利時(shí),利用用msgbox顯示顯示“Yes”,否則顯示,否則顯示“No”. Vi
30、sual Basic程序設(shè)計(jì)教程作業(yè)作業(yè) (2)利用)利用if語句、語句、select case語句兩種方語句兩種方法計(jì)算分段函數(shù):法計(jì)算分段函數(shù):20, 23x2xx2010, 2x3x2010, 2x3x20, 23x2xx100|,|1xxx100|,|1xxxVisual Basic程序設(shè)計(jì)教程4.3 4.3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) u計(jì)算機(jī)最擅長的功能之一就是按規(guī)定的條件,重復(fù)計(jì)算機(jī)最擅長的功能之一就是按規(guī)定的條件,重復(fù)執(zhí)行某些操作。執(zhí)行某些操作。u例如,按照人口某增長率,對人口增長統(tǒng)計(jì);根據(jù)例如,按照人口某增長率,對人口增長統(tǒng)計(jì);根據(jù)各課程的學(xué)分、績點(diǎn)和學(xué)生的成績,統(tǒng)計(jì)每個(gè)學(xué)生的各課程的
31、學(xué)分、績點(diǎn)和學(xué)生的成績,統(tǒng)計(jì)每個(gè)學(xué)生的平均績點(diǎn)等。平均績點(diǎn)等。u這類問題都可通過循環(huán)結(jié)構(gòu)來方便地實(shí)現(xiàn)。這類問題都可通過循環(huán)結(jié)構(gòu)來方便地實(shí)現(xiàn)。VB中提中提供了主要兩類循環(huán)語句供了主要兩類循環(huán)語句:l For循環(huán)語句循環(huán)語句(一般已知循環(huán)次數(shù));一般已知循環(huán)次數(shù));l Do條件型循環(huán)語句條件型循環(huán)語句(一般未知循環(huán)次數(shù)一般未知循環(huán)次數(shù)).Visual Basic程序設(shè)計(jì)教程引例引例求求1+2+3+100Visual Basic程序設(shè)計(jì)教程4.3.1 For循環(huán)語句循環(huán)語句 For循環(huán)語句用于控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu)。循環(huán)語句用于控制循環(huán)次數(shù)預(yù)知的循環(huán)結(jié)構(gòu)。For For 循環(huán)變量循環(huán)變量 初值初
32、值 To To 終值終值 Step 步長步長循環(huán)體循環(huán)體Next Next 循環(huán)變量循環(huán)變量循環(huán)變量必須為數(shù)值型。循環(huán)變量必須為數(shù)值型。循環(huán)次數(shù)循環(huán)次數(shù)) 1(步長初值終值Int 0 初值初值終值終值 =1 時(shí),可省略時(shí),可省略終值終值=0 死循環(huán)死循環(huán)步長步長例例4.11 計(jì)算計(jì)算1100的奇數(shù)和 本章目錄本章目錄Dim i%, sum%For i = 1 To 100 Step 2 sum = sum + iNext iMsgBox(sum)For循環(huán)語句 循環(huán)流程:循環(huán)流程:(1) 循環(huán)變量被賦初值,它循環(huán)變量被賦初值,它僅被賦值一次。僅被賦值一次。(2) 判斷循環(huán)變量是否在終判斷循環(huán)變
33、量是否在終值內(nèi),如果是,執(zhí)行循環(huán)體;值內(nèi),如果是,執(zhí)行循環(huán)體;如果否,結(jié)束循環(huán),執(zhí)行如果否,結(jié)束循環(huán),執(zhí)行Next的下一語句。的下一語句。(3) 循環(huán)變量加步長,轉(zhuǎn)循環(huán)變量加步長,轉(zhuǎn)(2),繼續(xù)循環(huán)繼續(xù)循環(huán) T T 循環(huán)變量終值 語句塊 語句塊 循環(huán)變量=循環(huán)變量+步長 F 循環(huán)變量=初值 有 Exit For F Next 的下一語句 例例4-12 4-12 將可打印的將可打印的ASCIIASCII碼制成表格輸出碼制成表格輸出 本章目錄本章目錄Visual Basic程序設(shè)計(jì)教程4.3.2 DoLoop循環(huán)語句循環(huán)語句 Do循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)構(gòu)。循環(huán)用于控制循環(huán)次數(shù)未知的循環(huán)結(jié)
34、構(gòu)。形式形式1: Do Do While|UntilWhile|Until 語句塊語句塊 Exit Do 語句塊語句塊LoopLoop形式形式1為先判斷后執(zhí)行,有可能一次也不執(zhí)行;為先判斷后執(zhí)行,有可能一次也不執(zhí)行;形式形式2為先執(zhí)行后判斷,至少執(zhí)行一次。為先執(zhí)行后判斷,至少執(zhí)行一次。 形式形式2:Do 語句塊語句塊 Exit Do 語句塊語句塊Loop While|Until 本章目錄本章目錄DoLoop流程 F T 語句塊 語句塊 Do WhileLoop 表達(dá)式列表 1 有 Exit Do F T T F 語句塊 語句塊 表達(dá)式列表 1 Do Loop While 有 Exit Do F
35、 T 本章目錄本章目錄Visual Basic程序設(shè)計(jì)教程例例4.13 4.13 我國有我國有1313億人口,按人口年增長億人口,按人口年增長0.8%0.8%計(jì)算,多少年后我國人口超過計(jì)算,多少年后我國人口超過2626億。億。解此問題兩種方法,可根據(jù)公式:解此問題兩種方法,可根據(jù)公式:)008. 1log()2log(n 0.008)13(126n直接利用標(biāo)準(zhǔn)函數(shù)對數(shù)可求得,但求得的年數(shù)不直接利用標(biāo)準(zhǔn)函數(shù)對數(shù)可求得,但求得的年數(shù)不為整數(shù);也可利用循環(huán)求得為整數(shù);也可利用循環(huán)求得 。循環(huán)例題Visual Basic程序設(shè)計(jì)教程4.3.3 4.3.3 循環(huán)的嵌套循環(huán)的嵌套 p在一個(gè)循環(huán)體內(nèi)又包含了
36、一個(gè)完整的循環(huán)結(jié)在一個(gè)循環(huán)體內(nèi)又包含了一個(gè)完整的循環(huán)結(jié)構(gòu)稱為循環(huán)的嵌套。構(gòu)稱為循環(huán)的嵌套。p循環(huán)嵌套對循環(huán)嵌套對For循環(huán)語句和循環(huán)語句和DoLoop語句均語句均適用。適用。例例4.14 4.14 打印九九乘法表打印九九乘法表 關(guān)鍵:關(guān)鍵:內(nèi)外循環(huán)變量與被乘數(shù)和乘數(shù)關(guān)系內(nèi)外循環(huán)變量與被乘數(shù)和乘數(shù)關(guān)系輸出格式控制輸出格式控制 Visual Basic程序設(shè)計(jì)教程4.3.3 4.3.3 循環(huán)的嵌套循環(huán)的嵌套思考:思考:打印上三角或下三角程序如何改動(dòng)?打印上三角或下三角程序如何改動(dòng)?例例4-16 由計(jì)算機(jī)自動(dòng)產(chǎn)生四則運(yùn)算題,并能由計(jì)算機(jī)自動(dòng)產(chǎn)生四則運(yùn)算題,并能判斷答案的正確性。判斷答案的正確性。設(shè)計(jì)
37、思路:設(shè)計(jì)思路:(1)通過隨機(jī)函數(shù)通過隨機(jī)函數(shù)Rnd產(chǎn)生試題的操作數(shù)和運(yùn)算產(chǎn)生試題的操作數(shù)和運(yùn)算符,運(yùn)算符符,運(yùn)算符+、-、可對應(yīng)編號(hào)可對應(yīng)編號(hào)14。產(chǎn)。產(chǎn)生表達(dá)式通過生表達(dá)式通過Form_Load事件過程。事件過程。(2)需要有一個(gè)全局變量保存四則運(yùn)算題的正確需要有一個(gè)全局變量保存四則運(yùn)算題的正確答案,用戶答案可通過文本框輸入。答案,用戶答案可通過文本框輸入。(3)本題主要將隨機(jī)函數(shù)、本題主要將隨機(jī)函數(shù)、If語句、語句、Select語句語句綜合在一起使用。綜合在一起使用。本章目錄本章目錄Visual Basic程序設(shè)計(jì)教程Visual Basic程序設(shè)計(jì)教程最大公約數(shù)最大公約數(shù)例例4.174
38、.17用輾轉(zhuǎn)相除法求兩自然數(shù)的最大公約數(shù)。用輾轉(zhuǎn)相除法求兩自然數(shù)的最大公約數(shù)。求最大公約數(shù)的算法思想:求最大公約數(shù)的算法思想:(1)對于兩數(shù)對于兩數(shù)m,n,使得使得mn(2) m除以除以n得余數(shù)得余數(shù)r(3)若若r=0,則,則n為最大公約數(shù),為最大公約數(shù),結(jié)束;否則執(zhí)行結(jié)束;否則執(zhí)行(4)(4)mn,nr,再重復(fù)執(zhí)行,再重復(fù)執(zhí)行(2)Visual Basic程序設(shè)計(jì)教程例例4.19 百元買百雞。假定小雞每只百元買百雞。假定小雞每只5角,公雞每只角,公雞每只2元,元,母雞每只母雞每只3元,編程求解購雞方案。元,編程求解購雞方案。分析:分析:(1) 設(shè)母雞、公雞、小雞各為設(shè)母雞、公雞、小雞各為x、
39、y、z,列出方程為:,列出方程為:x x+ +y y+ +z z= 100= 1003 3x x+2+2y y+0.5+0.5z z = 100= 100三個(gè)未知數(shù),兩個(gè)方程,此題求若干個(gè)整數(shù)解。三個(gè)未知數(shù),兩個(gè)方程,此題求若干個(gè)整數(shù)解。(2) 計(jì)算機(jī)求解此類問題,采用試湊法計(jì)算機(jī)求解此類問題,采用試湊法(也稱窮舉法也稱窮舉法)來來實(shí)現(xiàn),即將可能出現(xiàn)的各種情況一一羅列測試,判斷實(shí)現(xiàn),即將可能出現(xiàn)的各種情況一一羅列測試,判斷是否滿足條件,采用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)。是否滿足條件,采用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)。本章目錄本章目錄Visual Basic程序設(shè)計(jì)教程Visual Basic程序設(shè)計(jì)教程Visual Ba
40、sic程序設(shè)計(jì)教程舉一反三把1元鈔票換成1分、2分、5分的硬幣(每種至少1枚),有哪幾種換法?5分:119枚2分:1(100-5*k)2,k為5分的個(gè)數(shù)當(dāng)剩余1分的個(gè)數(shù)大于等于1時(shí),該取法符合題意。Visual Basic程序設(shè)計(jì)教程復(fù)習(xí)之一:窗體和控件之二:數(shù)據(jù)類型之三:常量與變量Visual Basic程序設(shè)計(jì)教程復(fù)習(xí)一窗體和控件窗體窗體form常用屬性:常用屬性:caption,font(fontname, fontsize),height ,width, top, left, picture常用事件:常用事件:form_load, form_click注意:要想讓注意:要想讓form_load事件中的事件中的print等代碼起作用,需要把等代碼起作用,需要把form的的autoredraw屬性設(shè)為屬性設(shè)為true。常用方法:常用方法:print,moveVisual Basic程序設(shè)計(jì)教程復(fù)習(xí)一窗體和控件標(biāo)簽控件標(biāo)簽控件label常用屬性:常用屬性:cap
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 汽車行業(yè)合同樣本:會(huì)員服務(wù)協(xié)議
- 移動(dòng)基站租賃合同書范本
- 城市老舊小區(qū)消防系統(tǒng)改造項(xiàng)目合同
- 幼兒園臨時(shí)教師聘任合同
- 新版民間房產(chǎn)抵押權(quán)轉(zhuǎn)讓合同
- 腎性水腫課件
- 智能化煤礦培訓(xùn)課件下載
- 舊貨零售互聯(lián)網(wǎng)+創(chuàng)新實(shí)踐考核試卷
- 搪瓷器的創(chuàng)造思維與創(chuàng)意設(shè)計(jì)考核試卷
- 建筑施工現(xiàn)場安全監(jiān)測與預(yù)警考核試卷
- 2025年黑龍江交通職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫必考題
- 個(gè)人畫協(xié)議合同范本
- 2024-2025學(xué)年高一下學(xué)期開學(xué)第一節(jié)課(哪吒精神)主題班會(huì)課件
- 人教版2025-初中物理實(shí)驗(yàn)室實(shí)驗(yàn)課程安排
- 2024年無錫科技職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 舞蹈藝術(shù)賞析課件
- 2025江蘇泰州興化市陳堡鎮(zhèn)村級(jí)后備干部招聘10人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- (完整版)python學(xué)習(xí)課件
- CNAS-RL01:2019實(shí)驗(yàn)室認(rèn)可規(guī)則
- 成人腦室外引流護(hù)理-中華護(hù)理學(xué)會(huì)團(tuán)體 標(biāo)準(zhǔn)
- 2024年甘肅省公務(wù)員考試《行測》真題及答案解析
評論
0/150
提交評論