vb程序設(shè)計(jì)教程龔沛曾版課后答案_第1頁
vb程序設(shè)計(jì)教程龔沛曾版課后答案_第2頁
vb程序設(shè)計(jì)教程龔沛曾版課后答案_第3頁
vb程序設(shè)計(jì)教程龔沛曾版課后答案_第4頁
vb程序設(shè)計(jì)教程龔沛曾版課后答案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1.對(duì)象指現(xiàn)實(shí)世界中的實(shí)體。每個(gè)對(duì)象有自己的特征(屬性)、行為 (方法)和發(fā)生在該對(duì)象上的活動(dòng) (事件)類是對(duì)同一種對(duì)象的集合與抽象。類包含所創(chuàng)建對(duì)象的屬性數(shù)據(jù),以及對(duì)這些數(shù)據(jù)進(jìn)行操作的方法。封裝和隱藏是類的 重要特性,將數(shù)據(jù)結(jié)構(gòu)和對(duì)數(shù)據(jù)的操作封裝在一起,類的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)對(duì)用戶來說是透明的。VB 工具箱中的可視圖標(biāo)是 VB 系統(tǒng)設(shè)計(jì)好的標(biāo)準(zhǔn)控件類。通過將控件類實(shí)例化,得到真正的控件對(duì)象。在窗體上畫一個(gè) 控件,就將類轉(zhuǎn)換為對(duì)象,創(chuàng)建了一個(gè)控件對(duì)象。VB 中常用的對(duì)象是控件。此外, VB 還提供了系統(tǒng)對(duì)象。窗體是個(gè)特例,它既是類也是對(duì)象。當(dāng)向一個(gè)工程添加一個(gè)新 窗體時(shí),實(shí)質(zhì)就由窗體類創(chuàng)建了一個(gè)窗體

