 |
实
战 练 习 |
|
Visual
Basic编程与应用作业2答案
返回
一 、选择题
1.C
2.A 3.B
4.A
5.C 6.B
7.B
8.B
9.1
10.D
11.D
12.A
13.C
14.D
15.B
16.C
17.D
18.C
二、问答题
1.改正下列语句中的错误:
(1)A$ = abc
(2)Print
a = 34 + 23
(3)X = 5
y = 6
(4)Print
'' c = '':5 + 6
(5)Text1. Print ''
# # # # # # # # ''
(6)A * 5 = B +2
解答:
(1)缺少引号,应改为:A$
= '' abc ''。
(2)改为:Print
'' a = '';34
+ 23
(3)改为:x=
5:y = 6
(4)改为:Print
''c = '';
5 + 6
(5)文本框不支持Print
方法,应改为:Print
''# # # # # # # # ''或Picturel.
Print ''# # # # # # # #''。
(6)这是一个关系表达式,不是赋值语句。
2.写出下列语句的输出结果,并上机验证:
(1)Print '' 25 +
32 '';
25 + 32
(2)X =
12.5
Print ''x
= '' ;x
(3)a
% =
3.14156
Print a %
(4)Print
'' China '';''
Beijing '','' Tianjin '';'' Shanghai '','' Wuhan '',Print ''Nanjing '';
Print '' Shenyang '',''
Chongqing '';''
Wulumuqi ''
Print ,,'' Guangzhou '',,'' Chengdu ''
(5)Print
Tab (5);100;Space
$ (5) ;200;
Tab(35);300
Print Tab(10);400;Tab(23);500;Space
$ (5) ;600
解答:
(1)25
+ 32 = 57
(2)x
= 12.5
(3)3
(4)ChinaBeijing
TianjinShanghai Wuhan
NanjingShenyang
ChongqingWulumuqi (这两个字符串在上一行)
Guangzhou
Chengdu
(5)
100
200
300
400
500
600
3.写出下列语句的输出结果:
Sub Form_Click()
A = 10: b = 15: c =
20: d = 25
Print A; Spc(5); b;
Spc(7); c
Print A; Spc(8); b;
Space$(5); c
Print c; Spc(3);
"+"; Spc(3); d;
Print Spc(3);
"="; Spc(3); c + d
End Sub
解答:
10
15
20
10
15
20
20
+
25 = 45
4.可以通过哪几种方法在图片框中装入图形?
答案:在设计阶段,可以通过属性窗口中的Picture属性把图形装入图片框,或者通过剪贴板把用其它绘图软件所画的图形拷贝到图片框中。在运行阶段,可以通过LoadPicture函数装入图形。
三、编程题
1.编写程序,打印如下的乘积表:
* 3
6
9 12
15
16
17
18
解答:程序如下:
Private Sub Form_Click()
Print
"*";Tab(9);3,Tab(18);6;Tab(27);9;Tab(36);12
Print
For I=15 to 18
Print I;
For j=3 to 12 Step 3
Print Tab(3*j);j*I;
Next j
Print
Next I
End sub
2.创建一个登录界面,由两个标签(
Label1、Labe12
)和两个文本框
(txtName 、 txt Password )组成。其中,口令文本框 (txtPassword
)的
PasswordChar 属性设置为“*”,运行时要求输入姓名和密码,如果在两个文本框中分别输入“Guest:”和“12345”,则界面显示“欢迎使用本系统!”,否则显示“对不起,你不是本系统用户!”。
解答:程序代码如下:
Private Sub cmdExit_Click ( )
End
End Sub
Private Sub cmdOK_Click ( )
If txtName = "Guest" And TxtPassword =
"12345" Then
MsgBox "欢迎使用本系统!",
vbOKOnly, "输入"
Else
MsgBox "对不起,你不是本系统用户!",
vbOKOnly, "输入"
End If
End Sub
3.运用定时器和图片框设计一个简单的动画。
动画场景:界面有两个按钮“缩小”和“暂停”(cmdSize
和
cmdStop)、一个垂直滚动条(VsbSize)、一个图像框(imgSize)和两个标签组成。单击“缩”按钮,就开始定时地缩小图形;单击“暂”按钮,则停止缩小;改变滚动条箭头的位置可以改变缩小的速度。各对象的属性设置如表所示,设置定时器每时间间隔为1秒。
控
件 属
性
|
对象
|
控件名
|
属性名
|
属性值
|
|
Form
|
Form1
|
Caption
|
定时缩小图象框
|
|
Label
|
Labe11
Labe12 |
Caption
Caption |
快
慢 |
|
CommandButton
|
cmdSize
cmdStop |
Caption
Caption |
缩小
暂停 |
|
Image
|
imgSize
|
Stretch
Picture |
True
C:\VisualStudio\Common\Graphics\Metafile\Arrows |
|
Timer
|
tmrSize
|
Enabled
Interval |
False
1000 |
|
VscrollBar
|
VshSize
|
Max
Min
LargeChange |
950
50
50 |
解答:程序代码如下:
Private Sub cmdSize_Click ( )
' 单击缩小按钮使定时器开始工作
tmrSize.Enabled = True
End Sub
Private Sub cmdStop_Click ( )
' 单击暂停按钮使定时器无效
tmrSize.Enabled =False
End Sub
Private Sub tmrSize_Timer ( )
' 定时器定时缩小图象框的宽度和高度
With imgSize
.Height = imgSize.Height - 100
.Width = imgSize. Width - 100
End With
End Sub
Private Sub vsbSize_Change ( )
' 垂直滚动条改变定时器的时间间隔,改变动画速度
tmrSize.Interval = 1000 –
vsbSize.Value
End Sub
4.使用控件数组创建一个简单的电话拨号程序。
界面中一个文本框(txtPhoneNo)用于显示所拨的电话号码,按钮控件数组(cmdNumber)
用于拨号,Index
属性是0~9,Caption
属性为相应的数字。另两个命令按钮“拨号”和“取消”在本程序中未编程使用。
解答:
程序代码如下:
Privat Sub Command1_Click(Index
As Integer)
' 单击按钮控件数组中的一个
txtPhoneNo.Text=txtPhoneNo.Text &
Command1(Index).Caption
End Sub
程序分析:
程序中单击按钮事件的语句 “Private
Sub cmdNumber_click(Index As Integer )”
比非控件数组多了“(Index
As Integer)”
,以Index 值来确定所单击的是哪个控件数元素。
5.从键盘上输入4个数,编写程序,计算并输出这4个数的和及平均数。通过InputBox函数输入数据,在窗体上显示和及平均值。
解答:程序如下:
Sub Form_Click( )
a = Val(a)
b = InputBox(″输入第二个数″)
b = Val(b)
c = InputBox(″输入第三个数″)
c = Val(c)
d = InputBox(″输入第四个数″)
d = Val(d)
Sum = a + b + c + d
aver = Sum / 4
Print "所输入的4个数分别为:";
a, b, c, d
Print " 4个数的和为:";
Sum
Print "4 个数的平均值为:";
aver
End Sub
6.编写程序,要求用户输入下列信息:姓名、年龄、通信地址、邮政编码、电话,然后将输入的数据用适当的格式在窗体上显示出来。
解答:程序如下:
Private Sub Form_Click( )
a = InputBox("输入第一个数")
n$ = InputBox("请输入您的姓名")
Age$ = InputBox("请输入您的年龄")
Addr$ = InputBox("请输入通信地址")
Pos$ = InputBox("请输入邮政编码")
Tel$ = InputBox("请输入电话号码")
Print
Print Tab(6); "姓名"; Space$(3);
"年龄"; Space$(3);
"通信地址"; _
Space$(5); "邮政编码";
Space$(3); "电话号码"
Print
Print Tab(5); n$;
Space$(3); Age$; Space$(3); Addr$; _
Space$(3); Pos$; Space$(3); Tel$
End Sub
程序运行后,单击窗体将依次显示5个输入对话框,在这5个对话框中分别输入姓名、年龄、通信地址、邮政编码和电话号,即可在窗体上显示所输入的信息。
7.设a
=5,
b =2.5,c =7.8,编程序计算:
y=丌ab/(a+bc)
解答:程序如下:
Private Sub Form_Click()
A = 5: b = 2.5: c = 7.8
y = (3.1416 * A * b) /
(A + b * c)
Print "y =";
y
End Sub
程序运行后,单击窗体,输出结果为:
y = 1.60285714285714
8.在窗体上画4个图像框和一个文本框,在每个图像框中装入一个箭头图形,分为4个不同的方向,把文本框的MultiLine属性设置为True。编写程序,当单击某个图像框时,在文本框中显示相应的信息。例如,单击向右的箭头时,在文本框中显示“单击向右箭头”。
答案:按以下步骤操作:
(1)在窗体上画1个文本框和4个图像框,在4个图像框中分别装arw01up.ico,arw01dn.ico,arw01lt.ico和awo1rt.ico(这4个图标文件在vb6
\ graphics \ icons \ arrows目录下),然后把文本框的MultiLine
属性设置为
True。
(2)编写如下程序代码:
Private Sub Image1_Click()
Text1.Text = "单击向上箭头"
End Sub
Private Sub Image2_Click()
Text1.Text = "单击向下箭头"
End Sub
Private Sub Image3_Click()
Text1.Text = "单击向左箭头"
End Sub
Private Sub Image4_Click()
Text1.Text = "单击向右箭头"
End Sub
9.在窗体上建立三个文本框和一个命令按钮。程序运行后,单击命令按钮,在第一个文本框中显示由Command1_Click事件过程设定的内容(例如“Microsoft
Visua1Basic”),同时在第二、第三个文本框中分别用小写字母和大写字母显示第一个文本框中的内容。
提示:用第一个文本框的Change事件过程在第二、三个文本框中显示指定的内容。
答案:在窗体上建立三个文本框和一个命令按钮,其Name
属性分别为Text1、Text2、Text3和Command1,然后编写如下的事件过程:
Private Sub Command1_Click()
Text1.Text = ″Microsoft
VisuaI Basic5.0″
End Sub
Private Sub Text1-Change()
Text2.Text = LCase(Text1.Text)
Text3.Text = UCase(Text1.Text)
End Sub
程序运行后,单击命令按钮,在第一个文本框中显示的是由Command1_Click事件过程设定的内容,执行该事件后,将引发第一个文本框的Change事件,执行Text1_Change事件过程,从而在第二、第三个文本框中分别用小写字母和大写字母显示文本框Text1中的内容。
10.编写程序,演示列表框控件的基本操作。在窗体上建立两个列表框,两个命令按钮。程序运行后,在第一个列表框中选择所需要的项目,单击“添加”按钮,可把所选择的项目移到第二个列表框中。如果单击“删除”按纽,则执行相反的操作。在第二个列表框中,允许同时选择多个项目。分别在两个列表框的下面显示列表框当前的Style和Sorted属性。
解答:在窗体上建立两个列表框,两个命令按钮,其Name属性分别为List1,List2,cmdAdd,cmdDel。其中,List1采用默认配置,List2的Sorted属性设置为有效状态,Style属性设置为复选框形式,Multiselect属性设置为2。
编写如下代码:
Private Sub cmdAdd_Click()
If List1.ListIndex
> = 0 Then
List2.AddItem
List1.Text
List1.RemoveItem
List1.ListIndex
End If
End Sub
Private Sub cmdDel_Click()
Dim I As Integer
If List2. SelCount = 1 Then
List1.AddItem
List2.Text
List2.RemoveItem
List2.ListIndex
ElseIf List2.SelCount
> 1 Then
For I =
List2.ListCount-1 To 0 Step- 1
If List2.Selected(I)
Then
List1.AddItem
List2.List(I)
List2.RemoveItem
I
End If
Next
End If
End Sub
Private Sub Form_Load()
List1.AddItem "中国"
List1.AddItem "日本"
List1.AddItem "马来西亚"
List1.AddItem "美国"
List1.AddItem "德国"
List1.AddItem "法国"
List1.AddItem "英国"
End Sub
程序运行后,单击“添加”按钮,将把List1中的所选项移到List2中,然后删除List1中所选项目。单击“删除”按钮,将检查SelCount属性。如果选择了一个项目,则将这个项目移回List1中,如果选择了多个项目,则由后向前扫描List2,将每个选择的项目移回到List1中。
11.编写程序,用计时器按秒计时。在窗体上画一个计时器控件和一个标签,程序运行后,在标签内显示经过秒数,并响铃。
解答:在窗体上画一个计时器控件和一个标签,其Name属性分别为Timer1和Label1,并把计时器的Interva1属性设置为1000,然后编写如下事件过程:
Private Sub Form_Load()
Label1.FontSize =16
End Sub
Private Sub Timer1_Timer()
Static c As Integer
c= c + 1
Label1.Caption =
Str$(c)
Beep
End Sub
程序运行后,将在标签内显示经过的秒数,并响铃。
|