vb課后練習答案習題解答_第1頁
vb課后練習答案習題解答_第2頁
vb課后練習答案習題解答_第3頁
vb課后練習答案習題解答_第4頁
vb課后練習答案習題解答_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第7章 過 程71 填空題1 一個VB應用程序可以包括的三種模塊是:( )、( )和( )模塊。答案:窗體模塊、標準模塊、類模塊2函數(shù)過程定義中至少有一個賦值語句把表達式的值賦給( )。答案:函數(shù)過程名3在VB中,過程定義中有兩種傳遞形式的參數(shù):一種是( ),稱為傳值調(diào)用;另一種是( ),稱為傳址調(diào)用。答案:傳值參數(shù)、傳址參數(shù)4 若模塊中以關鍵字public定義子過程,則在( )中都可以調(diào)用該過程。答案:整個應用程序5若窗體模塊或標準模塊中以關鍵字private定義函數(shù)過程,則該函數(shù)過程只能在( )中使用。答案:該窗體模塊或標準模塊6每一個用標識符定義的變量、常量、過程都有一個有效范圍,這個范

2、圍稱為標識符的()。答案:作用域7在模塊內(nèi)定義的過程,若在關鍵字sub或Function加前綴Public,則該過程稱為()。答案:全局級過程或工程級過程8 過程中定義的靜態(tài)變量作用域是(),生存期是()。答案:該過程內(nèi)、整個應用程序運行結(jié)束之前72 選擇題1標準模塊中的代碼存放在以( )為擴展名的文件中。a).frm b).bas c).cls d).txt 答案:b2( )不能在標準模塊中定義。a)事件過程 b)子過程 c)函數(shù)過程 d)公共過程答案:a3設已定義子過程p,有3個數(shù)值型傳值參數(shù);設a為實型變量,調(diào)用該子過程的正確語句為( )。a) p b) call p 0.5, a, 1

3、00 c) call p ( 0.5, cos(0.1), a+10 ) d) p ( 0.5, 1.2, 100 )答案:c4.設已定義函數(shù)過程f,它有三個實型傳值參數(shù);設a,b和c為實型變量,則調(diào)用該函數(shù)的正確語句為( )。a)f b) f( a+b, b+c )c)f ( a+b, b+c ,c+a ) d) f a+b, b+c, c+a答案:c5在過程體中退出子過程的語句是( )。a) Exit Do b) Exit Forc) Exit Sub d) Exit Function答案:c6在過程的形式參數(shù)的前面加上關鍵字( ),則該參數(shù)說明為傳值參數(shù)。 a) Val b) ref c

4、) Byref d) ByVal答案:d7關于過程作用域,錯誤的描述是( )。a) 全局級過程的作用域為整個工程。b) 在某一窗體模塊中定義的全局級過程,若被該模塊外的模塊所調(diào)用,必須在該過程名前加上窗體名稱。c) 在不同模塊中定義的模塊級過程可以同名。d) 模塊級過程與工程級過程不能同名。答案:d8關于變量的作用域,正確的描述是( )。a) 在模塊內(nèi)定義的變量,其作用域必定為所在模塊。b) 同一模塊中不同級的變量不能同名。c) 同一模塊中所有在過程之外用Dim定義的變量為全局變量。d) 不同模塊中定義的變量名字可以相同。答案:d9當鼠標在窗體上移動時,會發(fā)生( )事件。a) MouseDow

5、n b) MouseUpc) MouseMove d) DragDown答案:c10當某個對象具有焦點時,在鍵盤上按下某一鍵時就會發(fā)生( )事件。a)KeyPress b)KeyUp c)KeyDown d)DragDown答案:a、c11當用戶( )時,會引發(fā)焦點所在對象的KeyPress事件。a) 在鍵盤上按下有ASC碼的鍵 b) 釋放鍵盤上有ASC碼的鍵c) 單擊鼠標左鍵 d) 單擊鼠標右鍵答案:a12當用戶在鍵盤上按下一個有ASC碼的鍵時會發(fā)生( )事件。a) KeyPress和 KeyDown b) KeyPress 和KeyUpc) KeyDown和 KeyUp d) KeyPre

