问题 问答题

在考生文件夹中有文件sjt3.vbp及其窗体文件sjt3.frm,该程序是不完整的,请在有号的地方填入正确的内容,然后删除及所有注释符(即’号),但不能修改其他部分。存盘时不得改变文件夹和文件名。 本题描述如下: 窗体上有一个名称Text1的文本框,两个复选框,名称分别为Ch1和Ch2,标题分别为“足球”和“乒乓球”;一个名称为C1,标题为“确定”命令按钮。要求程序运行后,如果只选中 Ch1,单击“确定”命令按钮,则在文本框中显示“我喜欢足球”:如果只选中Ch2,单击“确定”命令按钮,则在文本框中显示“我喜欢乒乓球”;如果同时选中Ch1和Ch2,然后单击“确定”命令按钮,则在文本框中显示“我喜欢足球和乒乓球”;如果Ch1和Ch2都不选,然后单击“确定”命令按钮,则在文本框中什么都不显示。程序运行界面如图2—1所示。

2.在考生文件夹下有工程文件sjt4.vbp及窗体文件sjt4.frm,该程序是不完整的,请在有号的地方填入正确的内容,然后删除及所有注释符(即’号),但不能修改其他部分。存盘时不得改变文件名和文件夹。 本题描述如下: 窗口中有一个名称为Picture1的图片框,一个名称为HScroll1的滚动条,3个命令按钮,名称分别为Command1,Command2和Command3,标题分别为“运行”、“暂停”和“结束”,一个计时器控件,名称为Timer1。程序运行后,单击“运行”按钮后,使小球围绕大球转动,并可以使用滚动条调节转动的速度;单击“暂停”按钮后,暂停小球的转动;按“结束”按钮结束程序。

答案

参考答案:

解析:① 复选框用来表示状态,在程序运行期间可以改变其状态。复选框标题由Caption属性来设置,复选框的value属性用来表示复选框的状态,其取值有:
0:表示复选框未被选中;
1:表示复选框被选中;
2:表示复选框被禁止使用(灰色)。
② 解题步骤;
第一步:编写程序代码。
程序提供的代码:
Option Explicit
Private Sub C1_Click()
’ =""
If Ch1.Value and Not Ch2.Value Then Text1.Text="我喜欢足球"
’ If Ch1. Value= And Ch2. Value Then Text1.Text="我喜欢乒乓球"
If Ch1. Value And Ch2. Value
Then Text1. Text="我喜欢足球和乒乓球"
End Sub
参考代码:
Option Explicit
Private Sub C1_Click()
Text1. Text=""
If Ch1. Value And Not Ch2. Value Then Text1. Text="我喜欢足球"
If Ch1. Value=0 And Ch2. Value Then Text1. Text="我喜欢乒乓球"
If Ch1. Value And Ch2. Value Then Text1. Text="我喜欢足球和乒乓球"
End Sub
第二步:调试并运行程序。
第三步:按题目要求存盘。
2.① 在窗体上建立好控件后,先设置控件属性,再编写事件过程。
② 计时器控件作用是以一定的时间间隔激发计时器事件(Timer)执行相应程序代码。当时计时器控件的Enabled属性为True时,计时器计时开始,当为False时计时器计时暂停,所以要使小球运动暂停可将Enabled属性值设置为False,要使小球运行,则设置该属性值为True。
③ 解题步骤:
第一步:建立界面并设置控件属性。程序中用到的控什及其属性见表3。
表 3

控 件属 性设 置 值
按钮Name
Caption
Command1
运行
按钮Name
Caption
Command2
暂停
按钮Name
Caption
Command3
结束
滚动条NameHScroll1
图片框NamePicture1
第二步:编写程序代码。
程序提供的代码:
Option Explicit
Dim c As Single, r As Single ’r 小球到大球的球心的距离,c为小球的角度.
Dim x As Single, y As Single ’x, y 为小球移动时的圆心
Dim st As Single
Private Sub Command1_Click()
Timer1. Enabled=True
End Sub
Private sub Command2_Click()

End Sub
Private Sub Command3_ClickO
End
End sub
Private Sub Form_Load()
r=20
c=0
st=0.063
HScroll1.Min=1 ’设置最小值
HSeroll1.Max=100 ’设置最大值
End Sub
Private Sub HSeroll1_Change()
’ Timer1.=200—HScroll1.Value ’根据滚动条的数值设置时间间隔,速度越快,间隔越小
End Sub
Private Sub Picture1_Paint()
Pieture1.FillColor=QBColor (12)
Picture1.ForeColor=QBColor (12)
Picture1. Circle(0,0), 2
x=Cos(c) *r
y=Sin(c) *r
Picture1.FillColor=QBColor (14)
Picture1.ForeColor=QBColor (14)
’Picture1. (x,y), 0.5
c=c+st
If c>=2*3.14159 Then
c=c Mod (2*3.14159)
End If
End Sub
Private Sub Timer1_Timer()
’ ’重画图片框
End Sub
参考代码:
Option Explicit
Dim c As Single, r As Single ’ r 小球到大球的球心的距离,c为小球的角度.
Dim x As Single, y As single ’ x,y 为小球移动时的圆心
Dim st As Single
Private Sub Command1_Click()
Timer1. Enabled=True
End Sub
Private Sub Command2_Click()
Timer1.Enabled=False
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
r=20
c=0
st=0.063
HScroll1.Min=1 ’设置最小值
HSeroll1.Max=100 ’设置最大值
End Sub
Private Sub HScroll1_Change()
Timer1. Interva1=200—HSeroll1.Value ’ 根据滚动条的数值设置时间间隔,速度越快,间隔越小
End Sub
Private Sub Pieture1_Paint()
Picture1.FillColor=QBColor (12)
Pieture1.ForeColur=QBColor (12)
Picture1.Circle (0,0) , 2
x=Cos(c) * r
y=Sin(c) * r
Picture1.FillColor=QBColor (14)
Pieture1.ForeColor=QBColor (14)
Pieture1.Circle(x, y), 0.5
c=c+st
If c>=2*3.14159 Then
c=c Mod (2*3.14159)
End If
End Sub
Private Sub Timer1_Timer()
Picture1.Refresh ’重画图片框
End Sub
第三步:调试并运行程序。
第四步:按题目要求存盘。

单项选择题
多项选择题