vb课后习题答案
- 格式:doc
- 大小:62.50 KB
- 文档页数:13
VB课后练习答案P12第一章课后练习答案:一、选择题二、填空题第二章(P39)选择题答案:填空题答案:1.Cmdl, Click2.Text 1.Text二"Hello"P64第三章课后练习答案一、选择题二、填空题1.(Y Mod 4=0 And Y Mod 10000) Or Y Mod 400=0 2.a<>0 And b*2-4*a*c>=0 3.X Mod 5=0 And X Mod 2=0 或 Tnt(x/5)=X/5 And Int(X/2)=X/2 4. 注意:返回的均是字符型。
第四章课后答案:P79一、选择题答案为:$$41.50010二、填空题三、程序设计题(提示)1、鸡的头数为x,兔的头数为y,则可列方程式:\x-\- y = h (兀 * 2 + y * 4 =于求得x, y 的值再在窗体上输出结果。
2、 利用Format 格式函数,再通过窗体的Print 将格式化后的信息输出到窗体上。
3、 厶员I 的周长=2加" $岡的面积=加25、通过Inputbox 函数或用文本框输入三边和圆的半径a,b,c, r,利用公式:. a + b + cn 二 ---------2 S 三角形面积=Jh (h - - b )(h - c )P97第五章课后练习答案:第9题| D一、选择题答案D 改为:30二、填空题第]题Y Mod 4二0 And Y Mod 100二0 Or Y Mod 400二0 第2题笫3题笫4题Private Sub Command l_Click()X=Val(Textl.Text)Select Case XCase Is>200. Isv-10()Print “xv 100 Or x>200"Case ls<=0Y=l()()-XCase Isv二100Y=100+XCase Is<=200Y=400End SelectText2.Text=yEnd Sub三、程序设计题(提示)1、判断条件:假设一个整数为xX Mod 3=0 Or x Mod 5=0 或x/3=x\3 Or x/5=x\52、选项按钮的知识点在P182,利用该控件的Wlue属性判断是否选中该项。
习题3—4 (P126)Private Sub Command1_Click()Image1.Width = Image1.Width * 1.2Image1.Height = Image1.Height * 1.2End SubPrivate Sub Command2_Click()Image1.Width = Image1.Width / 1.2Image1.Height = Image1.Height / 1.2End SubPrivate Sub Command3_Click()Image1.Width = Form1.WidthImage1.Height = Form1.HeightEnd SubPrivate Sub Form_Load()Image1.Left = 0Image1.Top = 0Image1.Picture = LoadPicture(App.Path & "\back.jpg") End Sub习题3—5 (P126)Dim mleft As LongPrivate Sub Command1_Click()Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()Timer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()mleft = Label1.Left + 100If mleft + Label1.Width > Picture1.Width Thenmleft = 0End IfLabel1.Left = mleftEnd Sub习题4—1 (P170)Private Sub Form_Load()Form1.ShowSum = 0For i = 1 To 4a = InputBox("请输入数值型数据")Sum = Sum + aave = Sum / 4NextPrint Sum; aveEnd Sub习题4—3 (P170)Private Sub Command1_Click()a = 5b = 2.5c = 7.8pi = 3.14159265y = pi * a * b / a + b * cPrint yEnd Sub习题4—4Private Sub Command1_Click()a = Val(Text1.Text)tian = a \ 86399xiaoshi = (a - tian * 86400) \ 1439fenzhong = (a - tian * 86400 - xiaoshi * 1440) \ 59miao = a - tian * 86400 - xiaoshi * 1440 - fenzhong * 60Text2.Text = tian & "天" & xiaoshi & "小时" & fenzhong & "分钟" & miao & "秒" End Sub习题4—5Private Sub Command1_Click()Const g As Single = 9.81t = InputBox("请输入t的值")v0 = InputBox("请输入v0的值")s = 1 / 2 * g * t * t + v0 * tPrint Format(s, "0.##")End Sub习题4—6Private Sub Command1_Click()Sum = 0For i = 2 To 100 Step 2Sum = Sum + iNextLabel1.FontSize = 20Label1.Caption = "2+4+6+……+100=" & SumEnd Sub习题4—7Private Sub Command1_Click()Doa = InputBox("请输入三角形的第一条边长")a1 = Val(a)If a1 = -1 ThenEndEnd Ifb = InputBox("请输入三角形的第二条边长")b1 = Val(b)If b1 = -1 ThenEndEnd Ifc = InputBox("请输入三角形的第三条边长")c1 = Val(c)If c1 = -1 ThenEndEnd IfIf (a1 + b1 > c1) And (a1 + c1 > b1) And (b1 + c1 > a1) Then s = a1 + b1 + c1Exit DoElseError1 = MsgBox("您输入的数据不能组成三角形")End IfLoopLabel4.Caption = "您输入的边长分别为:" & a1 & "," & b1 & "," & c1 & " " & "面积为:" & sEnd Sub习题4—8Private Sub Command1_Click()If Text1.Text <> "" Thena = Text1.TextSelect Case aCase Is <= 200s = 0Case Is <= 400s = (a - 200) * 0.03Case Is < 5000s = 200 * 0.03 + (a - 400) * 0.04Case Is >= 5000s = (400 - 200) * 0.03 + (5000 - 400) * 0.04 + (a - 5000) * 0.05 End SelectText2.Text = sElseerror1 = MsgBox("请输入您的收入!")End IfEnd SubPrivate Sub Form_Load()Text2.Locked = TrueEnd SubPrivate Sub Text1_Change()If Not IsNumeric(Text1.Text) Thenerror1 = MsgBox("请输入数字")End IfEnd Sub习题4—9Private Sub Text1_Change()a = Text1.TextSelect Case aCase 0Label2.Caption = "休息"Text1.SelStart = 0Text1.SelLength = 1Case 1, 3Label2.Caption = "讲计算机课"Text1.SelStart = 0Text1.SelLength = 1Case 2, 4Label2.Caption = "讲程序设计课"Text1.SelStart = 0Text1.SelLength = 1Case 5Label2.Caption = "进修英语"Text1.SelStart = 0Text1.SelLength = 1Case 6Label2.Caption = "政治学习"Text1.SelStart = 0Text1.SelLength = 1Case ElseError1 = MsgBox("您确认退出程序?", 52, "确认")If Error1 = 6 ThenEndElseText1.SelStart = 0Text1.SelLength = 1End IfEnd SelectEnd Sub习题4—10Private Sub Command1_Click()For i = 1 To 9Print Tab(30 - 3 * i);For j = 1 To iPrint j;Next jFor k = i - 1 To 1 Step -1Print k;Next kPrintNext iEnd Sub习题4—11Private Sub Command1_Click()For i = 1 To 30For j = i To 30For k = j To 30If i * i + j * j = k * k ThenPrint Tab(10); i, Tab(23); j, Tab(36); k End IfNext k, j, iEnd Sub习题4—12Private Sub Form_Click()Dim m As Integer, n As Integerm = CInt(Val(InputBox("请输入计算范围的初值"))) n = CInt(Val(InputBox("请输入计算范围的终值"))) For i = m To ns = 0For j = 1 To i - 1If i Mod j = 0 Thens = s + jEnd IfNext jIf s = i Then Print iNext iEnd Sub习题4—13Private Sub Form_Click()Dim a As String, c As StringDim b As Integera = InputBox("请输入学生姓名")b = InputBox("请输入学生成绩")Select Case bCase Is <= 39c = "Fail"Case Is <= 49c = "Poor"Case Is <= 59c = "Fair"Case Is <= 79c = "Good"Case Elsec = "Very Good"End SelectPrint "姓名:" & aPrint "成绩:" & bPrint "评语:" & cEnd Sub习题4—14Private Sub Command1_Click()Dim a As Integera = Val(Text1.Text)If a < 10 Or a > 99 Thenerror1 = MsgBox("您输入的不是两位正整数,请重新输入")ElseFor i = 10 To 99a1 = a \ 10 + (a Mod 10) * 10i1 = i \ 10 + (i Mod 10) * 10If (a + i = a1 + i1) And (a1 > 9) And (i1 > 9) ThenLabel2.Caption = Label2.Caption & Chr(13) & a & "+" & i & "=" & a1 & "+" & i1Form1.Height = Label2.Height + Label2.Top + 1000End IfNextEnd IfEnd Sub习题4—15Dim a, b, s As DoubleDim flag, com As IntegerPrivate Sub Command1_Click()If flag = 0 ThenText1.Text = Text1.Text & Command1.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command1.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command2_Click()If flag = 0 ThenText1.Text = Text1.Text & Command2.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command2.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command3_Click()If flag = 0 ThenText1.Text = Text1.Text & Command3.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command3.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command4_Click()If flag = 0 ThenText1.Text = Text1.Text & Command4.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command4.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command5_Click()If flag = 0 ThenText1.Text = Text1.Text & Command5.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command5.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command6_Click()If flag = 0 ThenText1.Text = Text1.Text & Command6.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command6.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command7_Click()If flag = 0 ThenText1.Text = Text1.Text & Command7.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command7.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command8_Click()If flag = 0 ThenText1.Text = Text1.Text & Command8.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command8.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command9_Click()If flag = 0 ThenText1.Text = Text1.Text & Command9.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command9.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command10_Click()If flag = 0 ThenText1.Text = Text1.Text & Command10.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command10.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command11_Click()If flag = 0 ThenText1.Text = Text1.Text & Command11.Captiona = Val(Text1.Text)ElseText1.Text = ""flag = 0Text1.Text = Text1.Text & Command11.Captiona = Val(Text1.Text)End IfEnd SubPrivate Sub Command12_Click()Select Case comCase 1a =b + aText1.Text = aflag = 1Case 2a =b - aText1.Text = aflag = 1Case 3a =b * aText1.Text = aflag = 1Case 4a =b / aText1.Text = aflag = 1End SelectEnd SubPrivate Sub Command13_Click()b = aflag = 1com = 1End SubPrivate Sub Command14_Click()b = aflag = 1com = 2End SubPrivate Sub Command15_Click()b = aflag = 1com = 3End SubPrivate Sub Command16_Click()b = aflag = 1com = 4End Sub习题5—1 (P196)Private Sub Form_Click()Dim a(1 To 20)For i = 1 To 20a(i) = InputBox("请输入第" & i & "个元素") Next iFor i = 1 To 20Print a(i); " ";Next iPrintFor i = 1 To 10t = a(i)a(i) = a(21 - i)a(21 - i) = tNext iPrint a(i),Next iEnd Sub习题5—2Private Sub Form_Click()Dim a(1 To 10, 1 To 10)For i = 1 To 10For j = 1 To 10If i = j Thena(i, j) = 1ElseIf i + j = 11 Thena(i, j) = 1Elsea(i, j) = 0End IfNext jNext iFor i = 1 To 10For j = 1 To 10Print a(i, j);Next jPrintNext iEnd Sub习题5—3Private Sub Form_Click()Dim a() As Integern = InputBox("请输入n")m = InputBox("请输入m")Print "数组为" & n & "行" & m & "列"ReDim a(n, m)For i = 1 To nFor j = 1 To ma(i, j) = InputBox("请输入第" & i & "行" & j & "列") Next jNext iFor i = 1 To nFor j = 1 To mPrint a(i, j);Next jPrintNext is = 0For j = 1 To ms = s + a(i, j)Next jNext iv = s / (n * m)Print "平均值为:" & vFor i = 1 To nFor j = 1 To mIf a(i, j) > v ThenPrint "元素:" & a(i, j) & "行号:" & i & "列号:" & j End IfNext jNext iEnd Sub习题5—4Private Sub Form_Click()Dim a(1 To 50, 1 To 4) As IntegerFor i = 1 To 50For j = 1 To 4a(i, j) = Int(Rnd * 90 + 10)Next jNext i'显示满足条件的行For i = 1 To 50For j = 1 To 4If a(i, j) > 90 ThenFor k = 1 To 4Print a(i, k) & " ";Next kPrintExit ForEnd IfNext jNext i'显示完整数组For i = 1 To 50For j = 1 To 4Print a(i, j) & " ";Next jPrintNext iEnd Sub习题5—5Private Sub Form_Click()Dim n As Integer, m As IntegerDim a() As Integern = InputBox("请输入行数n")m = InputBox("请输入列数m")ReDim a(1 To n, 1 To m)For i = 1 To nFor j = 1 To ma(i, j) = InputBox("请输入第" & i & "行" & j & "列的元素") Next jNext iFor i = 1 To nFor j = 1 To mPrint Format(a(i, j), "000") & " ";Next jPrintNext ian_num = 0For i = 1 To nhmax = a(i, 1)lhao = 1For j = 1 To mIf a(i, j) > hmax Thenhmax = a(i, j)lhao = jEnd IfNext jlmin = a(i, lhao)For k = 1 To nIf a(k, lhao) < lmin Thenlmin = a(k, lhao)End IfNext kIf lmin = hmax ThenPrint " 鞍点为:" & i & "行" & lhao & "列"an_num = an_num + 1End IfNext iIf an_num = 0 Then Print "无鞍点"End Sub习题5—6Private Sub Form_Click()Dim a(1 To 3, 1 To 3) As IntegerDim b(1 To 3, 1 To 3) As IntegerDim c(1 To 3, 1 To 3) As IntegerFor i = 1 To 3For j = 1 To 3a(i, j) = Int(Rnd * 90 + 10)b(i, j) = Int(Rnd * 90 + 10)Next jNext iPrint "数组A:"For i = 1 To 3For j = 1 To 3Print a(i, j) & " ";Next jPrintNext iPrint "数组B:"For i = 1 To 3For j = 1 To 3Print b(i, j) & " ";Next jPrintNext iFor i = 1 To 3For j = 1 To 3c(i, j) = a(i, j) + b(i, j)Next jNext iPrint "数组C:"For i = 1 To 3For j = 1 To 3Print c(i, j) & " ";Next jPrintNext iEnd Sub习题5—7Private Sub Form_Click()Dim a(1 To 10, 1 To 3)Dim s As Integer, av As IntegerFor i = 1 To 10a(i, 1) = InputBox("请输入第" & i & "个学生的姓名") a(i, 2) = InputBox("请输入第" & i & "个学生的学号") a(i, 3) = InputBox("请输入第" & i & "个学生的成绩") Next iPrint "原始数据为:"Print "姓名", "学号", "成绩"For i = 1 To 10For j = 1 To 3Print a(i, j),Next jPrintNext is = 0For i = 1 To 10s = s + a(i, 3)Next iav = s / 10Print "平均成绩为:" & avPrint "姓名", "学号", "成绩", "奖金等级"For i = 1 To 10If a(i, 3) > av * 1.1 ThenPrint a(i, 1), a(i, 2), a(i, 3), "一等奖"ElseIf a(i, 3) > av * 1.05 ThenPrint a(i, 1), a(i, 2), a(i, 3), "二等奖"End IfNext iEnd Sub习题5—8Private Sub Form_Click()Dim a(1 To 10, 1 To 4)For i = 1 To 10a(i, 1) = InputBox("请输入第" & i & "个学生的姓名")a(i, 2) = Val(InputBox("请输入第" & i & "个学生的语文成绩")) a(i, 3) = Val(InputBox("请输入第" & i & "个学生的数学成绩")) a(i, 4) = (a(i, 2) + a(i, 3)) / 2Next iPrint "姓名", "语文", "数学", "平均分"For i = 1 To 10For j = 1 To 4Print a(i, j),Next jPrintNext iFor i = 10 To 2 Step -1For j = 1 To i - 1If a(j, 4) < a(j + 1, 4) Thent = a(j, 1)a(j, 1) = a(j + 1, 1)a(j + 1, 1) = tt = a(j, 2)a(j, 2) = a(j + 1, 2)a(j + 1, 2) = tt = a(j, 3)a(j, 3) = a(j + 1, 3)a(j + 1, 3) = tt = a(j, 4)a(j, 4) = a(j + 1, 4)a(j + 1, 4) = tEnd IfNext jNext iPrint "姓名", "语文", "数学", "平均分" For i = 1 To 10For j = 1 To 4Print a(i, j),Next jPrintNext iEnd Sub习题5—9Private Sub Form_Click()Dim a, b, c(0 To 5) As Integera = Array(2, 8, 7, 6, 4, 28, 70, 25)b = Array(79, 27, 32, 41, 57, 66)Print "A数组的内容:"For Each x In aPrint x,Next xPrintPrint "B数组的内容:"For Each x In bPrint x,Next xPrintPrint "C数组的内容:"For i = 0 To 5c(i) = a(i) + b(i)Print c(i),Next iEnd SubPrivate Sub Form_Click()Dim a(1 To 4, 1 To 4) As IntegerFor i = 1 To 4For j = 1 To 4a(i, j) = InputBox("请输入第" & i & "行第" & j & "列的元素") Next jNext iPrint "原始数组:"For i = 1 To 4For j = 1 To 4Print a(i, j),Next jPrintNext iPrint "主对角线:"For i = 1 To 4Print a(i, i),Next iPrintPrint "另一条对角线:"For i = 1 To 4Print a(i, 5 - i),Next iPrintFor i = 1 To 4s = 0For j = 1 To 4s = s + a(i, j)Next jPrint "第" & i & "行的和为:" & sNext iFor i = 1 To 4s = 0For j = 1 To 4s = s + a(j, i)Next jPrint "第" & i & "列的和为:" & sNext iFor i = 1 To 4t = a(1, i)a(1, i) = a(3, i)a(3, i) = tNext it = a(i, 2)a(i, 2) = a(i, 4)a(i, 4) = tNext iPrint "结果数组:"For i = 1 To 4For j = 1 To 4Print a(i, j),Next jPrintNext iEnd Sub习题5—11Private Sub Form_Click()Dim a()Dim n As Integern = InputBox("请输入人数N")ReDim a(1 To n, 1 To 5)For i = 1 To na(i, 1) = InputBox("请输入第" & i & "个人的姓名")a(i, 2) = InputBox("请输入第" & i & "个人的性别")a(i, 3) = InputBox("请输入第" & i & "个人的年龄")a(i, 4) = InputBox("请输入第" & i & "个人的文化程度") a(i, 5) = InputBox("请输入第" & i & "个人的籍贯") Next iPrint "原始数据:"Print "姓名", "性别", "年龄", "文化程度", "籍贯"For i = 1 To nFor j = 1 To 5Print a(i, j),Next jPrintNext iPrint "查找的结果:"x = 6Do While x = 6sn = InputBox("请输入要查找的人的姓名")For i = 1 To nIf sn = a(i, 1) ThenFor j = 1 To 5Print a(i, j),Next jPrintExit ForEnd IfNext iIf i > n Then Print "没有找到该人"x = MsgBox("你是否还要继续查找??", vbInformation + vbYesNo, "提问") LoopEnd Sub习题5—12Private Sub Form_Click()Dim a(1 To 10, 1 To 2)For i = 1 To 10a(i, 1) = CStr(InputBox("请输入运动员号"))a(i, 2) = Val(InputBox("请输入成绩"))Next iPrint "原始的顺序"Print "运动员号", "成绩"For i = 1 To 10For j = 1 To 2Print a(i, j),Next jPrintNext iFor i = 10 To 2 Step -1For j = 1 To i - 1If a(j, 2) > a(j + 1, 2) Thent = a(j, 2)a(j, 2) = a(j + 1, 2)a(j + 1, 2) = tt = a(j, 1)a(j, 1) = a(j + 1, 1)a(j + 1, 1) = tEnd IfNext jNext iPrint "排列的顺序"Print "名次", "运动员号", "成绩"For i = 1 To 10Print i,For j = 1 To 2Print a(i, j),Next jPrintNext iEnd SubPrivate Sub Form_Click()Dim a(11, 11)For i = 1 To 11a(i, 1) = 1a(i, i) = 1Next iFor i = 3 To 11For j = 2 To 10a(i, j) = a(i - 1, j - 1) + a(i - 1, j)Next jNext iFor i = 1 To 11For j = 1 To iPrint Format(a(i, j)),Next jPrintNext iEnd Sub习题6—4 (P224)Private Sub Form_Click()Dim i As LongFor i = 1 To 1000If Automorphic(i) Then Print iNext iEnd SubPrivate Function Automorphic(n As Long) As Boolean Dim t As Long, l As Integerl = Len(CStr(n))t = n * nAutomorphic = Right(CStr(t), l) = CStr(n)End Function习题6—6Private Sub Form_Click()For i = 1 To 20Print i & "的立方为:" & m_pf(i)Next iEnd SubPrivate Function m_pf(x)m_pf = x * x * xEnd FunctionPrivate Sub Form_Click()Dim a As Integera = InputBox("请输入一个整数")If is_bin(a) ThenPrint "偶数"ElsePrint "奇数"End IfEnd SubPrivate Sub Form_Load()End SubPrivate Function is_bin(n As Integer) As Boolean If n Mod 2 = 0 Thenis_bin = TrueElseis_bin = FalseEnd IfEnd Function习题6—9Const pi = 3.1415926Private Sub Form_Click()Print "余下的面积为:" & C_S(10) - C_S(5) - C_S(3) End SubPrivate Function C_S(r As Single) As SingleC_S = pi * r * rEnd Function习题6—10Private Sub Form_Click()Print "第五人的年龄为:" & n_age(5)End SubPrivate Function n_age(n As Integer) As IntegerIf n = 1 Thenn_age = 10Elsen_age = n_age(n - 1) + 2End IfEnd Function。
VB程序设计教程课后参考答案习题一一、填空题1.对象、事件驱动2.窗体、控件3.属性4.属性窗口、编程设置5.事件过程6.对象名、下划线、事件名7.Form_click8.Print form1.print “我的VB”9.主窗口、属性、工具箱、代码、窗体、工程资源管理10.菜单、快捷键二、选择题1.C 2. A 3. B 4. B 5. D 6. B C 7. A 三、简答题(略)习题二一、选择题1. D2. C3. C4. B5. C6. B7. C8. B 9. A 10. B 11. B 12. C 13. D 14. B15. A 16. A 17. A 18. A 19. B 20. C 21. A22. B 23. B 24. A 25. C 26. A 27. B 28. B29. C 30. B 31. D 32. D 33. C二、填空题1.Controlbox、Maxbutton、Minbutton2.Multiline TRUE3.******4.单文档界面(SDI)多文档界面(MDI)5.窗体显示6.Passwordchar7._change()三、编程题(略)习题三一、基础知识题(略)二、填空题1.整型、长整型、单精度、双精度2.(x mod 10)*10+x\103.Sin(3.14*15/180)+sqr(x+exp(3))/abs(x-y)-log(3*x)4.(a+b)/(1/(c+5)-c*d/2)5.X mod 5=0 or x mod 9=06.False7.-4、3、-3、3、-4、48.CDEF10.TRUE11.变量、属性12.‘_ :13.(略)14.“”#15.Public、通用/模块、Dim、static、private16.+ 、&、+17.Now() 、time()、日期18.Inputbox()、字符串、val()19.Msgbox()三、选择题1.B 2. C 3. A 4. B D此题有误 5. B 6. A7. D 8. B 9. B 10. C 11. D 12. B13. C 14. B 15. A 16. C 17.A 18. D19. A 20. D 21. A 22. C 23. C 24. D25. A 26. D 27. D 28. B 29. C 30. B31. C 32. B 33. C D此题有误34. C 35. A36. D 37. C 38. A 39. B 40. A 41. C42. C 43. D 44. C 45. D 46. A四、编程题1.Option ExplicitPrivate Sub Command1_Click()Dim a%, b%, c%, delta%Dim x1#, x2#, x#a = Val(InputBox("please input data to a:", "info", 1))b = Val(InputBox("please input data to b:", "info", 1))c = Val(InputBox("please input data to c:", "info", 1))If a = 0 And b <> 0 Thenx = -c / bPrint "所构成的方程是:" & b & "x" & "+" & c & "=0"Print "该一元一次方程的根是:", xEnd IfIf a = 0 And b = 0 ThenPrint "很抱歉,不能构成合法的方程!"End IfIf a <> 0 Thendelta = b * b - 4 * a * cIf delta >= 0 Thenx1 = (-b + Sqr(delta)) / (2 * a)x2 = (-b - Sqr(delta)) / (2 * a)Print "所构成的方程是:" & a & "x2" & "+" & b & "x" & "+" & c & "=0"Print "该方程的根是:"Print "第一个根是:", x1Print "第二个根是:", x2Else2Print "该方程有两个虚根:"Print "第一个虚根是:" & -b / (2 * a) & "+" & Sqr(Abs(delta)) / (2 * a) & "i"Print "第二个虚根是:" & -b / (2 * a) & "-" & Sqr(Abs(delta)) / (2 * a) & "i" End IfEnd IfEnd Sub2.Option ExplicitPrivate Sub Command1_Click()Dim i%, s%s = 0For i = 1 To 99 Step 2s = s + iNextPrint sEnd Sub3.Option ExplicitPrivate Sub Command1_Click()Dim i%Dim s#s = 0For i = 1 To 100s = s + 1 / i * (-1) ^ (i + 1)NextPrint sEnd Sub4.Option ExplicitPrivate Sub Command1_Click()Dim i%, n%Dim t#, s#n = Val(InputBox("please input data:", "info", 5))s = 0t = 1For i = 1 To nt = t * is = s + tNextPrint sEnd Sub5.Option ExplicitPrivate Sub Command1_Click()Dim a%, b%, c%Dim p#, s#a = Val(InputBox("please input data to a:", "info", 3))b = Val(InputBox("please input data to b:", "info", 4))c = Val(InputBox("please input data to c:", "info", 5))If (a + b > c And Abs(a - b) < c) Or (a + c > b And Abs(a - c) < b) Or ((b + c) > a And Abs(b - c) < a) Thenp = (a + b + c) / 2s = Sqr(p * (p - a) * (p - b) * (p - c))Print "三角形的面积是:" & sElsePrint "很抱歉,不能构成合法的△三角形!"End IfEnd Sub6.Option ExplicitPrivate Sub Command1_Click()Dim ji%, tu%For ji = 1 To 27For tu = 1 To 27If ji * 2 + tu * 4 = 78 And ji + tu = 27 ThenPrint "鸡的个数是:" & jiPrint "兔的个数是:" & tuEnd IfNextNextEnd Sub7.Option ExplicitPrivate Sub Command1_Click()Dim i%Dim s#, t#s = 10t = 10For i = 1 To 7t = t * 0.4s = s + t * 2NextEnd Sub8.Option ExplicitPrivate Sub Command1_Click()Dim i%, fs%, max%, min%, s%Dim ave#fs = Val(InputBox("please input score:", "info", 90))s = fsmax = fsmin = fsFor i = 2 To 7fs = Val(InputBox("please input score:", "info", 90))If max < fs Thenmax = fsEnd IfIf min > fs Thenmin = fsEnd Ifs = s + fsNextave = (s - max - min) / 5Print "该运动员的平均成绩是:" & aveEnd Sub9. ‘同学们,这道题方法很多,主要考察你对选择结构的理解,我给出其中一种方法。
1. 选择题(1) 假定窗体的名称(Name属性)为Form1,则把窗体的标题设置为“VB Test”的语句为(B)。
A. Form1="VB Test"B. Caption="VB Test"C. Form1.Text="VB Test"D. ="VB Test"(2) 下列不能打开代码窗口的操作是(D)。
A.双击窗体上的某个控件B.双击窗体C.按F7键D.单击窗体或控件(3) 为了保存一个Visual Basic应用程序,应当(D)。
A.只保存窗体文件(.frm)B.分别保存工程文件和标准模块文件(.bas)C.只保存工程文件(.vbp)D.分别保存工程文件、窗体文件和标准模块文件(4) 为了装入一个Visual Basic应用程序,应当(C)。
A.只装入窗体文件(.frm)B.分别装入工程文件和标准模块文件(.bas)C.只装入工程文件(.vbp).D分别装入工程文件、窗体文件和标准模块文件(5) 不为了使窗体的大小可以改变,必须把它的BorderStyle属性设置为(A)。
A.1 B.2 C.3 D.42. 填空题(1) 在用Visual Basic开发应用程序时,通常首先需要新建工程、其次还要经过、、、和5步。
(2) 控件和窗体的Name属性只能通过属性窗口设置,不能在运行期间设置。
(3) 代码窗口分为左右两栏,左边一栏称为对象,右边一栏称为事件。
(4) 为了在输入程序时能自动进行语法检查,必须执行菜单中的命令,打开对话框,然后选择“编辑器”选项卡中的选项。
(5) 在保存VB应用程序中,窗体文件和工程文件的扩展名分别为 .frm 和.vbp 。
(6) 为了把一个Visual Basic应用程序装入内存,只要装入工程文件即可。
(7) Visual Basic应用程序通常由3类模块组成,即、和。
(8) 在窗体上画两个文本框和一个命令按钮,然后在命令按钮的代码窗口中编写如下事件过程:Private Sub Command1_Click( )Text1.Text=“VB Programming”Text2.Text=Text1.TextText1.Text=“ABCD”End Sub程序运行后,单击命令按钮,两个文本框中显示的内容分别为ABCD 和VB Programming 。
VB课后习题解答第一、二章:1、简述VB6.0的主要特点答:方便、直观的可视化设计工具;面向对象程序设计方法;事件驱动的编程机制;易学易用的应用程序集成开发环境;结构化程序设计语言;完备的联机帮助功能;强大的多媒体、数据库和网络功能。
2、当正常安装VB6.0后,误把Windows子目录删除。
当重新安装Windows后,是否需要再次安装VB6.0?答:要重新安装的。
因为安装VB6.0时,有些VB程序被系统自动安装在Windows目录下,所以一旦删除Windows子目录,就必须重新安装VB6.0。
3、Visual Basic 6.0分为学习版、专业版和企业版,如何知道所安装的是哪个版本?答:在VB6.0的启动界面上,能显示对应的版本。
4、叙述建立一个完整应用程序的过程答:首先建立用户界面的控件对象(简称控件);然后对控件属性进行设置;再对控件事件过程及编程;保存应用程序;程序调试和运行。
5、Visual Basic 6.0有多种类型窗口,若要在设计时看到代码窗口,应怎样操作?答:选择“视图”—>“代码窗口”命令或单击“工程资源管理器”窗口中的“查看代码”按钮。
6、当建立好一个简单的应用程序后,假定该工程仅有一个窗体模块。
试问该工程涉及多少个要保存的文件?若要保存该工程的所有文件,应先保存什么文件?再保存什么文件?若不这样做,系统会出现什么信息?答:涉及两个文件要保存。
先保存窗体文件(.frm),再保存工程文件(.vbp)。
若先保存工程文件,系统也会先弹出“文件另存为”对话框,要求先保存窗体文件。
7、保存文件时,若不改变目录名,则系统默认的目录是什么?答:系统默认的目录是VB988、安装Visual Basic 6.0后,帮助系统是否也已安装?答:没有。
VB6.0的帮助系统在两张光盘上,即MSDN Library,其中还包含了VC、VFP等其他语言的帮助系统。
9、如何使用Visual Basic 6.0的帮助系统?答:最方便的方法是选定要帮助的内容,然后按F1功能键,这时系统打开MSDN Library查阅器,直接显示与选定内容有关的帮助信息。
第1章参考答案1.选择题(1) B (2) B2.综合题(1)属性有:蓝色、带有纹路;方法有:踢、按住;事件有:滚动、静止。
(2)VB应用程序开发的一般步骤有:①创建用户界面;②设置对象的属性;③编写代码;④程序运行与调试;⑤保存与编译。
第2章参考答案1.选择题(1) A (2) C (3) D (4) B (5) A (6) C2.操作题Private Sub Command1_C1ick ()Label1. Caption 二Textl.TextEnd SubPrivate Sub Command2_Click()Label1. Caption 二〃〃Textl.Text 二End SubPrivate Sub Form Load ()Label1. Caption 二Textl. PasswordChar 二"$〃End Sub第3章参考答案1.选择题(1)B、C 分析:(B) 3Acd以数字开头;(C)IF是VB的关键字(2) B 分析:逻辑常量的值只有两个True和False,特别注意” false”是字符串常量。
(3) C 分析:VB表达式不区分大小写。
(4) C 分析:Long是长整型,Byte是字节型,Interge是整型。
2.综合题(1) a = Int(Rnd * (100))分析:产生一个区间在[m, n]之间的随机整数,其表达式为Int(Rnd*(n-m+1)+m)(2)Int (X*100+0. 5)/100 分析:Int (X*100+0. 5)的作用是将X 扩大100 倍后,第三位小数小于0.5,则舍掉,大于0.5,则产生进位,取整后就是四舍五入的作用,再除以100,是还原为原值。
(3)Private Sub Command1_C1ick()a 二Int (99 * Rnd + 1)b 二Int (99 * Rnd + 1)Label1. Caption 二 a & "+〃 & b & "二?“End Sub(3)①False ②True ③ 8 Mod 3+3八3/4\5 (有改动)答案:3第4章参考答案1.填空(1)T F (2)F (3) HEIGHT>160 AND HEIGHT<165 END IF(4) SC0RE>60^ LblSc. caption=、ELSE> LblSc. caption-., ENDIF (5)EXIT(6)21 (7)16 (8) 0 、 1 、>100 、Total+Num、Num+22.程序设计题(略)第5章章参考答案1.选择CCDBDDBCCABACBB2.操作题(1)实现多中选一的功能,通过用图片框和框架来实现单选按钮的分组,方法是,选中图片框或框架后,再在里面绘制单选按钮,另一种方法是将绘制好单选按钮剪切粘贴到图片框或框架中。
<大学程序设计基础-Visual Basic>教材课后习题答案第1章一、选择题1 2 3 4 5 6 7B D BC B B D第2章一、选择题1 2 3 4 5 6 7 8 9 10B C B C B C A A A A11 12 13 14A B A A二、填空题1.rem或’ _ :2.“” # #3.5x2-3x-2sinA/34.3214565.300三、操作题1、程序段:Private Sub Command1_Click()Dim x As Integer, y As IntegerDim s As Long, c As Longx = Text1.Texty = Text2.Texts = x * yc = (x + y) * 2Label3.Caption = "长方形的面积为" + Str(s)Label4.Caption = "长方形的周长为" + Str(c)End Sub3、程序段:Private Sub Command1_Click()Text1.Text = "第一"End SubPrivate Sub Command2_Click()Text1.Text = "第二"End Sub4、程序代码:Private Sub Text1_Change()Text1.MaxLength = 10End Sub5、程序代码:Private Sub Text1_Click()Text1.SelStart = 0Text1.SelLength = Len(Text1.Text)End Sub第3章一、选择题1 2 3 4 5 6 7D A D B A D B二、填空题1. False2.B^2-4*a*c else三、操作题1.从键盘输入三个值,判断它们能否构成三角形的三个边。
如果能构成一个三角形,则计算三角形的面积。
1. 选择题(1) 假定窗体的名称(Name属性)为Form1,则把窗体的标题设置为“VB Test”的语句为(B)。
A. Form1="VB Test"B. Caption="VB Test"C. Form1.Text="VB Test"D. ="VB Test"(2) 下列不能打开代码窗口的操作是(D)。
A.双击窗体上的某个控件B.双击窗体C.按F7键D.单击窗体或控件(3) 为了保存一个Visual Basic应用程序,应当(D)。
A.只保存窗体文件(.frm)B.分别保存工程文件和标准模块文件(.bas)C.只保存工程文件(.vbp)D.分别保存工程文件、窗体文件和标准模块文件(4) 为了装入一个Visual Basic应用程序,应当(C)。
A.只装入窗体文件(.frm)B.分别装入工程文件和标准模块文件(.bas)C.只装入工程文件(.vbp).D分别装入工程文件、窗体文件和标准模块文件(5) 不为了使窗体的大小可以改变,必须把它的BorderStyle属性设置为(A)。
A.1 B.2 C.3 D.42. 填空题(1) 在用Visual Basic开发应用程序时,通常首先需要新建工程、其次还要经过、、、和5步。
(2) 控件和窗体的Name属性只能通过属性窗口设置,不能在运行期间设置。
(3) 代码窗口分为左右两栏,左边一栏称为对象,右边一栏称为事件。
(4) 为了在输入程序时能自动进行语法检查,必须执行菜单中的命令,打开对话框,然后选择“编辑器”选项卡中的选项。
(5) 在保存VB应用程序中,窗体文件和工程文件的扩展名分别为 .frm 和.vbp 。
(6) 为了把一个Visual Basic应用程序装入内存,只要装入工程文件即可。
(7) Visual Basic应用程序通常由3类模块组成,即、和。
(8) 在窗体上画两个文本框和一个命令按钮,然后在命令按钮的代码窗口中编写如下事件过程:Private Sub Command1_Click( )Text1.Text=“VB Programming”Text2.Text=Text1.TextText1.Text=“ABCD”End Sub程序运行后,单击命令按钮,两个文本框中显示的内容分别为ABCD 和VB Programming 。
二. 多项选择题三. 填空题1.事件驱动2.解释编译3.设计、运行和中断。
4.属性、事件和方法。
5.窗体单击(Form_Click)。
6.代码7. MyForm 。
习题2参考答案一.单选题二. 多项选择题三. 填空题1、⑴sin(50*3.14/180) ⑵(2+x*y)/(2-y^2)⑶a^2-(3*a*b/(3+a)) ⑷(x^3)^(1/8)+sqr(y^2+4*a^2/(x+y^3))2、int(rnd*(51)+50)3、⑴138 ⑵3 ⑶214 ⑷inchina ⑸70 (6)45⑺0习题3二.多项选择题三.填空题1. MultiLine,ScrollBars, 2 (或Vertical) 。
2. Label1.caption= "a*b=" 。
3. height 和 width 。
4. 2 。
5. Text1.SetFocus 。
6.编程技术,程序设计。
7.Change内容改变,将文本框内容显示在标签中。
GotFocus(获得焦点),选中文本框内容。
8.(1)Value ,(2) Value习题4参考答案三.填空题1、s = True And a >= 18 And a <= 20 And h > 165 Or s = False And a >= 16 And a <= 18 And h > 1602、600003、6,-2,24、Select Case xCase Is <= 0y = 4Case Is < 10y = 0Case Is < 15y = 1Case Is < 20y = 2Case Is <= 30y = 3Case Elsey = 4End Select5、(1)x>100 And x Mod 5=0 (2)0 (3)len(Text1.Text) (4)Text1.Text6 (1)D (2)A (3)B第5章习题5一.单选题1. A 2. C 3.⑴ C⑵ B 4. B 5. C 6. A7.D 8.D 9.A 10.C 11.A二.多项选择题1. ABCDE 2. BE 3. ABCDE三.分析程序1.⑴(4 ,13) ⑵(3,8) ⑶(3,27) ⑷(5,11) ⑸(3,10)2.12343. 64. 175. (1)len(s) (2)mid(s,k,1) (3)c & t (4)text2.text6. (1)0 (2)n+1 (3)2^n7.(1) mid(x,p+3) (2) 3 (3) p8. (1)Text1.Text (2)len(s)(3)x>="a" and x<="z" or x>="A" and x<="Z"(4) y & x9. (1)change (2)value习题6参考答案一.单项选择题1、D2、A3、C4、(1)B,(2)B5、C6、C7、A8、(1)C (2)B (3)A (4)B (5)D二.多项选择题1、CE2、DE3、ABC三.填空题1、数组D为 2 维数组,共有 16 个元素,第一维下标从 0 到 3 ,第二下标从 -1 到 2 。
VB习题答案(1-3章)习题一一、选择题1.C 2.C 3.A 4.C 5.C 6.C 7.B二、填空题1.学习版、专业版、企业版2.窗体界面3.Alt+F4三、简答题1.简述Visual Basic语言的特点。
Visual Basic是Windows操作平台下的可视化编程语言,它继承和发展了BASIC语言的基本功能,具有简单易学、功能强大等特点。
Visual Basic提供了可视化设计工具,以图形用户界面(GUI)为PC机用户提供了一个直观的工作环境。
支持面向对象的程序设计(OOP),采用事件驱动方式,提供对象的链接与嵌入(OLE)和访问数据库等功能。
2. Visual Basic 6.0的集成开发环境由哪些部分组成,各部分的主要功能是什么?1. 标题栏:用来显示打开的工程名称和系统的工作状态。
2. 菜单栏:菜单栏中包括“文件”、“编辑”、“视图”、“工程”、“格式”、“调试”、“运行”、“查询”、“图表”、“工具”、“外接程序”、“窗口”和“帮助”共有13个菜单项。
这是一组下拉式菜单,提供了设计、编辑、编译和调试应用程序所需要的绝大部分功能和命令。
3. 工具栏: Visual Basic 6.0提供了“编辑”、“标准”、“窗体编辑器”和“调试”4种工具栏。
工具栏上形象直观的排列着一些最常用的命令按钮,对应特定的常用操作命令。
4. 控件箱:控件箱提供了一组控件。
设计界面时,用户可以用鼠标双击控件箱中的控件,在窗体中画出该控件,或用鼠标单击控件箱中的控件,然后在窗体中拖动鼠标画出所需的控件。
5. 窗体设计器:窗体设计器是应用程序最终面向用户的窗口。
各种控件、图形、数据以及程序的运行结果都在窗体设计器窗体中显示出来。
6. 工程资源管理器:在工程资源管理器窗口中(图1-2),列出了应用程序的工程以及工程中的窗体和模块。
7. 属性窗口:属性窗口主要用来设置Visual Basic窗体及各控件的属性特征,属性窗口的主体部分分为左右两列,左边是控件的属性名列表,右边是控件的属性值列表。
vb课后习题答案第一章习题参考答案一、填空题1、对象事件驱动2、编译运行模式解释运行模式二、简答题1、简述VB的特点。
答:①可视化的程序设计方法②面向对象的程序设计思想③事件驱动的编程机制④结构化的程序设计语言⑤高度的可扩充性⑥强大的数据库访问能力⑦支持动态数据交换⑧支持对象链接与嵌入2、简述VB的安装过程。
答:①向光驱中放入VB安装光盘;②计算机将运行自动安装程序,若没有,执行VB目录下的Setup.exe;③根据提示逐一回答问题,并点击“下一步”;④点击“完成”;2、如何启动VB。
答:三种方法:①单击“开始”按钮,选择“程序”菜单下的“Microsoft Visual Basic 6.0 中文版”菜单项并单击;②双击桌面上的VB6.0快捷图标;③在“开始”菜单的运行对话框中输入命令来启动VB;第二章习题参考答案一、选择题:1-10、 DCACD BCBBC11-20、BADCA BBAAB21-29、AACBB CDDC二、填空题1.窗体、控件2.属性值3.属性窗口设置、代码窗口设置4.事件过程5.对象名、下划线、事件名6. Form_Click第三章习题参考答案一、选择题1、B2、C3、A4、B5、A6、C7、C二、填空题1、 11字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。
String、Byte、Integer、Long、Single、Double、Currency、Boolean 、Date、Object、Variant2、双引号(英文)、#3、 ASCII、1、24、 public、通用、Dim、Static、Private、Static5、 &、+、+6、 Now()、Time、日期型三、解答题1、(3)2、(1 )3、(1)常量(关键字)(2)字符型常量(3)逻辑型常量(4)变量(5)字符串常量(6)变量(7)字符串常量(8)变量(9)日期型常量(题目应是#11/16/1999#)(10)数值型常量(单精度)4、315、(1)(1+y/x)/(1-y/x) (2)x^3+3*x*y/(2-y)(3)sqr(abs(a*b-c^3)) (4)sqr(s*(s-a)*(s-b)*(s-c))6、7、(1)13 (2)17(3)#1999-11-12# (4)zxy123ABC8、(1)19 (2)8.16666666666667(3)5.25 (4)29、(1)-4 (2)2 . 82842712474619 (3)-3 (4)49 (5)”hello”(6)He7)16 (8)“-459.65”(9)510、(4)11、(2)12、(4)第四章习题参考答案一、选择题:1—7: DAABBCD二、填空题1. 500.00%2.将字号扩大为原来的二倍3. B三、编程题(略)1.文本框、标签和命令按钮的名称分别为text1、label1、command1Private Sub Command1_Click()Label1.caption=text1.textCommand1.caption=text1.textEnd Sub2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
Private Sub Command1_Click()Text4=val(text1)*val(text2)*val(text3)End SubPrivate Sub Command2_Click()Text1=”” : Text2=””: Text3=””:Text4=””End Sub3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2Private Sub Command1_Click()Text1=Ucase(text1)End SubPrivate Sub Command2_Click()Text1=Lcase(text1)End Sub第五章习题参考答案一、选择题:1—11: CAABBABBBCC二、填空题1.(3) 2. 1 2 3 3.2 2 3 4.160 5.9 6.78 7.x<=5 (或x<6 或 x<7) 8.B9.iSum iSum+j 1250三、编程题1.Private Sub Form_Click()Dim i%,s%S=0For i = 101 To 200 step 2If i mod 3<>0 thenPrint iS=s+iEnd IfNext iPrint sEnd Sub2.Private Sub Form_Click()Dim n%,s&S=1:n=0While s<=400000N=n+1S=s*nWendIf s>400000 Then n=n-1Print nEnd Sub3.Private Sub Form_Click()Dim imin%,imax%,i%,R%Imin=100:imax=20For i=1 to 20R=Int(Rnd*51+50)If R>imax Then imax=RIf R<IMIN Then imin="R Next iPrint imax,iminEnd Sub第六章习题参考答案一、选择题:1—13: ABAACCBADADBB二、填空题1.Interval Label1.caption=time2.List1.ListCount InterVal Hscroll1.Max三、编程题第七章习题参考答案一、选择题:1—12: DCADD BBDAC CB二、填空题1.42 2.Index 3.414.A(i)=a(11-i) a(11-i)=Tmp5.1 6.X Mod 7=0 7.2108.0 To 8 i+1 To 99.3 K 110. 1001 Max MaxMax)三、编程题1.Private Sub C1_click()If OP1(0).Value=True Then P1.Print “选择了椭圆形”If OP1(1).Value=True Then P1.Print “选择了圆形”If OP1(2).Value=True Then P1.Print “选择了正方形”End Sub2.统计按钮名为Command1,输入框名为text1,输出框为text2(MultLine 设为True)Private Sub Command1_click()Dim X(1 to 26) AS Integer,I As IntegerDim S As String,L As IntegerL=Len(Text1.text)For i=1 To LS=Mid(Text1,I,1)S=Ucase(S)If S >= "A" And S <= "Z" Thenx(Asc(S) - 65 + 1) = x(Asc(S) - 65 + 1) + 1End IfNext iFor i=1 To LText2=text2 & Chr(64+i) & “=” & x(i) & ““If I Mod 7=0 then Text2=text2 & chr(13)+chr(10)Next iEnd Sub3.设学生成绩的平均分已在Mark(1)至Mark(10)中,学生姓名在name(1)至name(10)中。
Private Sub Command1_click()Dim I%,J%,T%,S$For i=1 To 9For j=i+1 To 10If Mark(i)<MARK(J)Then T=Mark(i):Mark(i)=Mark(j):Mark(j)=TS=name(i):name(i)=name(j):name(j)=SNext JNext iFor i=1 To 10Print Name(i),Mark(i)Next iEnd Sub第八章习题参考答案一、选择题:1—10: DCBBDDDBCB二、填空题1.a Ubound(b) n=n-12.Key=a(i) Index=-1三、编程题1.子过程Sub P1(x As Single, esp As Single)Dim p!,S!,F!,i%P=1:S=1:i=1:F=xDoP=P*iS=S+F/pLoop Until Abs(F/p)<ESP Print sEnd Sub子函数Function P2(x As Single, esp As Single) As singleDim p!,S!,F!,i%P=1:S=1:i=1:F=xDoP=P*iS=S+F/pLoop Until Abs(F/p)<ESP P2=sEnd Function2.Swap2能实现数据交换。
因为地址传递方式形参和实参有共同的地址,那么形参的变化,会引起实参的变化(即形参将值回传给实参),故可实现两数交换。
3.Function LF( ByVal x As Single) As SingleLF=X*X*XEnd FunctionSub Command1_Click()Dim I%For i=1 To 20Print I, LF(i)Next iEnd Sub4.Function WeekDay(ByVal x As Integer) As StringSelect Case xCase 0WeekDay=”星期日”Case 1WeekDay=”星期一”Case 2WeekDay=”星期二”Case 3WeekDay=”星期三”Case 4WeekDay=”星期四”Case 5WeekDay=”星期五”Case 6WeekDay=”星期六”End SelectEnd Function5.Function Rand30(ByVal X As`Integer) As IntegerRandomizeRand30=Int(Rnd*X+1)End FunctionSub Command1_Click()For i=1 To 30Print Rand30(100)Next iEnd Sub6.Function F1(ByVal X As`Single, ByVal Y As`Single) As Integer If X>Y ThenF1=XElseF1=YEnd IfEnd Function7.Function GDBH(ByVal x%) As StringDim i%For i = 3 To x - 3 Step 2If isp(i) And isp(x - i) ThenGDBH = i & "+" & (x - i) & "=" & xExit FunctionEnd IfNextEnd FunctionFunction isp(y%) As Booleani = 2: k = Int(y / 2)Do While i <= kIf y Mod i = 0 Then Exit Doi = i + 1LoopIf i > k Thenisp = TrueElseisp = FalseEnd IfEnd FunctionPrivate Sub Form_Click()For i = 6 To 40 Step 2Print GDBH(i)Next iEnd Sub8.Function isQO(ByVal x As Integer) As StringIf x Mod 2 =0 ThenisQO=”偶数”ElseisQO=”奇数”End IfEnd Function9.Function F1(ByVal x As Integer) As BooleanIf x Mod 17 =0 and x Mod 37 =0ThenF1=TrueElseF1=FalseEnd IfEnd FunctionPrivate Sub Form_Click()For i = 1000 To 2000If F1(i) ThenPrint iEnd ifNext iEnd Sub10.Sub F1(a() As Integer, ByVal L1 As Integer, ByVal L2 As Integer)Dim L%, U%, x%, i%L = LBound(a): U = UBound(a)If L1 > U Or L2 > U ThenPrint "位置输入错误!"Exit SubEnd IfIf L1 > L2 Thenx = a(L1)For i = L1 To L2 + 1 Step -1a(i) = a(i - 1)Next ia(L2) = xElseIf L2 > L1 Thenx = a(L1)For i = L1 To L2 - 1a(i) = a(i + 1)Next ia(L2) = xEnd IfEnd Sub第九章习题参考答案一、选择题:1—3: ADD二、填空题1.下拉式弹出式 2.PopupMenu 3.Visible Enabled 4.-三、编程题(略)第十章习题参考答案一、选择题:1—3: DBD二、填空题1.Load 2.窗体模块标准模块类模块3.DoEvents三、编程题1.(略)2.Function F(ByVal x&,ByVal Y&) As IntegerDim t&,r&If x<Y Then t="x:x=y:y=t R= x Mod yDo While R<>0X=yY=rR= x Mod yLoopF=yEnd FunctionPrivate Sub Command1_Click()Text3 = Val(Text1) / F(Val(Text1), Val(Text2))Text4 = Val(Text2) / F(Val(Text1), Val(Text2))End Sub第十一章习题参考答案一、选择题:1—3: DDA二、填空题6 2.AB A三、编程题1.Private Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)Text1 = x: Text2 = YEnd Sub2.Dim startX, StartY As Integer ‘在通用中申明Private Sub Form_MouseDown(Button As Integer, Shift As Integer, x As Single, Y As Single)If Button = 2 ThenstartX = x: StartY = YEnd IfEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, x As Single, Y As Single)If Button = 1 ThenPSet (x, Y), RGB(0, 0, 0)End IfEnd SubPrivate Sub Form_MouseUp(Button As Integer, Shift As Integer, x As Single, Y As Single)If Button = 2 ThenDim r%, c%Dim EndX, EndY As IntegerEndX = x: EndY = Yc = RGB(0, 0, 0)r = Sqr((EndX - startX) ^ 2 + (EndY - StartY) ^ 2)Form1.Circle (startX, StartY), r, cEnd IfEnd Sub第十二章习题参考答案一、选择题:1—8: BBABBCCA9.I H F C L G E B A J K D二、填空题1.Drive 2.Path Print Dir1.Path3.Path 4.Hidden system5.顺序文件随机文件二进制文件6.FreeFile7.Close #18.Open “c:\samples\readme.txt” For Output AS #39.Open “c:\autoexec.bat” For Intput AS #410.Open “c:\samples\xscj.dat” For Random AS #3 Len=5411.Open “smtext1.txt” For Binary AS #112.For Input Eof(1)13.KeyAscii END(或者End end eNd enD) Text1.text三、编程题1.‘在标准模块中定义Type stuID As String * 12name As String * 8z1 As String * 12z2 As String * 12sex As String * 2jc As Booleanscool As String * 20sx As Integeryw As Integeryy As Integerwl As Integerzf As IntegerEnd TypeDim p As stu ‘在通用中定义Private Sub CmdAppend_Click()p.ID = Text1 = Text2p.z1 = Text3p.z2 = Text4p.scool = Text5If Option1.Value = True Then p.sex = "男"If Option2.Value = True Then p.sex = "女"If Check1.Value = 1 Then p.jc = True Else p.jc = Falsep.sx = Val(Text6) : p.yw = Val(Text7)p.yy = Val(Text8) : p.wl = Val(Text9)p.zf = Val(Text10)Put #1, , pEnd SubPrivate Sub CmdDisplay_Click()Get #1, Val(txtRecord_No), pText1 = p.ID : Text2 = Text3 = p.z1 : Text4 = p.z2Text5 = p.scoolIf p.sex = "男" Then Option1.Value = True Else Option2.Value = True If p.jc = True Then Check1.Value = 1 Else Check1.Value = 0Text6 = p.sx : Text7 = p.ywText8 = p.yy : Text9 = p.wlText10 = p.zfEnd SubPrivate Sub Command3_Click()Text1 = "" : Text2 = ""Text3 = "" : Text4 = ""Text5 = "" : Text6 = ""Text7 = "" : Text8 = ""Text9 = "" : Text10 = ""End SubPrivate Sub Form_Load()Open App.Path & "\stu.dat" For Random As #1 Len = Len(p) End SubPrivate Sub Form_Unload(Cancel As Integer)Close #1End SubPrivate Sub Text10_GotFocus()Text10 = Val(Text6) + Val(Text7) + Val(Text8) + Val(Text9) End Sub2.3.4.Private Type booksid As String * 10name As String * 8sex As String * 2math As Integereng As Integerele As IntegerEnd Type‘成绩输入Private Sub Command1_Click()Dim b As booksOpen "c:\stu.dat" For Append As #1b.id = InputBox("请输入学号") = InputBox("请输入姓名")b.sex = InputBox("请输入性别")b.math = InputBox("请输入数学成绩")b.eng = InputBox("请输入英语成绩")b.ele = InputBox("请输入电子成绩")Write #1, b.id, , b.sex, b.math, b.eng, b.eleClose #1End Sub‘不及格人员输出Private Sub Command2_Click()Dim a, b, cOpen "c:\stuo.dat" For Input As #1While Not EOF(1)Input #1, a, b, cIf c = "数学" Then List1.AddItem bIf c = "英语" Then List2.AddItem bIf c = "电子" Then List3.AddItem bWendClose #1End Sub‘将不及格人选出存入stuo.datPrivate Sub Command3_Click()Dim a, b, c, d, e, fDim k%Open "c:\stu.dat" For Input As #1Open "c:\stuo.dat" For Output As #2While Not EOF(1)Input #1, a, b, c, d, e, fIf d < 60 Then Write #2, a, b, "数学" If e < 60 Then Write #2, a, b, "英语" If f < 60 Then Write #2, a, b, "电子"WendClose #1Close #2End Sub。