6、ss和 KeyMove答案:a73 解答題1過程的主要作用是什么?VB有什么類型的自定義過程?試舉例說明。答:過程的主要作用有兩個:一是任務劃分。即把一個復雜的任務劃分為若干個小任務,每個小任務可以用過程來完成,從而使任務更易于理解,易于實現(xiàn)和維護;二是代碼重用。各種復雜的任務常常包含一些完全相同或非常相近的小任務。把這些小任務獨立地編成公用的過程,由各個任務調(diào)用,這樣的做法可以避免重復的編程勞動。 在VB6中,有下列4種類型的自定義過程:1)以關鍵字Sub開頭的子過程;2)以關鍵字Function開頭的函數(shù)過程;3)以關鍵字Property開頭的屬性過程;4)以關鍵字Event開頭的事件過程

7、;在教材中只介紹子過程和函數(shù)過程兩種自定義過程。例如,Private Sub fact(Byval n As Integer,Byref fac As Long) Dim t As Long,i As Integer t=1 For i=1 To n t=t*i Next i fac=tEnd Sub是一個求n的階乘子過程。又如,Private Function max(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer)If x > y Then max = x Else max = yIf z > max The

8、n max = z End Function是一個求三個數(shù)x、y和z最大值的函數(shù)過程。2傳值參數(shù)和傳址參數(shù)的主要作用是什么?在調(diào)用過程進行參數(shù)傳遞時,它們之間有什么區(qū)別? 答:傳值參數(shù)的主要作用是把需處理的原始數(shù)據(jù)傳送給被調(diào)用過程的形式參數(shù)。傳址參數(shù)的主要作用是把調(diào)用過程后的結(jié)果傳遞回給調(diào)用程序。對傳值參數(shù)來說,在調(diào)用過程進行參數(shù)傳遞時,是把實際參數(shù)的值直接傳送給相應的傳值參數(shù)。值傳送完之后,傳值參數(shù)與相應的實際參數(shù)之間毫無任何聯(lián)系。即在調(diào)用過程時,傳值參數(shù)的改變不會引起相應實際參數(shù)的改變。對傳址參數(shù)來說,在調(diào)用過程進行參數(shù)傳遞時,是把實際參數(shù)的地址傳送給相應的傳址參數(shù)。調(diào)用過程時,對傳址參數(shù)

9、的任何操作都是對相應的實際參數(shù)進行。即在調(diào)用過程時,傳址參數(shù)的改變會引起相應實際參數(shù)的改變。74 閱讀程序,并寫出程序的運行結(jié)果。1Private Sub p(ByVal i As Integer) Dim j%, k% For j = 0 To 7 - i Print " " Next j For k = 0 To 2 * i - 1 Print "*"Next k Print End Sub Private sub command1_Click() Dim i% For i = 1 To 2 P(i) Next i For i = 3 To 1 St

10、ep -1 P(i) Next i End Sub答案: * * * * *2. Private Sub Command1_Click()Dim m%m = max(35, -21, 480)m = max(max(m, 75, 100), 380, 28)Print "max=" mEnd SubPrivate Function max(ByVal x As Integer, ByVal y As Integer, ByVal z As Integer)If x > y Then max = x Else max = yIf z > max Then max

11、= z End Function答案: max=4803Private Sub Command1_Click() Dim a As Integer, b As Integer, c As Integer Call s(10, 5, a) Call s(7, a, b) Call s(a, b, c) Print "a=" a, "b=" b, "c=" cEnd SubPrivate Sub s(x As Integer, y As Integer, z As Integer) z = y xEnd Sub答案: a=-5 b=-12

12、 c=-74. Private Sub Command1_Click() Dim i% Const n = 10 Dim a(1 To n) As Integer Randomize For i = 1 To n a(i) = Int(Rnd * 100 + 1) Print a(i), If i Mod 4 = 0 Then Print Next i Print Call s(a, n)End Sub Private Sub s(a() As Integer, ByVal n As Integer) Dim i%, k% For i = 1 To n If a(i) Mod 3 = 2 Th

13、en If k Mod 4 = 0 Then Print Print a(i), k = k + 1 End If Next i End Sub答案:輸出10個1100之間的隨機整數(shù),并把其中能被3除余2的數(shù)輸出。5. Public x As Integer Private Sub Command1_Click() x = 10 : Print x Call s1 : Print x Call s2 : Print x End Sub Private Sub s1() x = x + 20 : Print x End Sub Private Sub s2() Dim x As Integer

