版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、VB程序設(shè)計教程(第3版)習(xí)題解答習(xí)題1答案一、選擇題1.1 Visual Basic 6.0分為3種版本,不屬于這3種版本的是A)學(xué)習(xí)版B)專業(yè)版C)企業(yè)版D)業(yè)余版【答】D。1.2 下列方法中不能退出Visual Basic的是A)按Alt+Q組合鍵B)按下Alt+F組合鍵,然后按Esc鍵C)按F10鍵,然后按F鍵,再按X鍵D)打開“文件”菜單“退出”命令【答】B。1.3 Visual Basic集成的主窗口中不包括A)屬性窗口B)標(biāo)題欄C)菜單欄D)工具欄【答】A。1.4 下列操作可以打開立即窗口的是A)Ctrl+DB)Ctrl+FC)Ctrl+GD)Ctrl+E【答】C。二、填空題1.
2、5 與傳統(tǒng)的程序設(shè)計語言相比,Visual Basic最突出的特點是_?!敬稹渴录?qū)動編程機(jī)制。1.6 如果不使用鼠標(biāo),用鍵盤打開菜單和執(zhí)行菜單命令,第一步應(yīng)按_鍵?!敬稹抗δ苕IF10或Alt鍵。1.7 建立一個新的標(biāo)準(zhǔn)模塊,應(yīng)該選擇_菜單下的“添加模塊”命令?!敬稹俊肮こ獭辈藛巍H?、思考題1.8 簡述Visual Basic的特點?!敬稹颗c一般的程序設(shè)計語言相比,VB具有以下特點: (1) 可視化的設(shè)計平臺; (2) 面向?qū)ο蟮脑O(shè)計方法; (3) 事件驅(qū)動的編程機(jī)制; (4) 結(jié)構(gòu)化的設(shè)計語言; (5) 充分利用Windows資源; (6) 開放的數(shù)據(jù)庫功能與網(wǎng)絡(luò)支持。1.9 簡述Visua
3、l Basic集成開發(fā)環(huán)境的組成?!敬稹縑B 6.0集成開發(fā)環(huán)境除了具有標(biāo)準(zhǔn)Windows環(huán)境的標(biāo)題欄、菜單欄、工具欄外,還有工具箱、屬性窗口、工程管理器窗口、窗體設(shè)計器、立即窗口、窗體布局窗口等有用的開發(fā)工具。(1) 標(biāo)題欄和菜單欄:標(biāo)題欄中顯示的有窗體控制菜單圖標(biāo)、當(dāng)前激活的工程名稱、當(dāng)前工作模式以及最小化、最大化還原、關(guān)閉按鈕。菜單欄中顯示了“文件”、“編輯”、“視圖”、“工程”、“格式”等菜單項,其中包含了VB編程的常用命令。單擊菜單欄中的菜單名,即可打開下拉菜單。在下拉菜單中顯示了各種功能子菜單,包含執(zhí)行該項功能的熱鍵和快捷鍵。(2) 工具欄及數(shù)字顯示區(qū):在菜單欄的下面是工具欄,工具
4、欄提供了許多常用命令的快速訪問按鈕。單擊某個按鈕,即可執(zhí)行對應(yīng)的相關(guān)操作。數(shù)字顯示區(qū)包含兩個部分,左數(shù)字區(qū)顯示的是對象的坐標(biāo)位置(窗體工作區(qū)的左上角為坐標(biāo)原點,即(0,0)位置),右數(shù)字區(qū)顯示的是對象的高度(向下遞增)和寬度,即對象的大小。(3) 工具箱:標(biāo)準(zhǔn)工具箱包含了建立應(yīng)用程序所需的各種控件。另外,VB還提供了很多ActiveX控件可以添加到工具箱中。(4) 工程管理器窗口:采用Windows資源管理器式的界面,層次分明地列出當(dāng)前工程中的所有文件。(5) 屬性窗口:“屬性”窗口包含選定對象(窗體或控件)的屬性列表,在設(shè)計程序時可通過修改對象的屬性設(shè)計其外觀和相關(guān)數(shù)據(jù),這些屬性值將是程序運
5、行時各對象屬性的初始值。(6) 窗體設(shè)計器:也稱為“對象窗口”,每一個應(yīng)用程序中的窗體,都有與之對應(yīng)的窗體設(shè)計器窗口。(7) 窗體布局窗口:用來顯示窗體在屏幕中的位置。(8) 立即窗口:使用立即窗口可以在中斷狀態(tài)下查詢對象的值,也可以在設(shè)計時查詢表達(dá)式的值或命令的結(jié)果。1.10 屬性窗口主要包括哪些內(nèi)容?【答】“屬性窗口”的內(nèi)容包括:(1) 對象下拉列表框:標(biāo)識當(dāng)前選定對象的名稱以及所屬的類。單擊右端的下拉箭頭,可列出當(dāng)前窗體以及所包含的全部對象的名稱,可從中選擇要更改其屬性的對象。(2) 選項卡:可按字母排序和分類排序兩種排序方式顯示所選對象的屬性。(3) 屬性列表框:屬性列表框中列出了當(dāng)前
6、選定的窗體或控件的屬性設(shè)置值。左半邊顯示所選對象的所有屬性名,右半邊是屬性值??梢灾苯釉趯傩源翱谥行薷膶傩灾?,有的屬性取值具有預(yù)定值,如右側(cè)顯示“三點”式按鈕或“下拉箭頭”式按鈕,都有預(yù)定值可供選擇。在“屬性”列表中雙擊屬性值可以遍歷所有選項。選擇任一屬性并按F1鍵可得到該屬性的幫助信息。(4) 屬性說明:顯示當(dāng)前屬性的簡要說明??赏ㄟ^右鍵快捷菜單中的“描述”菜單來切換顯示或隱藏“屬性說明”。1.11 打開屬性窗口的方法有哪些?【答】可通過以下方法之一打開屬性窗口:(1)單擊工具欄中的“屬性窗口”按鈕。(2)單擊“視圖”菜單“屬性窗口”命令。習(xí)題2答案一、選擇題2.1 在VB中,被稱為對象的是
7、A)窗體B)控件C)控件和窗體D)窗體、控件和屬性【答】C。2.2 關(guān)于VB“方法”的概念錯誤的是A)方法是對象的一部分B)方法是預(yù)先定義好的操作C)方法是對事件的響應(yīng)D)方法用于完成某些特定的功能【答】C。2.3 確定窗體控件啟動位置的屬性是A)Width和HeightB)Width或HeightC)StartUpPositonD)Top和Left【答】C。2.4 下列說法正確的是A)對象的可見性可設(shè)為True或FalseB)標(biāo)題的屬性值不可設(shè)為任何文本C)屬性窗口中屬性只能按字母順序排列D)某些屬性的值可以跳過不設(shè)置,自動設(shè)為空值【答】A。2.5 下列說法錯誤的是A)方法是對象的一部分B)
8、在調(diào)用方法時,對象名是不可缺少的C)方法是一種特殊的過程和函數(shù)D)方法調(diào)用格式和對象屬性使用格式相同【答】B。2.6 下列說法錯誤的是A)窗體文件的擴(kuò)展名為.frmB)一個窗體對應(yīng)一個窗體文件C)VB中一個工程只包含一個窗體D)VB中一個工程最多可以包含255個窗體【答】C。2.7 一個工程必須包含的文件的類型是A)*.vbp *.frm *.frxB)*.vbp *.cls *.basC)*.bas *.ocx */res D)*.frm *.cls *.bas【答】A。2.8 新建一個窗體,其BorderStyle屬性設(shè)置為Fixed Single,但運行時卻無最大化和最小化按鈕,可能的原
9、因是A)BorderStyle的值設(shè)為Fixed.Single,其設(shè)置值的作用即禁止最大化和最小化按鈕B)窗體的MaxButton和MinButton值設(shè)為FalseC)正常情況下新建的窗體都沒有最大化和最小化按鈕D)該窗體可用鼠標(biāo)拖動框的方法改變窗體的大小【答】B。二、填空題2.9 VB程序設(shè)計采用的編程機(jī)制是_?!敬稹渴录?qū)動。2.10 VB對象可以分為兩類,分別為_和_?!敬稹款A(yù)定義對象;用戶定義對象。三、思考題2.11 什么是對象?什么是對象的屬性、事件和方法?【答】在可視化編程語言中,對象是代碼和數(shù)據(jù)的集合,它可以是窗體和控件,也可以是菜單或數(shù)據(jù)庫等。從可視化編程的角度來看,這些對象
10、都具有屬性(數(shù)據(jù))和方法(行為方式)。簡單地說,屬性是用于描述對象的一組特征,方法是對象實施的一些動作,對象的動作則常常要觸發(fā)事件,而觸發(fā)事件又可以修改屬性。一個對象建立以后,其操作就通過與該對象有關(guān)的屬性、事件和方法來描述。2.12 如何創(chuàng)建一個應(yīng)用程序?【答】(1)設(shè)計界面。先建立窗體,再利用控件在窗體上創(chuàng)建各種對象。(2)設(shè)置屬性。設(shè)置窗體或控件等對象的屬性。(3)編寫代碼。編寫對象的事件代碼。(4)運行調(diào)試程序。2.13 如何在當(dāng)前窗體上創(chuàng)建和刪除一個對象?【答】向窗體中添加控件的步驟為:(1)單擊工具箱中的控件圖標(biāo),鼠標(biāo)指針變成一個十字指針。(2)在窗體的工作區(qū)按住鼠標(biāo)左鍵拖動鼠標(biāo),
11、即可在窗體上畫出對應(yīng)控件。刪除一個對象的方法為:選中要刪除的對象,按鍵盤上的Delete鍵。2.14 如何設(shè)置對象的屬性?【答】設(shè)置對象的屬性有兩種方式:(1) 預(yù)設(shè)法:在設(shè)計界面時,使用屬性窗口設(shè)置對象的屬性。這時只要在屬性窗口中選中要修改的屬性,然后在右列中鍵入新的值即可。(2) 現(xiàn)改法:在編寫代碼的過程中,通過程序代碼更改對象的屬性。在程序中設(shè)置屬性的語法格式為:對象名.屬性名 屬性值2.15 建立對象后,每個屬性都有一個默認(rèn)值,“(名稱)”屬性和Caption屬性的默認(rèn)值相同,它們有什么區(qū)別?能否用代碼修改“(名稱)”屬性?【答】建立對象后,名稱屬性是事件驅(qū)動的標(biāo)識,而Caption屬
12、性是顯示在窗體上標(biāo)簽提示。在編寫代碼中,不能用代碼修改“(名稱)”屬性,而能用代碼修改Caption屬性。2.16 在沒有關(guān)閉程序的情況下,如果又添加了一個工程,但運行時會發(fā)現(xiàn)運行的仍是第一個工程,這是什么原因?如何解決?【答】這是因為VB默認(rèn)“工程1”為啟動工程。解決辦法為:在工程資源器窗口中,右鍵單擊添加的“工程”,在快捷菜單中選擇“設(shè)置為啟動”即可。習(xí)題3答案一、選擇題3.1 以下關(guān)于VB數(shù)據(jù)類型的說法,不恰當(dāng)?shù)氖茿)VB 6.0提供的數(shù)據(jù)類型主要有字符串型和數(shù)值型,此外還有字節(jié)、貨幣、對象、日期、布爾和變體數(shù)據(jù)類型等B)目前Decimal數(shù)據(jù)類型只能在變體類型中使用C)用戶不能定義自己
13、的數(shù)據(jù)類型D)布爾型數(shù)據(jù)只能取兩種值,用兩個字節(jié)存儲【答】C。3.2 以下各項,可以作為VB變量名的是A)BookB)2_SeekC)123.58D)Book-1【答】A。3.3 下列哪個符號不能作為VB中的變量名?A)ABCDEFGB)P000000C)89TWDDFFD)xyz【答】C。3.4 下列( )是VB中的合法變量名。A)AB7B)7ABC)IFD)AB7【答】A。3.5 表達(dá)式2 *32 + 2 * 8 / 4 + 32的值為A)64B)31C)49D)22【答】B。3.6 函數(shù)Int(Rnd(0)*10)是在( )范圍內(nèi)的整數(shù)。A)( 0 , 1 ) B)( 1 , 10 )
14、C)( 0 , 9 ) D)( 1 , 9 )【答】C。3.7 表達(dá)式3 2 Mod 1423的值是A)1B)0C)2D)3【答】B。3.8 在VB中,下列兩個變量名相同的是A)Japan和Ja_panB)English和ENGLishC)English和EnglD)China和Chin【答】B。3.9 數(shù)學(xué)式子sin25寫成VB表達(dá)式是A)Sin25 B)Sin(25) C)Sin(25)D)Sin(25*3.14/180)【答】D。3.10 在VB中,要強(qiáng)制用戶對所用的變量進(jìn)行顯式聲明,可以在( )設(shè)置。A)“屬性”對話框B)“程序代碼”窗口C)“選項”對話框D)對象瀏覽器【答】C。3.1
15、1 下列符號常量的聲明中,不合法的是A)Const a As Single = 1.1B)Const a =OKC)Const a As Double = Sin(1)D)Const a As Integer =12【答】C。3.12 在代碼編輯器中,續(xù)行符是換行書寫同一個語句的符號,用以表示續(xù)行符的是A)一個空格加一個下劃線“_”B)一個下劃線“_”C)一個造字符“-”D)一個空格加一個連字符“-”【答】A。二、填空題3.13 如果希望使用變量x來存放數(shù)據(jù)765 432.123 456,應(yīng)將變量x聲明為_類型?!敬稹侩p精度型。3.14 把VB算術(shù)表達(dá)式a/(b + c/(d + e/Sqr(
16、f)改寫成數(shù)學(xué)表達(dá)式為_?!敬稹?。3.15 如果x是一個正實數(shù),對x的第3位小數(shù)四舍五入的表達(dá)式是_?!敬稹?.01 * Int(100 * (x + 0.005)。3.16 函數(shù)Str(256.36)的值是_?!敬稹?56.36。三、思考題3.17 VB定義了哪幾種數(shù)據(jù)類型?變量有哪幾種數(shù)據(jù)類型?常量有哪幾種數(shù)據(jù)類型?【答】VB 6.0定義了11種數(shù)據(jù)類型,它們是整型、長整型、單精度浮點型、雙精度浮點型、字符型(變長字符串、定長字符串)、邏輯型、日期型、貨幣型、字節(jié)型、對象型、可變類型(數(shù)值、字符)。變量的數(shù)據(jù)類型有數(shù)值型、字符型、邏輯型、日期型、對象型、可變數(shù)據(jù)類型。其中,數(shù)值型變量的數(shù)據(jù)
17、類型有:整型、長整型、單精度浮點型、雙精度浮點型、貨幣型和字節(jié)類型。字符型變量的數(shù)據(jù)類型有變長字符串和定長字符串。常量的數(shù)據(jù)類型有:字符串常量、數(shù)值常量、邏輯常量、日期常量。3.18 下列數(shù)據(jù)哪些是變量?哪些是常量?是什么類型的常量?(1)name(2) name(3)False(4)ff(5)11/16/99(6)cj(7)120(8)n(9)#11/16/1999# (10)12.345【答】變量有(1),(4),(6),(8)。常量有(2),(3),(5),(7),(9),(10)。其中:(2),(5),(7)為字符型常量,(3)為邏輯型常量,(9)為日期型常量,(10)為數(shù)值型常量。3
18、.19 在VB中,對于沒有賦值的變量,系統(tǒng)默認(rèn)值是什么?【答】使用聲明語句建立一個變量后,VB自動將數(shù)值類型的變量賦初值0,變長的字符串被初始化為一個零長度的字符串(),而定長的字符串則用空格填充。Variant變量被初始化為Empty,邏輯型的變量則初始化為False。3.20 將下列數(shù)學(xué)表達(dá)式改寫為等價的VB算術(shù)表達(dá)式。(1)(2)(3)【答】VB中的算術(shù)表達(dá)式與數(shù)學(xué)中的表達(dá)式寫法有所區(qū)別,主要表現(xiàn)在:VB中每個符號占1格,所有符號都必須一個一個并排寫在同一橫線上,不能在右上角或右下角寫方次或下標(biāo);在數(shù)學(xué)表達(dá)式中省略的內(nèi)容必須重新寫上;所有括號都要使用小括號“( )”,而且括號必須配對;數(shù)
19、學(xué)表達(dá)式中的有些符號,需要改成VB中可以表示的符號。(1)(1 + y / x) / (1 y / x)(2)(Abs( a * b c3)0.5 或 (Abs(a * b c3)(1 / 2) 或 Sqr(Abs(a * b c3)(3)(s * (s a) * (s b) * (s c)0.5 或 (s * (s a) * (s b) * (s c) )(1 / 2) 或 Sqr(s * (s a) * (s b) * (s c)3.21 寫出下列表達(dá)式的值。(1)( 2 + 8 * 3 ) / 2(2)32 + 8(3)#11/22/99# 10 (4)ZYX & 123 & ABC【答
20、】題中各表達(dá)式的值分別為:(1)13(2)17(3)#11/12/99#(4)ZYX123ABC3.22 設(shè)A = 7, B = 3, C = 4,求下列表達(dá)式的值:(1)A + 3 * C(2)A2 / 6(3)A / 2 * 3 / 2(4)A Mod 3 +B3 / C 5【答】題中各表達(dá)式的值分別為:(1)19(2)(3)5.25(4)23.23 寫出下列表達(dá)式的值。(1)Visual+Basic(2)xyz & 1234 & ABCD【答】題中各表達(dá)式的值分別為:(1)VisualBasic(2)xyz1234ABCD3.24 寫出下列函數(shù)的值。(1)Int(3.14159) (2)
21、Sqr(Sqr(64)(3)Int(Abs(99100)/2) (4)Sgn(7*3+2) 【答】函數(shù)的值為:(1) 4 (2)2.828427(3) 3 (4)1習(xí)題4答案一、選擇題4.1 要將名為MyForm的窗體顯示出來,正確的使用方法是A)MyForm.ShowB)Show.MyFormC)MyForm LoadD)MyForm Show【答】A。4.2 如果要將窗體中的某個命令按鈕設(shè)置成無效狀態(tài),應(yīng)設(shè)置命令按鈕的( )屬性。A)ValueB)VisibleC)EnabledD)Default【答】C。4.3 輸入代碼時,VB可以自動檢測( )錯誤。A)語法錯誤B)編譯錯誤C)運行錯誤
22、D)邏輯錯誤【答】A。4.4 在VB中,要將一個窗體加載到內(nèi)存進(jìn)行預(yù)處理但不顯示,應(yīng)使用的語句是A)LoadB)ShowC)HideD)Unload【答】A。4.5 以下能在窗體Form1的標(biāo)題欄中顯示VisualBasic窗體的語句是A)Form1.Name=VisualBasic窗體B)Form1.Title=VisualBasic窗體C)Form1.Caption=VisualBasic窗體D)Form1.Text=VisualBasic窗體【答】C。4.6 對下列程序段,說法正確的是( ) Text1.Top=2000 : Text1.Left=800A)Text對象的左邊界距窗體的左
23、邊界是800twip,上邊界距窗體的上邊界為2000twipB)Text1的左邊界距屏幕的左邊界為800twip,上邊界距屏幕的上邊界為2000twipC)Text1對象的寬度為2000twip,高度為800twipD)Text1對象的高度為800點,寬度為2000點【答】A。4.7 單擊窗體上的關(guān)閉按鈕時,觸發(fā)的事件是A)Form_Initialize()B)Form_Load()C)Form_Unload()D)Form_Click()【答】C。4.8 用于將屏幕上的對象分組的控件是A)列表框B)組合框C)標(biāo)簽D)框架【答】D。4.9 能夠獲得一個文本框中被選取文本的內(nèi)容的屬性是A)Tex
24、tB)LengthC)SeltextD)SelStart【答】C。4.10 用InputBox函數(shù)設(shè)計的對話框,其功能是A)只能接收用戶輸入的數(shù)據(jù),但不會返回任何信息B)能接收用戶輸入的數(shù)據(jù),并能返回用戶輸入的信息C)既能用于接收用戶輸入的信息,又能用于輸出信息D)專門用于輸出信息【答】B。二、填空題4.11 下列語句的輸出結(jié)果為_。Print Format(5689.36,000,000.000)【答】005,689.360。4.12 為了使一個窗體從屏幕消失但仍在內(nèi)存中,所使用的方法或語句為_?!敬稹縃ide方法。4.13 當(dāng)對象得到焦點時,會觸發(fā)_事件,當(dāng)對象失去焦點時將觸發(fā)_事件?!敬?/p>
25、】GotFocus;LostFocus。4.14 新建一個工程,內(nèi)有兩個窗體,窗體Form1上有一個命令按鈕Command1,單擊該按鈕,F(xiàn)orm1窗體消失,顯示Form2窗體,試補充程序。Private Sub Command1_Click() _ Form2._End Sub【答】Me.Hide或者Forml.Hide或者Unload Me;Show。4.15 在文本框中要使鍵入的所有字符顯示為*號,應(yīng)設(shè)置_屬性為*?!敬稹縋asswordChar。三、編程題4.16 設(shè)計工程,已知圓的半徑r,求圓面積S?!窘獯稹?設(shè)圓半徑為r,圓面積為S。根據(jù)數(shù)學(xué)知識,已知圓半徑r,求圓面積S的公式為:
26、。設(shè)計步驟如下。(1)建立應(yīng)用程序用戶界面,如圖4-1所示。(2)設(shè)置對象屬性:Label1的Caption屬性為“已知圓半徑r=”;Text1的Text屬性為空;Command1的Caption屬性為“圓面積為:”;Label2的Caption屬性為空;Label2的BorderStyle屬性為1-Fixed Single。各控件的屬性設(shè)置如圖4-2所示。圖4-1 建立用戶界面 圖4-2 設(shè)置各控件的屬性(3)編寫程序代碼。寫出“圓面積為:”命令按鈕Command1的Click事件代碼為:Private Sub Command1_Click( ) Const pi = 3.14 Dim r
27、As Single, S As Single r = Val(Text1.Text) S = pi * r 2 Label2.Caption = SEnd Sub運行程序時,在文本框輸入圓半徑的值,單擊“圓面積為:”按鈕后,輸出結(jié)果如圖4-3所示。也可以不用文本框接收輸入值,改用InputBox函數(shù)接收圓的半徑r,求圓面積S,代碼如下。圖4-3 程序運行結(jié)果Private Sub Form_Load( ) Show Const pi = 3.1415926 Dim r As Single, S As Single r = Val(InputBox(輸入半徑:, 計算圓面積, 10) FontS
28、ize = 18 S = pi * r 2 Print 圓面積:; SEnd Sub程序運行時,首先顯示如圖4-4所示的對話框,在該對話框的文本框中輸入數(shù)字,按Enter鍵或單擊“確定”按鈕后,才能顯示窗體。圖4-4 輸入對話框用InputBox函數(shù)輸入文本雖然很方便,但是由于輸入框彈出后將暫停程序的運行,直到用戶響應(yīng),因此輸入框不符合VB自由環(huán)境的精神。輸入框適合于像要求用戶輸入口令等這樣不常見的輸入方式。還可以用更好的用戶輸入方式,如文本框、選項按鈕等。4.17 已知平面坐標(biāo)系中兩點的坐標(biāo),求兩點間的距離?!窘獯稹?由數(shù)學(xué)知識可知,已知兩點坐標(biāo)(xA, yA)、(xB, yB),求兩點間距
29、離的計算公式為建立用戶界面如圖4-5所示。在該界面中用TextBox控件輸入數(shù)據(jù),用Label控件輸出數(shù)據(jù)。為了形象地表示兩點之間的距離,可用Picture控件插入一幅圖,該圖用畫圖軟件繪制。命令按鈕Command1的Click事件代碼為:Private Sub Command1_Click( ) Dim xa As Single, xb As Single Dim ya As Single, yb As Single Dim s As Single xa = Val(Text1.Text) ya = Val(Text2.Text) xb = Val(Text3.Text) yb = Val(
30、Text4.Text) s = Sqr(xb - xa) 2 + (yb - ya) 2) Label6.Caption = sEnd Sub程序運行結(jié)果如圖4-6所示。圖4-5 設(shè)計用戶界面 圖4-6 程序運行結(jié)果4.18 在文本框中輸入三種商品的單價、購買數(shù)量,計算并輸出所用的總金額。【解答】 假設(shè)第一種商品的單價和購買數(shù)量分別是a1和a2,第二種商品的單價和購買數(shù)量分別是b1和b2,第三種商品的單價和購買數(shù)量分別是c1和c2,所用總金額為x。通過TextBox控件輸入這三種商品的單價、購買數(shù)量,然后利用公式x = a1*a2+b1*b2+c1*c2進(jìn)行計算,最后輸出x的值。設(shè)計步驟如下。
31、(1)建立應(yīng)用程序用戶界面,并設(shè)置對象屬性,如圖4-7所示。圖4-7 計算商品總金額(2)編寫程序代碼。寫出Command1_Click( )的事件代碼為:Private Sub Command1_Click( ) Dim a1 As Single, b1 As Single, c1 As Single Dim a2 As Integer, b2 As Integer, c2 As Integer Dim x As Single a1 = Val(Text1.Text) a2 = Val(Text2.Text) b1 = Val(Text3.Text) b2 = Val(Text4.Text)
32、 c1 = Val(Text5.Text) c2 = Val(Text6.Text) x = a1 * a2 + b1 * b2 + c1 * c2 Text7.Text = xEnd Sub4.19 設(shè)計工程,輸出在指定范圍內(nèi)的三個隨機(jī)數(shù),范圍在文本框中輸入?!窘獯稹?隨機(jī)函數(shù)Rnd( )可以返回一個(0,1)區(qū)間中的隨機(jī)小數(shù),那么,Rnd * a語句可以返回(0, a)區(qū)間中的隨機(jī)實數(shù)(帶小數(shù))。若n, m均為整數(shù),則表達(dá)式:Int(m + 1 n) * Rnd) + n的值是閉區(qū)間 n, m 中的一個隨機(jī)整數(shù)。設(shè)計步驟如下。(1)設(shè)計程序界面及設(shè)置控件屬性。新建一個工程,進(jìn)入窗體設(shè)計器,
33、在窗體中增加一個框架控件Frame1,一個命令按鈕Command1和三個標(biāo)簽Label1Label3。選定Frame1,在其中增加兩個文本框Text1和Text2以及一些標(biāo)簽。修改對象屬性參見表4-1。設(shè)置屬性后的窗體如圖4-8所示。表4-1 屬性設(shè)置對 象屬 性屬 性 值說 明Frame1Caption請指定隨機(jī)整數(shù)的范圍:框架的標(biāo)題Command1Caption生成隨機(jī)數(shù)按鈕的標(biāo)題Label1Label3Caption0Text1, Text2Text0, 1(2)編寫程序代碼。Private Sub Command1_Click( ) Randomize n = Val(Text1.Te
34、xt) m = Val(Text2.Text) Label4.Caption = Int(m + 1 n) * Rnd) + n Label5.Caption = Int(m + 1 n) * Rnd) + n Label6.Caption = Int(m + 1 n) * Rnd) + nEnd Sub運行程序,在文本框中輸入范圍值后,單擊“生成隨機(jī)數(shù)”按鈕,可以不斷生成指定范圍之內(nèi)的隨機(jī)整數(shù),如圖4-9所示。圖4-8 設(shè)計用戶界面 圖4-9 生成隨機(jī)數(shù)4.20 使用大小寫轉(zhuǎn)換函數(shù)設(shè)計程序,實現(xiàn)在文本框中輸入英文字母,按“轉(zhuǎn)大寫”按鈕,文本變?yōu)榇髮?;按“轉(zhuǎn)小寫”按鈕,文本變?yōu)樾??!窘獯稹?
35、本題主要使用大小寫轉(zhuǎn)換函數(shù)UCase( )和LCase( ),另外還用到了KeyUp(鍵抬起)事件。設(shè)計步驟如下。(1)建立應(yīng)用程序用戶界面,并設(shè)置對象屬性。新建一個工程,進(jìn)入窗體設(shè)計器,在窗體中增加一個標(biāo)簽Label1,一個文本框Text1和三個命令按鈕Command1Command3,參照圖4-10設(shè)置各個對象的屬性。(a) (b) (c)圖4-10 大小寫轉(zhuǎn)換(2)設(shè)計代碼。首先設(shè)計文本框的KeyUp事件代碼,使得輸入的字符存入文本框的Tag屬性中:Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) Text1.Ta
36、g = Text1.TextEnd Sub編寫命令按鈕Command1的Click事件代碼:Private Sub Command1_Click( ) Text1.Text = UCase(Text1.Tag)End Sub編寫命令按鈕Command2的Click事件代碼:Private Sub Command2_Click( ) Text1.Text = LCase(Text1.Tag)End Sub編寫命令按鈕Command3的Click事件代碼:Private Sub Command3_Click( ) Text1.Text = Text1.TagEnd Sub4.21 設(shè)某職工應(yīng)發(fā)工資
37、x元,試求各種票額鈔票總張數(shù)最少的付款方案?!窘獯稹?可以從最大的票額(100元)開始,算出所需的張數(shù),然后在剩下的部分算出較小票額的張數(shù),直到最小票額(1元)。設(shè)計步驟如下。(1)建立應(yīng)用程序用戶界面。新建一個工程,進(jìn)入窗體設(shè)計器,增加一個命令按鈕Command1,14個標(biāo)簽Label1Label14,七個文本框Text1Text7。用戶界面如圖4-11(a)所示。(a) (b)圖4-11 建立程序界面與程序運行結(jié)果(2)設(shè)置對象屬性,參見表4-2。其中標(biāo)簽的標(biāo)題屬性參見圖4-11(a)。表4-2 屬性設(shè)置對 象屬 性屬 性 值說 明Text1Text0文本框的內(nèi)容Text2Text7Tex
38、t文本框的內(nèi)容Alignment1-Right Justify文本內(nèi)容右對齊LockedTrue文本內(nèi)容只讀Command1Caption應(yīng)付按鈕標(biāo)題DefaultTrue窗體的默認(rèn)按鈕(3)編寫程序代碼。編寫命令按鈕Command1的Click事件代碼:Private Sub Command1_Click( ) x = Val(Text1.Text) x為實發(fā)工資數(shù) y = x 100 : Text2.Text = y 求100元票張數(shù)并顯示 x = x 100 * y 求剩余款項 y = x 50 : Text3.Text = y 求50元票張數(shù)并顯示 x = x 50 * y 求剩余款項
39、 y = x 10 : Text4.Text = y 求10元票張數(shù)并顯示 x = x 10 * y 求剩余款項 y = x 5 : Text5.Text = y 求5元票張數(shù)并顯示 x = x 5 * y 求剩余款項 y = x 2 : Text6.Text = y 求2元票張數(shù)并顯示 x = x 2 * y : Text7.Text = x 求1元票張數(shù)并顯示End Sub編寫文本框Text1的Change事件代碼:Private Sub Text1_Change( ) 當(dāng)在Text1中輸入新數(shù)時,清空其他文本框中的內(nèi)容 Text2.Text = Text3.Text = Text4.Te
40、xt = Text5.Text = Text6.Text = Text7.Text = End Sub運行結(jié)果如圖4-11(b)所示。【說明】 文本框的Change事件當(dāng)文本框中的內(nèi)容被改變時發(fā)生。下面用信息對話框來輸出各種票額鈔票張數(shù)的付款方案,如圖4-12所示。圖4-12 信息對話框只需將圖4-11中多余的文本框和標(biāo)簽刪去,并改寫命令按鈕的Click事件代碼如下:Private Sub Command1_Click( ) x = val(Text1.Text) x為實發(fā)工資數(shù) y1 = x 100 求100元票張數(shù) x = x Mod 100 求剩余款項 y2 = x 50 求50元票張數(shù)
41、 x = x Mod 50 求剩余款項 y3 = x 10 求10元票張數(shù) x = x Mod 10 求剩余款項 y4 = x 5 求5元票張數(shù) x = x Mod 5 求剩余款項 y5 = x 2 求2元票張數(shù) x = x Mod 2 求1元票張數(shù) Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Text1.SetFocus a = = & Chr(13) a = a & Format(Y1 & 張 百元票, ) & _ Format(Y2 & 張 50元票, ) & Chr(13) a = a & Format(Y3 & 張 10元
42、票, ) & _ Format(Y4 & 張 5元票, ) & Chr(13) a = a & Format(Y5 & 張 2元票, ) & _ Format(x & 張 1元票, ) & Chr(13) a = a & = & Chr(13) a = a & 共計 & Text1.Text & 元 c = MsgBox(a, 0, 應(yīng)發(fā)工資)End Sub【說明】 文本框的SelStart屬性用來設(shè)置(或返回)所選擇的文本的起始點,如果沒有文本被選中,則指出插入點的位置。SelLength屬性用來設(shè)置(或返回)所選擇的字符數(shù)。函數(shù)Len( )返回字符串?dāng)?shù)據(jù)的長度。在命令按鈕的Click事件代
43、碼中調(diào)用SetFocus方法,可使光標(biāo)重新回到輸入框Text1。使用Mod運算可以得到相除的余數(shù)。習(xí)題5答案一、選擇題5.1 下面語句正確的是A)If xy Then y=x3B)If xy Then y=3xC)If xy Then y=x3D)If xy Then y=x*3【答】A。5.2 下列語句正確的是A)If A B Then Print A不等于BB)If A B Then Printf A不等于BC)If A B Then Print A不等于BD)If A B Print A不等于B【答】C。5.3 計算z的值,當(dāng)x大于y時,z=x;否則z=y。下列語句錯誤的是A)If x=
44、y Then z=x : z=yB)If x=y Then z=x Else z=yC)z=y : If x=y Then z=xD)If x=y Then z=y Else z=x【答】A。5.4 下列程序段的執(zhí)行結(jié)果為X=2Y=5If X * Y 0A)TrueB)FalseC)-1D)1【答】B。5.5 下列程序段執(zhí)行結(jié)果為x=5y=-6If Not x0 Then x=y-3 Else y=x+3Print x-y;y-xA)-3 3B)5 -9C)3 -3D)-6 5【答】A。5.6 下列程序段的執(zhí)行結(jié)果為a=95If a60 Then I=1If a70 Then I=2If a8
45、0 Then I=3If a90 Then I=4Print I=; IA)I=1B)I=2C)I=3D)I=4【答】D。5.7 下面程序段執(zhí)行結(jié)果為x=Int(Rnd()+4)Select Case x Case 5 Print excellent Case 4 Print good Case 3 Print pass Case Else Print failEnd SelectA)excellentB)goodC)passD)fail【答】B。5.8 在窗體上畫一個名稱為Timer1的計時器控件,要求每隔0.5秒發(fā)生一次計時器事件,則以下正確的屬性設(shè)置語句是A)Timer1.Interva
46、l=0.5B)Timer1.Interval=5C)Timer1.Interval=50D)Timer1.Interval=500【答】D。二、填空題5.9 閏年的條件是:年號(year)能被4整除,但不能被100整除;或者能被400整除。閏年的VB布爾表達(dá)式是_?!敬稹吭O(shè)y表示年份,判斷閏年的布爾表達(dá)式為:(y Mod 4 = 0 And y Mod 100 0) Or (y Mod 400 = 0)或表示為:(Int(y / 4) = y / 4 And Int(y / 100) y / 100) Or (Int(y / 400) = y / 400)5.10 一元二次方程ax2 + bx
47、 + c = 0有實根的條件為:a 0,并且b2 - 4ac 0,其相應(yīng)的VB布爾表達(dá)式為_?!敬稹縜 0 And b2 4 * a * c = 05.11 有下面一個程序段,從文本框中輸入數(shù)據(jù),如果該數(shù)據(jù)滿足條件,除以4余1,除以5余2,則輸出,否則,將焦點定位在文本框中,并清除文本框的內(nèi)容。Private Sub Command1_Click() x=Val(Text1.Text) If _ Then Print x Else Text1.Text= _ End IfEnd Sub【答】x Mod 4 = 1 And x Mod 5 = 2; Text1.Setfoucs。5.12 下列程序的功能是:當(dāng)x50時,y=0.8x;當(dāng)50x100時,y=0.7x;當(dāng)x100時,沒有意義。請?zhí)羁?。Private Sub Command1_Click() Dim x As Single x=InputBox(輸入x的值) _ Case Is= 0 Then y = 1 + x Else y = 1 - 2 * x Text2.Text = yEnd Sub程序運行
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度博物館安防監(jiān)控系統(tǒng)安裝與維護(hù)服務(wù)協(xié)議3篇
- 2024年公務(wù)員考試都蘭縣《行政職業(yè)能力測驗》最后沖刺試題含解析
- 2024年建筑工程承包簡易合同(35篇)
- 2024版勞動協(xié)議安全管理操作手冊版
- 《生成可執(zhí)行的ja》課件
- 部編版五年級語文上冊第13課《少年中國說(節(jié)選)》精美課件
- 鋼結(jié)構(gòu)餐廳鋼架焊接施工合同
- 電力設(shè)施升級承攬合同
- 實習(xí)協(xié)議樣本
- 餐飲業(yè)地面施工合同
- 倉庫盤點培訓(xùn)資料
- 2025版健康體檢中心代理運營合同協(xié)議3篇
- (已壓縮)礦產(chǎn)資源儲量技術(shù)標(biāo)準(zhǔn)解讀300問-1-90
- 《戶用光伏發(fā)電系統(tǒng)技術(shù)導(dǎo)則》
- 寒假作業(yè)(試題)2024-2025學(xué)年五年級上冊數(shù)學(xué) 人教版(十二)
- (2024)江西省公務(wù)員考試《行測》真題卷及答案解析
- 采購部門總結(jié)及規(guī)劃
- 期末綜合試卷(含答案)2024-2025學(xué)年蘇教版數(shù)學(xué)四年級上冊
- 銀行信息安全保密培訓(xùn)
- 《中華人民共和國藥品管理法實施條例》
- 2024-2025學(xué)年人教版道法八年級上冊 第一學(xué)期期末測試卷01
評論
0/150
提交評論