VB程序设计
教程
人力资源管理pdf成真迷上我教程下载西门子数控教程protel99se入门教程fi6130z安装使用教程
课后参考答案
杨飞 整理 第 1 页 共 16 页 8/10/2010
VB 程序设计教程课后参考答案
习
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
一
一、填空题
1( 对象、事件驱动
2( 窗体、控件
3( 属性
4( 属性窗口、编程设置
5( 事件过程
6( 对象名、下划线、事件名
7( Form_click
8( Print form1.print “我的VB”
9( 主窗口、属性、工具箱、代码、窗体、工程资源管理
10( 菜单、快捷键
二、选择题
1(C 2. A 3. B 4. B 5. D
B C 7. A 6.
三、简答题(略)
习题二
一、选择题
1. D 2. C 3. C 4. B 5. C 6. B 7. C
8. B 9. A 10. B 11. B 12. C 13. D 14. B
15. A 16. A 17. A 18. A 19. B 20. C 21. A
22. B 23. B 24. A 25. C 26. A 27. B 28. B
29. C 30. B 31. D 32. D 33. C
二、填空题
1( Controlbox、Maxbutton、Minbutton
2( Multiline TRUE
3( ******
4( 单文档界面(SDI) 多文档界面(MDI)
5( 窗体显示
6( Passwordchar
7( _change()
三、编程题(略)
习题三
一、基础知识题(略)
二、填空题
1( 整型、长整型、单精度、双精度
2( (x mod 10)*10+x\10
3( 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=0
6( False
7( -4、3、,3、3、,4、4
8( CDEF
9( GBCDEFA
杨飞 整理 第 2 页 共 16 页 8/10/2010
10( TRUE
11( 变量、属性
12( ? _ :
13( (略)
14( “” ,
15( Public、通用/模块、Dim、static、private
16( + 、 &、 +
17( Now() 、 time()、 日期
18( Inputbox()、字符串、val()
19( Msgbox()
三、选择题
1(B 2. C 3. A 4. B D 此题有误 5. B 6. A
7. D 8. B 9. B 10. C 11. D 12. B
13. C 14. B 15. A 16. C 17.A 18. D
19. A 20. D 21. A 22. C 23. C 24. D
25. A 26. D 27. D 28. B 29. C 30. B
31. C 32. B 33. C D 此题有误 34. C 35. A
36. D 37. C 38. A 39. B 40. A 41. C
42. C 43. D 44. C 45. D 46. A
四、编程题
1.
Option Explicit
Private 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 Then
x = -c / b
Print "所构成的方程是:" & b & "x" & "+" & c & "=0"
Print "该一元一次方程的根是:", x
End If
If a = 0 And b = 0 Then
Print "很抱歉,不能构成合法的方程~"
End If
If a 0 Then
delta = b * b - 4 * a * c
If delta >= 0 Then
x1 = (-b + Sqr(delta)) / (2 * a)
x2 = (-b - Sqr(delta)) / (2 * a)
Print "所构成的方程是:" & a & "x
2
" & "+" & b & "x" & "+" & c & "=0"
Print "该方程的根是:"
Print "第一个牵?, x1
Print "第二个根是:", x2
Else
Print "所构成的方程是:" & a & " x
2
" & "+" & b & "x" & "+" & c & "=0"
杨飞 整理 第 3 页 共 16 页 8/10/2010
Print "该方程有两个虚根:"
Print "第一个虚根是:" & -b / (2 * a) & "+" & Sqr(Abs(delta)) / (2 * a) & "i"
Print "第二个虚根是:" & -b / (2 * a) & "," & Sqr(Abs(delta)) / (2 * a) & "i"
End If
End If
End Sub
2.
Option Explicit
Private Sub Command1_Click()
Dim i%, s%
s = 0
For i = 1 To 99 Step 2
s = s + i
Next
Print s
End Sub
3.
Option Explicit
Private Sub Command1_Click()
Dim i%
Dim s#
s = 0
For i = 1 To 100
s = s + 1 / i * (-1) ^ (i + 1)
Next
Print s
End Sub
4.
Option Explicit
Private Sub Command1_Click()
Dim i%, n%
Dim t#, s#
n = Val(InputBox("please input data:", "info", 5))
s = 0
t = 1
For i = 1 To n
t = t * i
s = s + t
Next
Print s
End Sub
杨飞 整理 第 4 页 共 16 页 8/10/2010
5.
Option Explicit
Private 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) b And Abs(a - c) a And Abs(b - c) fs Then
min = fs
End If
s = s + fs
Next
ave = (s - max - min) / 5
Print "该运动员的平均成绩是:" & ave
End Sub
9. ?同学们,这道题方法很多,主要考察你对选择结构的理解,我给出其中一种方法。
Option Explicit
Private Sub Command1_Click()
Dim x%, y%, z%
x = Val(Text1.Text)
y = Val(Text2.Text)
z = Val(Text3.Text)
If x > y Then
If x z Then
Text4.Text = x
Text5.Text = y
Text6.Text = z
Else
Text4.Text = x
Text5.Text = z
杨飞 整理 第 6 页 共 16 页 8/10/2010
Text6.Text = y
End If
End If
Else
If y str(j) Then
t = str(i)
str(i) = str(j)
杨飞 整理 第 11 页 共 16 页 8/10/2010
str(j) = t
End If
Next
Next
End Sub
Sub disp(str() As String, length As Integer)
Dim i%
For i = 1 To length
Print str(i);
Next
Print
End Sub
方法二:
Option Explicit
Option Base 1
Private Sub Command1_Click()
Dim i%, str1 As String, str() As String, str2 As String, strinsert() As String, length As
Integer
Form1.Cls
str1 = InputBox("请输入第一个字符串:", "info", "exam")
length = Len(str1)
ReDim str(length)
For i = 1 To length
str(i) = Mid(str1, i, 1)
Next
Call sort(str, length)
Print "第一个字符串排序后的结果:"
Call disp(str, length)
str2 = InputBox("请输入第二个字符串:", "info", "good")
length = Len(str1) + Len(str2) + 1
ReDim strinsert(length)
For i = 1 To Len(str1)
strinsert(i) = str(i)
Next
For i = 1 To Len(str2)
Call insert(strinsert, Mid(str2, i, 1), Len(str1) + i) „调用
函数
excel方差函数excelsd函数已知函数 2 f x m x mx m 2 1 4 2拉格朗日函数pdf函数公式下载
,逐个字符插入
Next
Print "插入第二个字符串后排序后的结果:"
Call disp(strinsert, length - 1)
End Sub
Sub sort(str() As String, length As Integer)
Dim i%, j%, t As String
For i = 1 To length - 1
For j = i + 1 To length
If str(i) > str(j) Then
杨飞 整理 第 12 页 共 16 页 8/10/2010
t = str(i)
str(i) = str(j)
str(j) = t
End If
Next
Next
End Sub
Sub disp(str() As String, length As Integer)
Dim i%
For i = 1 To length
Print str(i);
Next
Print
End Sub
Sub insert(str() As String, zm As String, length%)
Dim i%, j%
For i = 1 To length - 1
If zm >= str(i) And zm = str(length - 1) Then ?插入字符落在最后一个位置
str(length) = zm
End If
Next
End Sub
小结:这道题有一定的难度,希望同学们在做题时应尽量考虑各种条件,要力争
考虑全面。
如何通过该题获取函数、数组等编程的经验,请同学们认真总结,这题值得大家多花些时间
研究,你可以使用更好的方法。
习题五
一、选择题
1. A 2. B 3. A 4. A 5. A 6. D 7. B
8. C 9. B 10. C 11. C 12. D 13. C 14. C
15. C 16. D 17. A 18. B 19. D 20. A 21. A
22. C 23. C
二、填空题
杨飞 整理 第 13 页 共 16 页 8/10/2010
1(SDI MDI
2(对象.属性名,属性值
3(Form1.show
4.选中
5(Additem removeitem
6(复选框
7(30000
8(Aa=Inputbox(“请输入学号”,”查询系统”)
MsgBox "没有搜索到该生信息", vbOKOnly, "查询结果"
9. 0 1 2 3
10 Mdichild
11. MDI
12. 1 多个
13( Load load form1
14. Mdiform1.arrage 排列方式
15(可以访问多个文档窗体
16(MDIform
三、应用题(略)
习题六
一、填空题
1( 下拉式、弹出式
2( &
3( -
4( Visible
5( Enabled
6( 弹出快捷菜单
二、选择题
1(A 2. D 3. B 4. B 5. B 6. A 7. C
三、简答题(略)
四、应用题(略)
习题七
一、填空题
1. Mousemove
2. Mousedoen
3. 1
4. CTRL
5. 确定鼠标按下时所处的坐标位置
6. Enter Tab Backspace
7. 按键的Ascii 码
8. 按下的物理键(本题有误,keyascii 应改为keycode)
9. Dragicon
10. drag move
二、选择题
杨飞 整理 第 14 页 共 16 页 8/10/2010
1(AC(本题题意不明确) 2. B 3. C 4. C 5. D
6. D 7. B 8. B 9. C 10. D
三、应用题(略)
习题八
一、选择题
1( D 2. A 3. B 4. D
二、阅读下面程序,写出程序的输出结果
1(
"welcome to visible basic",#2006-03-21#,#1899-12-30 15:03:30#
"welcome to visible basic",#2006-03-21#,#1899-12-30 15:03:30#
"welcome to visible basic",#2006-03-21#,#1899-12-30 15:03:30#
welcome to visible basic 06-3-21 15:03:30
welcome to visible basic 06-3-21 15:03:30
welcome to visible basic 06-3-21 15:03:30
2(
"第",1,"个数",2
"第",2,"个数",3
"第",3,"个数",5
"第",4,"个数",7
"第",5,"个数",11
"第",6,"个数",13
"第",7,"个数",17
"第",8,"个数",19
"第",9,"个数",23
"第",10,"个数",29
"第",11,"个数",31
"第",12,"个数",37
"第",13,"个数",41
"第",14,"个数",43
"第",15,"个数",47
三、简答题(略)
四、编程题
1(
Option Explicit
Private Sub Command1_Click()
Dim i As Integer, x As String, s#
Open "a:\data\test.dat" For Input As #1
Line Input #1, x
s = 1
For i = 1 To Val(x)
s = s * i
Next
Close #1
Open " a:\data\test.dat " For Append As #1
Print #1, Chr(13) + Chr(10) & s
杨飞 整理 第 15 页 共 16 页 8/10/2010
Close #1
End Sub
2.
Option Explicit
Option Base 1
Public hh As String
Private Sub Command1_Click()
Dim name As String, sex As String
name = Text1.Text
sex = Space(4) + Text2.Text
Put #1, , name
Put #1, , sex
Put #1, , hh
Text1.Text = ""
Text2.Text = ""
Text1.SetFocus
End Sub
Private Sub Command3_Click()
Close #1
End
End Sub
Private Sub Form_Load()
hh = Chr(13) + Chr(10)
Open "e:\aaa.txt" For Binary As #1
Put #1, , " 姓名"
Put #1, , " 性别"
Put #1, , hh
Text1.Text = "王语嫣"
Text2.Text = "女"
杨飞 整理 第 16 页 共 16 页 8/10/2010
End Sub
习题九
一、填空题
1. Data databasename recordsource
2(数据绑定 datasource datafield datasource
datafield
3. recordset 表类型(dbopentable) dynaset 类型(dbopendynaset) 快照类型(dbopensnapshot)
4. AbsolutePosition EOF 指向最后一条记录 nomatch
5. addnew delete update
6. movefirst movelast movenext moveprevious data 控件的recordset