版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第四章 基本控制結(jié)構(gòu),從本章開始,將分三節(jié)介紹結(jié)構(gòu)化程序設(shè)計(jì)的三個最基本的控制結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。應(yīng)用這三種結(jié)構(gòu),,某個事件中的語句是逐條執(zhí)行,執(zhí)行過的語句將不再執(zhí)行。,順序結(jié)構(gòu)就是一條一條語句的簡單排列,程序執(zhí)行時也就按照書寫順序從上往下順序執(zhí)行。,重點(diǎn)內(nèi)容1,重點(diǎn)內(nèi)容2,VB中一個功能相對獨(dú)立的程序段一般包括三個部分,第一部分為變量提供數(shù)據(jù),第二部分進(jìn)行運(yùn)算處理,第三部分結(jié)果輸出。為使初學(xué)者能盡早進(jìn)入程序設(shè)計(jì)狀態(tài),本章就程序中第一部分和第三部分在VB下常用技術(shù)和方法進(jìn)行講述。,提供數(shù)據(jù) 輸出數(shù)據(jù) 消息框,舉例如下:,為變量提供數(shù)據(jù),數(shù)據(jù)運(yùn)算,變量輸出,一、 輸出數(shù)據(jù)的基本方法
2、,1.通過Print方法輸出到窗體 2.通過print方法輸出到圖片框 3.通過標(biāo)簽(Label)輸出結(jié)果,通過Print方法輸出到窗體,關(guān)于Print方法,我們在前面已經(jīng)使用過,使用Print方法控制輸出位置最常用的是兩個函數(shù):Tab()函數(shù)和Spc()函數(shù),1. Tab(n)函數(shù),在Print方法中,Tab(n)是用于確定輸出項(xiàng)列位置的函數(shù),通常和輸出項(xiàng)之間用分號隔開,格式為: Print Tab(n); 輸出項(xiàng) 表示在某一行第n列輸出數(shù)據(jù) 參見例4-1,上午8時15分24秒,8,科目一考試網(wǎng) 科目一模擬考試2016科目四考試網(wǎng) 科目四模擬考試駕校一點(diǎn)通365網(wǎng) 駕校一點(diǎn)通2016科目一
3、科目四駕駛員理論考試網(wǎng) 2016科目一考試 科目四考試,2.Spc(n)函數(shù),和Tab函數(shù)類似,Spc(n)函數(shù)也是控制輸出項(xiàng)輸出的列位置,其語法要求也基本相同,不同的是Spc函數(shù)用來確定輸出項(xiàng)之間的空格數(shù)。 如:Print Spc(4); 學(xué)號; Spc(6); 姓名; Spc(5); 性別 表示“學(xué)號”和窗體左邊界相隔4個空格,“姓名”和“學(xué)號”之間相隔6個空格,“性別”和“姓名”之間相隔5個空格。,通過Print方法輸出到圖片框,圖片框(PictureBox)控件可以輸出圖形、圖像和文本,還可以像窗體一樣作為容器包含其它控件,不僅如此,圖片框控件具有和窗體相似的屬性和方法,圖片框主要的方
4、法有Print、Cls等。通過Print方法輸出到圖片框的格式為: 圖片框名.Print Tab(n); 輸出項(xiàng) Print方法如果省略了對象名,則表示默認(rèn)的對象為窗體(Form)。參見例4-2,通過標(biāo)簽(Label)輸出結(jié)果,通過標(biāo)簽(Label)輸出結(jié)果,是通過標(biāo)簽的Caption屬性值來實(shí)現(xiàn)。,例4-3 雞兔同籠問題。已知雞和兔的總頭數(shù)與總腳數(shù)分別為16和40。問籠中雞和兔子各幾只? 分析:設(shè)有雞x只,兔y只,雞和兔的總頭數(shù)為h,總腳數(shù)為f,根據(jù)數(shù)學(xué)知識可以寫出下面的方程式,標(biāo)簽、文本框可不可以使用Print、CLS方法?,二、 提供數(shù)據(jù)的基本方法,(一)使用賦值語句 賦值語句是任何程序
5、設(shè)計(jì)語言中最基本的語句,VB中賦值語句有兩種格式: 格式1: Let 變量名=表達(dá)式 格式2: Let 對象名.屬性名=表達(dá)式 第一種格式用于給一個變量賦值,第二種用于修改對象的屬性值。先計(jì)算右邊表達(dá)式的值,再賦給左邊的變量或?qū)傩浴?說明: Let 是賦值語句的關(guān)鍵字,是一個可選項(xiàng),通常省略。 表達(dá)式的類型應(yīng)與變量名的類型一致,即同時為數(shù)值型或同時為字符型。當(dāng)同時為數(shù)值型但精度不相同時,強(qiáng)制轉(zhuǎn)換。例如:iA% = 4.7(4舍5入)iA是整型變量,iA中的結(jié)果是5,當(dāng)表達(dá)式和變量的類型不同時,將出現(xiàn)編譯錯誤。 可以把字符串或數(shù)值表達(dá)式的值賦給Variant變量,但反過來不一定正確。,! 使用賦
6、值語句應(yīng)注意如下問題,1語句格式要正確 (1) 賦值號左邊只能是變量名或?qū)ο蟮膶傩灾?,不能是函?shù)或表達(dá)式。 例如以下形式的賦值語句就是錯誤的: cos(x)=y 應(yīng)為 y =os(x) 5=y 應(yīng)為 y=5 x+3=y 應(yīng)為 x=x+3,! 使用賦值語句應(yīng)注意如下問題,(2) “=”為賦值號,而不是數(shù)學(xué)上的等號。 例如,依次執(zhí)行x=1和x=3兩個語句后,變量x的值為3,這就是變量賦值具有時序性,最后一次賦值的值就是變量的值,將“=”理解為數(shù)學(xué)上的等號,結(jié)果將是不成立的。 請大家深入理解三個重要模型: n=n+1 將當(dāng)前變量n的值加1后再賦給變量n (計(jì)數(shù)器原理) s=s+x 將當(dāng)前變量s的值加
7、x后再賦給變量s (累加器原理) f=f*i 將當(dāng)前變量f的值乘i后再賦給變量f (累乘器原理) 這些在數(shù)學(xué)上都是不成立的,但在程序設(shè)計(jì)中卻是非常重要的。,! 使用賦值語句應(yīng)注意如下問題,(3) 不能在同一個賦值語句中給多個變量賦值。 如要對x,y,z三個變量賦初值均為1,則必須分別賦值。如寫成x=1: y=1: z=1的形式,也可寫成x=1: y=x: z=y的形式。但不能寫成x=y=z=1的形式。x=y=z=1表示什么意思?,比較如下程序: x=2 t=x y=3 x=y x=y y=t Print x,y print x,y,! 使用賦值語句應(yīng)注意如下問題,2數(shù)據(jù)類型問題 當(dāng)賦值號左邊變
8、量類型與右邊表達(dá)式類型不一致時,分下面四種情況: (1) 若均為數(shù)值型,而類型不同時,以變量類型為準(zhǔn)。 (2) 當(dāng)變量為數(shù)值型,而表達(dá)式為數(shù)字字符串,則自動轉(zhuǎn)換成數(shù)值型再賦值。當(dāng)表達(dá)式中有非數(shù)字字符或是空字符串時,出現(xiàn)“類型不匹配”。 (3) 當(dāng)變量為數(shù)值型,而表達(dá)式為邏輯型時,True轉(zhuǎn)換成-1,F(xiàn)alse轉(zhuǎn)換成0,反之,數(shù)值型數(shù)據(jù)賦給邏輯型變量時,非0轉(zhuǎn)換為True,0轉(zhuǎn)換成False。 (4) 任何非字符類型賦值給字符型變量,均自動轉(zhuǎn)換為字符型。,! 使用賦值語句應(yīng)注意如下問題,3變量之間的賦值與交換變量值,需借助一個中間變才能進(jìn)行交換數(shù)據(jù)。,程序設(shè)計(jì)中一個常見的任務(wù)是交換兩個變量的值。
9、,例如設(shè)計(jì)程序交換兩個變量的值. 思考:有兩個瓶子x和y,分別裝有醋和豆油,如何交換兩個瓶子的液體? 方法:借用第3個瓶子t 算法:T=x:x=y:y=T 設(shè)計(jì)界面:,代碼: Private Sub Command1_Click() x = Text1 y = Text2 T = x x = y y = T Text1 = x Text2 = y End Sub,(二) 使用InputBox函數(shù),在程序設(shè)計(jì)時,有時要求動態(tài)地輸入數(shù)據(jù),根據(jù)輸入的數(shù)據(jù)進(jìn)行相應(yīng)的處理。InputBox()函數(shù)是實(shí)現(xiàn)這種功能最常用的一個函數(shù)。InputBox()函數(shù)可以彈出一個對話框接由用戶從鍵輸入的信息,其使用格式
10、為: 變量=InputBox(提示信息,標(biāo)題,默認(rèn)值,x坐標(biāo),y坐標(biāo)),(二) 使用InputBox函數(shù),其中: (1) 變量 用于指定接收輸入信息的變量。由于該函數(shù)接收的是字符串信息,因此變量如要接收數(shù)值型數(shù)據(jù)時,需要用Val( )函數(shù)將數(shù)字字符串轉(zhuǎn)換成數(shù)值型數(shù)據(jù)。 (2) 提示信息 為字符串表達(dá)式,用于指明在對話框中的提示信息,一般用于對要接收的值加以說明。當(dāng)內(nèi)容太多需要多行顯示時,可在每行行末加回車Chr(13)或換行Chr(10)控制符。 (3) 標(biāo)題 是一個字符串表達(dá)式,指明窗口標(biāo)題內(nèi)容,如P63圖4-4中,由于沒有指明標(biāo)題,則顯示工程名“工程1”。 (4) 默認(rèn)值 字符串表達(dá)式。指
11、明當(dāng)在輸入對話框中無輸入時,則該值作為輸入的內(nèi)容。 (5) x坐標(biāo)與y坐標(biāo) 整型表達(dá)式,用于指定對話框的位置(相對于屏幕左上角),若省略,則出現(xiàn)在屏幕中央。,(二) 使用InputBox函數(shù),如:x=InputBox(“請輸入你的Email信箱地址”+Chr(10)+ “請注意地址應(yīng)寫完整!”),程序運(yùn)行時出現(xiàn)對話框窗口,如圖4-4所示。輸入內(nèi)容后單擊“確定”按鈕或按回車鍵,輸入的內(nèi)容就賦給變量x。 參見圖4-4。,標(biāo)題部分,提示信息,注意: 函數(shù)中的各項(xiàng)參數(shù)次序必須一一對應(yīng),除了“提示”一項(xiàng)不能省略外,其余各項(xiàng)均為可選項(xiàng),如果要省略某些參數(shù),則必須加入相應(yīng)的逗號分割符。 strName= I
12、nputBox$(“請輸入你的姓名然后單擊確定”, “輸入框”, , 100,100),(二) 使用InputBox函數(shù),例4-4 雞兔同籠問題。 我們可將在程序運(yùn)行過程中,總頭數(shù)與總腳數(shù)通過InputBox函數(shù)輸入,最后結(jié)果通過Print方法直接輸出在窗體上。程序代碼可寫在窗體的Click事件中,代碼如下: Private Sub Form_Click() Dim h As Integer, f As Integer, x As Integer, y % h = Val(InputBox(請輸入總頭數(shù), 雞兔同籠, 0) f = InputBox(請輸入總腳數(shù), 雞兔同籠, 0) x = (
13、4 * h - f) / 2 y = (f - 2 * h) / 2 Print 若總頭數(shù)為 & h & ;若總腳數(shù)為 & f & 則 Print 雞有 & x & 只 Print 兔有 & y & 只 End Sub,結(jié)果為字符型,數(shù)值型數(shù)據(jù),(三) 使用文本框,在程序運(yùn)行時為變量提供數(shù)據(jù),除了使用InputBox函數(shù)外,還有應(yīng)用最廣泛的是使用文本框,將文本框的Text屬性的值賦給給變量,格式為:變量名=對象名.Text 其作用是將文本框的值賦給某一變量。同InputBox函數(shù)一樣,文本框的值也是字符型數(shù)據(jù)。在應(yīng)用中,若要得到數(shù)值型數(shù)據(jù),可通過轉(zhuǎn)化函數(shù)Val將字符型數(shù)據(jù)轉(zhuǎn)化為數(shù)值型。,(1)
14、利用Open語句打開文件 Open For Input As # (2)利用Input語句讀出數(shù)據(jù) 格式:Input #, (3)關(guān)閉文件 Close #文件號 讓我們一起做一下例4-6,(三) 使用數(shù)據(jù)文件,三、 MsgBox函數(shù),使用過Windows及其應(yīng)用軟件的人肯定熟悉如圖4-7所示的消息框,這在VB中可用MsgBox函數(shù)來實(shí)現(xiàn)。 MsgBox函數(shù)的使用格式如下: 變量=MsgBox(提示,按鈕,標(biāo)題) 其中: (1) 變量 用于指定接收函數(shù)的返回值。MsgBox函數(shù)的返回值是一個整數(shù),因此變量一般為整型變量。 (2) 提示與標(biāo)題 意義同InputBox函數(shù)。 (3) 按鈕 整型表達(dá)式
15、,決定消息框中按鈕的數(shù)目、類型及出現(xiàn)在消息框上的圖標(biāo)類型。其設(shè)置見表4-1。,“按鈕”設(shè)置值被分成三組。具體使用時,由每一組中取一個值相加而成(當(dāng)然,并非每次都要取三個值,也可以取兩個、一個甚至全部省略)。,三、 MsgBox函數(shù),三、 MsgBox函數(shù),如要產(chǎn)生圖4-10所示的消息框,可用如下語句: x=MsgBox(是否保存對第4章基本控制結(jié)構(gòu).doc的修改?, 3 + vbExclamation + vbdefultbutton1, Microsoft Word) 變量x用于記錄用戶按了消息框中哪一個按鈕,不同的按鈕返回的值不同。各個按鈕的返回值見表4-2。,按鈕代號,圖標(biāo)類型,默認(rèn)按鈕
16、,變量的返回值,三、 MsgBox函數(shù)(),系統(tǒng)定義的常數(shù),Dim PAI As Single=3.14156,用戶自定義的常數(shù),輸出數(shù)據(jù)到文件中 (1) Open For output As # (2) Write #, (3) Close #文件號,四、使用數(shù)據(jù)文件,讓我們一起做一下例4-3,自學(xué)內(nèi)容: 框架控件(frame) 用于將屏幕上的對象分組,可以把不同的對象放在一個框架中,框架提供了視覺上的分割和修飾窗體 在vb種除框架控件之外,直線、圖片框和圖像框也能起到分割和修飾窗體的作用,Frame具有總體上的激活/屏蔽特性。 把窗體上(不在frame內(nèi))的控件進(jìn)行分組,并把它們放到一個框
17、架中,可按如下步驟操作: 選擇需要分組的控件 執(zhí)行“編輯”-“剪貼” 在窗體上畫一個框架控件,并保持它為活動狀態(tài) 執(zhí)行“編輯”-“粘貼” 注:為了選擇框架中的控件,必須在框架處于非活動狀態(tài)時,按住ctrl鍵,然后用鼠標(biāo)畫一個框,使這個框能夠“套住”要選擇的控件,框架常用事件是click和dblclick,它不接受用戶輸入,不能顯示文本和圖形。 計(jì)時器控件(Timer) VB提供了一種“計(jì)時器”控件,每隔一定的時間間隔interval就產(chǎn)生一次Timer事件。編程者可根據(jù)這個特性依照時間控制某些操作,或用于計(jì)時。 VB可以利用系統(tǒng)內(nèi)部的計(jì)時器計(jì)時,而且提供了定制時間間隔的功能,可以由用戶自行設(shè)置
18、每個計(jì)時器事件時間間隔。 所謂時間間隔,指的是各計(jì)時器事件之間的時間,它以毫秒為單位,在大多數(shù)人的計(jì)算機(jī)中,計(jì)時器每秒鐘最多可產(chǎn)生18個事件,即時間間隔的準(zhǔn)確度不會超過1/18秒。,其interval屬性的取值范圍為0-65535,因此最大時間間隔不能超過65秒。因?yàn)?0000毫秒為一分鐘,如果把interval屬性設(shè)置為1000,則表明每秒鐘發(fā)生一個計(jì)時器事件,如果希望每秒鐘產(chǎn)生n個事件,則應(yīng)該設(shè)置interval的值為1000/n 計(jì)時器支持timer事件,對于一個含有計(jì)時器控件的窗體,每經(jīng)過一段由interval屬性指定的時間間隔,就產(chǎn)生一個timer事件。 注: 在vb中,可以用time函數(shù)獲取系統(tǒng)時鐘的時間。Timer事件是vb模擬實(shí)時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工藝畫制作工沖突管理測試考核試卷含答案
- 美甲師安全理論競賽考核試卷含答案
- 全媒體運(yùn)營師安全管理考核試卷含答案
- 煙花爆竹工安全知識測試考核試卷含答案
- 橋面系施工培訓(xùn)
- 酒店員工心理健康與援助制度
- 酒店前廳服務(wù)程序制度
- 酒店客房安全檢查制度
- 財(cái)務(wù)審計(jì)與監(jiān)督制度
- 濟(jì)南線下培訓(xùn)班
- 白內(nèi)障疾病教學(xué)案例分析
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會成熟人才招聘備考題庫完整參考答案詳解
- 2026年黃委會事業(yè)單位考試真題
- 供水管網(wǎng)及配套設(shè)施改造工程可行性研究報(bào)告
- 2026年及未來5年中國高帶寬存儲器(HBM)行業(yè)市場調(diào)查研究及投資前景展望報(bào)告
- 英語試卷浙江杭州市學(xué)軍中學(xué)2026年1月首考適應(yīng)性考試(12.29-12.30)
- 金屬非金屬礦山安全操作規(guī)程
- 壓鑄鋁合金熔煉改善
- EVE國服歷史匯編
- 排水管道溝槽土方開挖專項(xiàng)方案
- 室內(nèi)裝飾工程施工組織設(shè)計(jì)方案
評論
0/150
提交評論