14、x = x + 20 : Print x End Sub答案: 10 30 30 20 306. Private Sub Command1_Click() s3 (1): s3 (1): s3 (1) End Sub Private Sub s3(ByVal a As Integer) Dim x As Integer Static y As Integer x = x + a: y = y + a Print "x=" x, "y=" yEnd Sub答案: x=1 y=1 x=1 y=2 x=1 y=375 編程題 3,其中f(t)= (1+e)/(

15、1+e),求g(2.5,3.4),g(1.7,2.5)和g(3.8,2.9)的值。解答:(1)界面設計和屬性設置在窗體上建立三個標簽、三個文本框和兩個命令按鈕。窗體和窗體上控件的主要屬性設置如表3.7.3所示。 表3.7.3 屬性設置 控件名稱 屬性名 屬性值 Form1 Caption計算函數(shù)值 Label1 Caption x= Label2Caption y= Label3 Caption 空串 Text1 Text 空串 Text2 Text 空串 Text3 Text 空串 Command1Caption 計算 Command2 Caption 結(jié)束(2)程序代碼Private Su

16、b Command1_Click() Dim x!, y! x = Val(Text1.Text) y = Val(Text2.Text) Label3.Caption = "g(" & Str(x) & "," & Str(y) & ")=" Text3.Text = Str(g(x, y)End SubPrivate Sub Command2_Click() EndEnd SubPrivate Function f(ByVal t!) As Single f = (1 + Exp(-t) / (1

17、+ Exp(t)End FunctionPrivate Function g(ByVal x!, ByVal y!) As Single If x <= y Then g = f(x + y) / (f(x) + f(y) Else g = f(x - y) / (f(x) + f(y) End IfEnd FunctionPrivate Sub Text1_Click() Text1.Text = "": Text2.Text = "": Text3.Text = "" Label3.Caption = ""

18、;End Sub(3)運行情況運行程序后,屏幕出現(xiàn)用戶界面。把鼠標移到Text1文本框并單擊,然后輸入x(例如,2.5)。再把鼠標移到Text2文本框并單擊,然后輸入y(例如,3.4)。x和y輸入后,單擊標題為“計算”的命令按鈕,系統(tǒng)執(zhí)行相應的Click事件過程。執(zhí)行結(jié)果如圖3.7.3所示。求g(1.7,2.5)和g(3.8,2.9)的操作方法類似。單擊標題為“結(jié)束”的命令按鈕,結(jié)束程序的執(zhí)行。 圖3.7.3 執(zhí)行結(jié)果4給定三組已按升序排列好的整型數(shù)據(jù),使用過程編寫程序把它們合并為一組仍能按升序排列的數(shù)據(jù)。解答:(1)界面設計和屬性設置在窗體上建立四個標簽、四個文本框和兩個命令按鈕。窗體和窗體

19、上控件的主要屬性設置如表3.7.4所示。 表3.7.4 屬性設置 控件名稱屬性名 屬性值 Form1Caption把三組升序數(shù)據(jù)合并為一組升序數(shù)據(jù) Label1Caption 第一組: Label2Caption 第二組: Label3 Caption 第三組: Label4 Caption 合并后: Text1Text 空串 Text2 Text 空串 Text3Text 空串 Text4TextMultiLineScrollBars 空串 True 1 Command1Caption 合并 Command2 Caption 結(jié)束(2)程序代碼Option ExplicitOption Ba

20、se 1Dim a As Variant, b As Variant, c As VariantPrivate Sub Form_load() Dim i% a = Array(1, 2, 7, 8, 9) For i = 1 To 5 '顯示數(shù)組a的元素值 Text1.Text = Text1.Text & Str(a(i) Next i b = Array(3, 4, 8, 8, 9, 10, 12, 12) For i = 1 To 8 '顯示數(shù)組b的元素值 Text2.Text = Text2.Text & Str(b(i) Next i c = Arr

21、ay(1, 5, 5, 6, 8) For i = 1 To 5 '顯示數(shù)組c的元素值 Text3.Text = Text3.Text & Str(c(i) Next iEnd SubPrivate Sub Command1_Click() Dim i%, m%, n%, p% m = UBound(a) n = UBound(b) p = UBound(c) Dim d() ReDim d(m + n) Call gsort(a, b, d) Dim e() ReDim e(m + n + p) Call gsort(c, d, e) For i = 1 To m + n + p '顯示

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論