2、對(duì)象。對(duì)象的三要素:屬性、事件和方法。屬性:存放對(duì)象的數(shù)據(jù) ( 決定對(duì)象外觀及功能 )對(duì)象屬性的設(shè)置方法:在設(shè)計(jì)階段,利用屬性窗口直接設(shè)置屬性值;程序 運(yùn)行時(shí),通過語句 對(duì)象名.屬性名 =屬性值。若屬性只能在設(shè)計(jì)階段設(shè)置,在程序運(yùn)行階段不可改變,稱為只讀屬性。 事件:發(fā)生在對(duì)象上的事情。同一事件,對(duì)不同的對(duì)象,會(huì)引發(fā)不同的反應(yīng)。事件過程:應(yīng)用程序處理事件的步驟。應(yīng)用程序設(shè)計(jì)的主要工作就是為對(duì)象編寫事件過程的代碼。 方法:面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,為程序設(shè)計(jì)人員提供了一種特殊的過程和函數(shù)。方法是面向?qū)ο蟮模{(diào)用時(shí)一定要指 明對(duì)象。2. 窗體和控件具有的基本屬性“(1) Name 屬性:名稱 所創(chuàng)建

3、的對(duì)象名稱 ,在程序中引用。(2) Caption 屬性:標(biāo)題 該屬性決定了對(duì)象上顯示的內(nèi)容。(3) Height、Width、Top 和 Left 屬性決定對(duì)象的大小和位置。(4) Enabled 屬性:對(duì)象是否允許操作(5) Visible 屬性:對(duì)象是否可見(6) Font 屬性組:文本的外觀FontName 字體、 FontSize 大小FontBold 粗體、 FontItalic 斜體FontStrikethru 刪除線FontUnderline 下劃線(7) ForeColor 屬性:前景顏色(8) BackColor 屬性:背景顏色(9) MousePointer屬性:鼠標(biāo)指針

4、類型,設(shè)置值范圍015,由系統(tǒng)指定。若為99,由用戶提供的圖形文件定義鼠標(biāo)指針形狀。(10) MouseIcon屬性:在 MousePointer屬性值為99時(shí),存放自定義的鼠標(biāo)圖標(biāo)文件(.ico或.cur)。圖標(biāo)庫在 Graphics目 錄下。3. 窗體的事件:Load 事件是在窗體被裝入工作區(qū)時(shí)觸發(fā)的事件。當(dāng)應(yīng)用程序啟動(dòng),自動(dòng)執(zhí)行該事件,該事件通常用來在啟動(dòng)應(yīng)用程序時(shí)對(duì)屬性和變量進(jìn)行初始化。窗體的方法:(1)Print方法用來顯示文本內(nèi)容,格式:對(duì)象 .print 表達(dá)式( 2) Cls 方法 清除運(yùn)行時(shí)在窗體或圖形框中產(chǎn)生的文本或圖形 , Cls 方法不能清除窗體在設(shè)計(jì)時(shí)的文本和圖形。

5、格式: 對(duì)象 .cls( 3) Move 方法 可移動(dòng)窗體或控件,并可改變其大小。語法格式如下:對(duì)象.Move左邊距離,上邊距離,寬度,高度4. 標(biāo)簽作用:用于顯示文本 (輸出 )信息,不能作為輸入信息的界面。其內(nèi)容只能通過Caption 屬性設(shè)置或修改,不能直接編輯。5. 文本框是一個(gè)文本編輯區(qū)域,可以在該區(qū)域輸入、編輯、修改和顯示正文內(nèi)容。在VB 中字符長度以字為單位,也就是一個(gè)西文字符與一個(gè)漢字都是一個(gè)字,長度為1。重要屬性 (1) Text 顯示或輸入的正文內(nèi)容。(2) Maxlength 設(shè)置文本框可輸入的文字最大長度。默認(rèn)值為0,表示可以輸入任意長字符串。(3) MultiLine

6、 多行屬性設(shè)置為 True 時(shí),文本框可以輸入或顯示多行正文,同時(shí)具有文字處理器的自動(dòng)換行功能,按Enter 鍵可插入一空行。(4) ScrollBars0-None滾動(dòng)條屬性無滾動(dòng)條1-Horizontal水平滾動(dòng)條2-Vertical垂直滾動(dòng)條3-Both同時(shí)加水平和垂直滾動(dòng)條注意:當(dāng) MultiLine 為 True 時(shí), ScrollBars 才有效(5) PassWordChar 設(shè)置顯示文本的替代符。例如,當(dāng)設(shè)置為“* ”,則在文本框輸入的內(nèi)容均以“* ”顯示,而存儲(chǔ)的值是用戶輸入的原文。一般用于設(shè)置口令的輸入。當(dāng) MultiLine 為 True 時(shí),該屬性不起作用,密碼不允許多

7、行。(6) Locked指定文本控件是否可被編輯,默認(rèn)值為False(可編輯),當(dāng)設(shè)置為True時(shí),文本控件相當(dāng)于標(biāo)簽控件的作用。注意: Locked 與 Enabled 的區(qū)別。(7)文本內(nèi)容進(jìn)行選擇操作的三個(gè)屬性SelStart選定的正文開始位置SelLength選定的正文長度SelText選定的正文內(nèi)容這 3 個(gè)屬性互相關(guān)聯(lián) ,例如設(shè)置 SelStart、SelLength 后, SelText 自動(dòng)存放指定的文本。 注意:屬性窗口中沒有這三個(gè)屬性,只能在程序代碼中使用。6.文本框的事件: Change事件:當(dāng)Text屬性值發(fā)生改變時(shí)引發(fā)該事件(2) KeyPress 事件:按下并且釋放

8、鍵盤上的一個(gè)鍵時(shí),引發(fā)焦點(diǎn)所在控件的KeyPress 事件,所按鍵的值存放在參數(shù)KeyAscii 中。對(duì)回車的判斷 KeyAscii=137文本框最有用的方法是SetFocus,把光標(biāo)移到指定的文本框中。8.命令按鈕Picture屬性:按鈕可顯示圖片文件 (.bmp和.Ico),當(dāng)Style為1時(shí)有效。10. 啟動(dòng)窗體時(shí)將命令按鈕定位在窗體中央的代碼Private Sub Form_Load()Command1.Left = Form1.ScaleWidth / 2 - Command1.Width / 2Command1.Top = Form1.ScaleHeight / 2 - Comma

9、nd1.Height / 2End Sub11. vb 圖片文件在 C:Program FilesMicrosoft Visual StudioCommonGraphics文件夾。安裝 VB 時(shí)可選擇是否安裝這些圖片文件。習(xí)題三1. 合法常量:(1) Double(2) 錯(cuò)誤(3) Double(4) Double(5) 錯(cuò)誤(6) Integer(7) String(8) String(9) Date(10) Double(11) 錯(cuò)誤(漢字字符)(12)Integer( 八進(jìn)制 )(13) 錯(cuò)誤(八進(jìn)制無數(shù)碼 8)(14) Integer(15) Boolean(16) 錯(cuò)誤(17) 錯(cuò)誤

10、(十六進(jìn)制無數(shù)碼 g)(18) Single說明:浮點(diǎn)型變量默認(rèn)為 Double 類型而非 Single。2. 合法變量名:(1)V(2)V(3)誤:數(shù)字開頭(4)誤:含空格(5)誤:關(guān)鍵字(6)V(7)誤:關(guān)鍵字(8)誤:有括號(hào)(9)V(10) V(11) V(12) V (漢字字符可作為變量名,但不常用,且此名稱易誤解) 變量命名規(guī)則見 P.4 1 -42 。字母(漢字)開頭,字母(漢字)、數(shù)字、下劃線組成,長度為 1-255 個(gè)字符;關(guān)鍵字不可作為變量名,但可在變量名中 嵌入關(guān)鍵字;不區(qū)分大小寫。常量、數(shù)組、類型、函數(shù)、過程、對(duì)象命名規(guī)則與此相同。常量名通常全用大寫。3. 寫 VB 表達(dá)

11、式(1) Abs(x + y) + z A 5(1 + x * y) A 6(3) (10 * x + Sqr(3 * y) / (x * y)(4) (-b + Sqr(b A 2 - 4 * a * c) / (2 * a)(5) 1 / (1 / r1 + 1 / r2 + 1 / r3)(6) Sin(45 * 3.14159 / 180) + (Exp(10) + Log(10) / Sqr(x + y + 1)4. 根據(jù)條件寫表達(dá)式(1) 隨機(jī)產(chǎn)生大寫字母 Chr(Int(Rnd * (Asc(L) - Asc(C) + 1) + Asc(C)(2) 100,200 內(nèi)的隨機(jī)數(shù) I

12、nt(Rnd * 101) + 100(3) 點(diǎn)(x,y)位于第一或第三象限x 0 And y 0 Or x 0 And y 0(4) x 是 5或 7的整數(shù)倍 x Mod 5 = 0 Or Int(x / 7) = x / 7(5) 將兩位整數(shù) x 的個(gè)位與十位對(duì)換 x 10 + (x Mod 10) * 10(6) 四舍五入取兩位小數(shù) Round(x, 2)(7) 字符變量 C 是字母字符(不區(qū)分大小寫)準(zhǔn)確地說是:字符變量 C 的第一個(gè)字符是字母C = A And C = a And C = A And UCase(C) = a And LCase(C) = z(8)字符變量S第5個(gè)字符

13、起取6個(gè)字符Mid(S, 5, 6)(9) 10 XV 20(10) x ,y 至少有一個(gè)小于(11) X, y 都大于 z10 = X And X 20X z Or y z And y z5. 寫表達(dá)式的值(1) 188 注意運(yùn)算的優(yōu)先級(jí)順序,以及整除運(yùn)算“ ”的計(jì)算(2) 200100 計(jì)算 100 + 100 時(shí),由于兩個(gè)操作數(shù)類型不同,在可能的情況下自動(dòng)采用精度較高的類型,即把字符型轉(zhuǎn)換為數(shù)值型, 100 +100 得到 200;然后進(jìn)行字符串連接運(yùn)算200 & 100 ,再自動(dòng)將兩個(gè)數(shù)值轉(zhuǎn)換為字符串,得200100。(3) 68.56 在四舍五入函數(shù)產(chǎn)生之前,這就是四舍五入的計(jì)算方法

14、(4) 876554 先進(jìn)行字符串的“ +”運(yùn)算,再轉(zhuǎn)換成數(shù)值。在變量名和函數(shù)名后可加上類型符,以強(qiáng)調(diào)其類型,但不 是必須的。(5) 2000-2-29(6) 66 Shell 函數(shù)調(diào)用i = Shell(mspaint.eXe, 1)啟動(dòng)畫圖i = Shell(C:Program FilesMicrosoft OfficeOFFICE11winword.eXe, 1)啟動(dòng) Word說明:“畫圖”是 Windows 本身提供的程序,可以省略路徑。8. 答:單精度浮點(diǎn)型第 7, 9 題答案在教材中找。習(xí)題四第 1,3,5, 8 題答案在教材中找。2. 賦值語句的錯(cuò)誤(1) 10X 不能做變量名。

15、上機(jī)驗(yàn)證結(jié)果: VB 將 10 識(shí)別為行號(hào), X = Sin(X) + y 是為變量 X 賦值。故無語法錯(cuò)誤。(2) Sqr 函數(shù)的參數(shù)為負(fù)數(shù)。 上機(jī)驗(yàn)證結(jié)果:“無效的過程調(diào)用或參數(shù)”( 3)賦值號(hào)左邊不是變量名。上機(jī)驗(yàn)證結(jié)果:“缺少子程序、函數(shù)或?qū)傩浴? 4)除數(shù)為 0 上機(jī)驗(yàn)證結(jié)果:“溢出”。4. 答案略 說明:小數(shù)位可以使用四舍五入函數(shù)Round或輸出格式函數(shù) Format。例如Round(x, 2)和Format(x, “0.00 )均可使結(jié)果只保留兩位小數(shù)。但如果四舍五入后要進(jìn)行數(shù)值運(yùn)算,則使用Round函數(shù),例如z=Round(x,2)+Round(y,2)。而Format函數(shù)通常

16、只用于輸出格式設(shè)置。6指出錯(cuò)誤(1)“”應(yīng)改為“ =”,前者是中文字符,不具有運(yùn)算功能。( 2)“ 10x20 ”應(yīng)改為“ 10x And x 20 Theny = x 人 2 + 3 * x + 2ElseIf x = 10 Then y = Sqr(3 * x) - 2ElseIf x 0 Then y = 1 / x + Abs(x)End If Print y=; y # 使用 Select Case 語句 Dim x As Single, y As Single x = Val(InputBox(x=) Select Case xCase Is 20y = x 人 2 + 3 * x

17、 + 2Case Is = 10y = Sqr(3 * x) - 2Case Is 0y = 1 / x + Abs(x)End Select Print y=; y(3)# 使用 If 語句Dim x As Single, y As Single, z As Single, Max As Single x = Val(InputBox(x=) y = Val(InputBox(y=) z = Val(InputBox(z=)Max = xIf y Max Then Max = y If z Max Then Max = z Print Max=; Max # 使用 IIF 函數(shù) x = Va

18、l(InputBox(x=) y = Val(InputBox(y=) z = Val(InputBox(z=) Max = IIf(x y, x, y) Max = IIf(z Max, z, Max) Print Max=; Max9. 計(jì)算循環(huán)次數(shù) ( 1) 6 (2)19 (3)0(3) 死循環(huán)直至溢出10. 40 號(hào)語句執(zhí)行 4 次;第 50 號(hào)語句執(zhí)行 12 次;執(zhí)行第 90 號(hào)語句輸出的結(jié)果是:13, 0,2說明:該程序?yàn)榍短籽h(huán),其中外循環(huán)由 j 值變化( 1, 4,7,10)控制執(zhí)行 4 次,當(dāng) j 值為 13 時(shí)結(jié)束循環(huán);內(nèi)循環(huán)由 k 值變化(6, 4, 2)控制執(zhí)行3次,

19、當(dāng)k值為0時(shí)結(jié)束循環(huán)。第40行是外循環(huán)的循環(huán)體,故執(zhí)行4次;第50行是內(nèi)循環(huán)的循環(huán)體,故執(zhí)行 4*3=12 次。11. 可以定一個(gè)較大的循環(huán)次數(shù),在循環(huán)體中根據(jù)條件用 Exit For 退出。但這種情況通常用 Do While 循環(huán)控制。12. 編程(并非唯一正確答案)( 1)Dim i As Integer, s As IntegerFor i = 1 To 10s = s + (i + 1) * (2 * i + 1)Next iPrint s=; s( 2)Dim i As Integer, n3 As Integer, n7 As IntegerFor i = 1 To 100If i

20、 Mod 3 = 0 Then n3 = n3 + 1If Int(i / 7) = i / 7 Then n7 = n7 + 1Next iPrint 1-100 中 3的倍數(shù)有 ; n3; 個(gè)Print 1-100 中 7的倍數(shù)有 ; n7; 個(gè)( 3)Dim s1 As String, s2 As String, i As Integers1 = InputBox(Input String)s2 = For i = 1 To Len(s1)s2 = Mid(s1, i, 1) + s2Next iPrint 原序: ; s1Print 反序: ; s2或For i = Len(s1) T

21、o 1 Step -1s2 = s2 + Mid(s1, i, 1)Next i13. 輸出字符串“ 10100”。該程序功能是將十進(jìn)制數(shù)轉(zhuǎn)化為二進(jìn)制。14. 運(yùn)行時(shí)輸出 22 484該程序功能是求 x 和 y 最大公約數(shù)和最小公倍數(shù)。說明:此算法稱為“輾轉(zhuǎn)相減法”??蓪?duì)照例 4.17 的輾轉(zhuǎn)相除(輾轉(zhuǎn)求余)法。1550, 100間的 20個(gè)隨機(jī)數(shù),求最大值、最小值、平均值。Dim x As Integer, sum As Integer, aver As SingleDim n%, i%, max%, min%Randomizemax = 50: min = 100: n = 20For i

22、 = 1 To nx = Int(Rnd * 51 + 50)List1.AddItem xsum = sum + xIf x max Then max = xIf x Len(a(imax) Then imax = iEnd IfNext iPrint 最長的字符串: ; a(imax)End Sub第 7, 8 題答案在教材中找。第 9 題“自定義變量”含義不明,暫時(shí)無法回答。第 5,10 題 暫略 習(xí)題六第 1,2, 6-8 題答案可在教材中找到。3指出過程說明中的錯(cuò)誤(1) Sub子過程不應(yīng)該定義類型( 2)函數(shù)與形式參數(shù)不應(yīng)該同名( 3)數(shù)組作為形式參數(shù)時(shí),應(yīng)使用傳地址方式,不可使用

23、傳值(ByVal )( 4)形式參數(shù)應(yīng)該是變量或數(shù)組名,不可以是一個(gè)數(shù)組元素 4指出調(diào)用過程語句的錯(cuò)誤( 1)無語法錯(cuò)誤,但因形參 sum 所對(duì)應(yīng)的實(shí)參是常量 3,故計(jì)算結(jié)果無法傳遞給主調(diào)程序。( 2)實(shí)參變量 c 與形參 sum 的類型不一致。(3) 類似于(1),形參sum所對(duì)應(yīng)的實(shí)參是表達(dá)式 a+b,故計(jì)算結(jié)果無法傳遞給主調(diào)程序。srq(a)存 在語(4) 類似于(1)和(2),形參sum所對(duì)應(yīng)的實(shí)參是表達(dá)式 Sqr(c),故計(jì)算結(jié)果無法傳遞給主調(diào)程序。另外 法錯(cuò)誤(拼寫錯(cuò))。( 5)與( 2)相同,實(shí)參 c 與形參 sum 的類型不一致。5迭代法求平方根( 1)自定義函數(shù)的定義及調(diào)用F

24、unction FSqr1(a As Single) As SingleDim x0 As Single, x As Singlex = aDox0 = x x = (x0 + a / x0) / 2Loop While Abs(x - x0) 0.00001FSqr1 = xEnd FunctionPrivate Sub Command1_Click()Dim x!, y!x = Val(InputBox(x=)If x = 0 Theny = FSqr1(x)Print yEnd IfEnd Sub (2)自定義子過程的定義及調(diào)用Sub FSqr2(a As Single, x As Si

25、ngle)Dim x0 As Singlex = aDox0 = xx = (x0 + a / x0) / 2 Loop While Abs(x - x0) 0.00001End SubPrivate Sub Command2_Click()Dim x!, y!x = Val(InputBox(x=)If x = 0 ThenCall FSqr2(x, y)Print yEnd IfEnd Sub( 3)遞歸函數(shù)及調(diào)用 略 習(xí)題七第 1-9 題,答案在教材上找;第 10, 12-14 題,略。11檢測(cè) Ctrl 和 F3 同時(shí)按下的代碼:Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)If Shift = 2 And KeyCode = 114 Then MsgBox HAHAEnd Sub習(xí)題八第 1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論