VB程序设计教程第四课后答案
发布时间:2020-06-15 00:30:10
发布时间:2020-06-15 00:30:10
vb课后习题答案
第一章 习题参考答案
一、 填空题
1、对象 事件驱动
2、编译运行模式 解释运行模式
二、 简答题
1、 简述VB的特点。
答:①可视化的程序设计方法
②面向对象的程序设计思想
③事件驱动的编程机制
④结构化的程序设计语言
⑤高度的可扩充性
⑥强大的数据库访问能力
⑦支持动态数据交换
⑧支持对象链接与嵌入
2、简述VB的安装过程。
答:①向光驱中放入VB安装光盘;
②计算机将运行自动安装程序,若没有,执行VB目录下的;
③根据提示逐一回答问题,并点击“下一步”;
④点击“完成”;
2、 如何启动VB。
答:三种方法:
①单击“开始”按钮,选择“程序”菜单下的“Microsoft Visual Basic 中文版”菜单项并单击;
②双击桌面上的快捷图标;
③在“开始”菜单的运行对话框中输入命令来启动VB;
第二章 习题参考答案
一、选择题:
1-10、 DCACD BCBBC
11-20、BADCA BBAAB
21-29、AACBB CDDC
二、填空题
1. 窗体、控件
2. 属性值
3. 属性窗口设置、代码窗口设置
4. 事件过程
5. 对象名、下划线、事件名
6. Form_Click
第三章 习题参考答案
一、选择题
1、B 2、C 3、A 4、B 5、A 6、C 7、C
二、填空题
1、 11
字符型、字节型、整型、长整型、单精度型、双精度型、货币型、逻辑型、日期型、对象型、变体型。String、Byte、Integer、Long、Single、Double、Currency、Boolean
、Date、Object、Variant
2、 双引号(英文)、#
3、 ASCII、1、2
4、 public、通用、Dim、Static、Private、Static
5、 &、+、+
6、 Now()、Time、日期型
三、解答题
1、(3) 2、(1 )
3、(1)常量(关键字) (2)字符型常量 (3)逻辑型常量 (4)变量 (5)字符串常量 (6)变量
(7)字符串常量 (8)变量 (9)日期型常量 (题目应是#11/16/1999#) (10)数值型常量(单精度)
4、31
5、(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)zxy123ABC
(3)5.25 (4)2
7)16 (8) “” (9)5
10、(4)
11、(2)
12、(4)
第四章 习题参考答案
一、选择题:
1—7: DAABBCD
二、填空题
1. %
2. 将字号扩大为原来的二倍
3. B
三、编程题(略)
1.文本框、标签和命令按钮的名称分别为text1、label1、command1
Private Sub Command1_Click()
=
=
End Sub
2.单价、数量、折扣和应付款对应的文本框的名称分别为:text1、text2、text3和text4,计算和清除命令按钮的名称分别为:command1和command2。
Private Sub Command1_Click()
Text4=val(text1)*val(text2)*val(text3)
End Sub
Private Sub Command2_Click()
Text1=”” : Text2=””: Text3=””: Text4=””
End Sub
3.文本框、“转大写”命令按钮和“转大写”命令按钮的名称分别为text1、command1和command2
Private Sub Command1_Click()
Text1=Ucase(text1)
End Sub
Private 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.B
9.iSum iSum+j 1250
三、编程题
1.Private Sub Form_Click()
Dim i%,s%
S=0
For i = 101 To 200 step 2
If i mod 3<>0 then
Print i
S=s+i
End If
Next i
Print s
End Sub
2.Private Sub Form_Click()
Dim n%,s&
S=1:n=0
While s<=400000
N=n+1
S=s*n
Wend
If s>400000 Then n=n-1
Print n
End Sub
3.Private Sub Form_Click()
Dim imin%,imax%,i%,R%
Imin=100:imax=20
For i=1 to 20
R=Int(Rnd*51+50)
If R>imax Then imax=R
If R
x(Asc(S) - 65 + 1) = x(Asc(S) - 65 + 1) + 1
End If
Next i
For i=1 To L
Text2=text2 & Chr(64+i) & “=” & x(i) & “ “
If I Mod 7=0 then Text2=text2 & chr(13)+chr(10)
Next i
End Sub
3.设学生成绩的平均分已在Mark(1)至Mark(10)中,学生姓名在name(1)至name(10)中。
Private Sub Command1_click()
Dim I%,J%,T%,S$
For i=1 To 9
For j=i+1 To 10
If Mark(i)
S=name(i):name(i)=name(j):name(j)=S
Next J
Next i
For i=1 To 10
Print Name(i),Mark(i)
Next i
End Sub
第八章 习题参考答案
一、选择题:
1—10: DCBBDDDBCB
二、填空题
1.a Ubound(b) n=n-1
2.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=x
Do
P=P*i
S=S+F/p
Loop Until Abs(F/p)
End Sub
子函数
Function P2(x As Single, esp As Single) As single
Dim p!,S!,F!,i%
P=1:S=1:i=1:F=x
Do
P=P*i
S=S+F/p
Loop Until Abs(F/p)
End Function
2.Swap2能实现数据交换。因为地址传递方式形参和实参有共同的地址,那么形参的变化,会引起实参的变化(即形参将值回传给实参),故可实现两数交换。
3.Function LF( ByVal x As Single) As Single
LF=X*X*X
End Function
Sub Command1_Click()
Dim I%
For i=1 To 20
Print I, LF(i)
Next i
End Sub
4.Function WeekDay(ByVal x As Integer) As String
Select Case x
Case 0
WeekDay=”星期日”
Case 1
WeekDay=”星期一”
Case 2
WeekDay=”星期二”
Case 3
WeekDay=”星期三”
Case 4
WeekDay=”星期四”
Case 5
WeekDay=”星期五”
Case 6
WeekDay=”星期六”
End Select
End Function
5.Function Rand30(ByVal X As`Integer) As Integer
Randomize
Rand30=Int(Rnd*X+1)
End Function
Sub Command1_Click()
For i=1 To 30
Print Rand30(100)
Next i
End Sub
6.Function F1(ByVal X As`Single, ByVal Y As`Single) As Integer
If X>Y Then
F1=X
Else
F1=Y
End If
End Function
7.
Function GDBH(ByVal x%) As String
Dim i%
For i = 3 To x - 3 Step 2
If isp(i) And isp(x - i) Then
GDBH = i & "+" & (x - i) & "=" & x
Exit Function
End If
Next
End Function
Function isp(y%) As Boolean
i = 2: k = Int(y / 2)
Do While i <= k
If y Mod i = 0 Then Exit Do
i = i + 1
Loop
If i > k Then
isp = True
Else
isp = False
End If
End Function
Private Sub Form_Click()
For i = 6 To 40 Step 2
Print GDBH(i)
Next i
End Sub
8.Function isQO(ByVal x As Integer) As String
If x Mod 2 =0 Then
isQO=”偶数”
Else
isQO=”奇数”
End If
End Function
9.Function F1(ByVal x As Integer) As Boolean
If x Mod 17 =0 and x Mod 37 =0Then
F1=True
Else
F1=False
End If
End Function
Private Sub Form_Click()
For i = 1000 To 2000
If F1(i) Then
Print i
End if
Next i
End Sub
10.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 Then
Print "位置输入错误!"
Exit Sub
End If
If L1 > L2 Then
x = a(L1)
For i = L1 To L2 + 1 Step -1
a(i) = a(i - 1)
Next i
a(L2) = x
ElseIf L2 > L1 Then
x = a(L1)
For i = L1 To L2 - 1
a(i) = a(i + 1)
Next i
a(L2) = x
End If
End 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 Integer
Dim t&,r&
If x
If = True Then = "女"
If = 1 Then = True Else = False
= Val(Text6) : = Val(Text7)
= Val(Text8) : = Val(Text9)
= Val(Text10)
Put #1, , p
End Sub
Private Sub CmdDisplay_Click()
Get #1, Val(txtRecord_No), p
Text1 = : Text2 =
Text3 = : Text4 =
Text5 =
If = "男" Then = True Else = True
If = True Then = 1 Else = 0
Text6 = : Text7 =
Text8 = : Text9 =
Text10 =
End Sub
Private Sub Command3_Click()
Text1 = "" : Text2 = ""
Text3 = "" : Text4 = ""
Text5 = "" : Text6 = ""
Text7 = "" : Text8 = ""
Text9 = "" : Text10 = ""
End Sub
Private Sub Form_Load()
Open & "\" For Random As #1 Len = Len(p)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Close #1
End Sub
Private Sub Text10_GotFocus()
Text10 = Val(Text6) + Val(Text7) + Val(Text8) + Val(Text9)
End Sub
Private Type books
id As String * 10
name As String * 8
sex As String * 2
math As Integer
eng As Integer
ele As Integer
End Type
‘成绩输入
Private Sub Command1_Click()
Dim b As books
Open "c:\" For Append As #1
= InputBox("请输入学号")
= InputBox("请输入姓名")
= InputBox("请输入性别")
= InputBox("请输入数学成绩")
= InputBox("请输入英语成绩")
= InputBox("请输入电子成绩")
Write #1, , , , , ,
Close #1
End Sub
‘不及格人员输出
Private Sub Command2_Click()
Dim a, b, c
Open "c:\" For Input As #1
While Not EOF(1)
Input #1, a, b, c
If c = "数学" Then b
If c = "英语" Then b
If c = "电子" Then b
Wend
Close #1
End Sub
‘将不及格人选出存入
Private Sub Command3_Click()
Dim a, b, c, d, e, f
Dim k%
Open "c:\" For Input As #1
Open "c:\" For Output As #2
While Not EOF(1)
Input #1, a, b, c, d, e, f
If d < 60 Then Write #2, a, b, "数学"
If e < 60 Then Write #2, a, b, "英语"
If f < 60 Then Write #2, a, b, "电子"
Wend
Close #1
Close #2
End Sub