试题六(共 15 分)
阅读以下应用说明以及 Visual Basic 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
[应用说明]
某电视台拟开发应用程序来显示戏曲大赛中1~4号四位选手决赛的现场投票情况。该程序从现场观众中(不超过 2000 人)每 0.5 秒收集一次对这四位选手的支持票数,并在屏幕上动态显示这四位选手的票柱(以高度反映票数)与累计得票数,如图 6-1 所示。投票过程限时 30 秒,每名观众最多为 1 名选手投票。投票结束后系统通过比较各位选手的累计得票数,显示决赛结果: “*号胜出” (如有单个冠军)或“继续进行 PK”(如有多人获得相同的最高票数) 。
该程序中设置公共变量 T 动态记录投票时间。四个形状 ShpM(1 to 4)动态增长的
底线固定。
[Visual Basic 程序代码]
Dim T As Integer '声明全局变量
Private Sub Form_Load()
For i = 1 To 4
ShpM(i).Top = 2000 : ShpM(i).Height = 0 ' 初始票柱高度为0
TxtM(i).Text = 0
Next i
Tim1.Enabled = False : Tim1.Interval = 500 : T = 0
End Sub
Private Sub CmdStart_Click()
Tim1.Enabled = True '开始投票
CmdStart.Enabled = False
End Sub
Private Sub Tim1_Timer()
Dim n(1 To 4) As Integer ' n(1 to 4)为每次收集的票数
Dim i As Integer, j As Integer
Dim G As Integer ' G 用于计算最高票数
Dim ng As Integer ' ng 用于计算冠军个数
For i = 1 To 4
n(i) = … ' 收集 i 号选手的票数,此处省略
TxtM(i).Text = TxtM(i).Text + n(i) ' 累计票(VB 能进行自动转换)
ShpM(i).Top = ShpM(i).Top - n(i)
ShpM(i).Height = ShpM(i).Height + (1) ' 算出票柱高度
Next i
T = T + 1 ' 计时
If T = 60 Then ' 投票时间到
(2) ' 停止数据收集处理
ng = 1
G = TxtM(1).Text
For i = 2 To 4
If G< TxtM(i).Text Then
G = TxtM(i).Text
ng = (3)
j = i
Else
If G = TxtM(i).Text Then ng = (4) ' 计算冠军个数
End If
Next i
If ng = 1 Then
txtResult.Text = (5) ' 单个冠军结果
Else
txtResult.Text = "继续进行PK"
End If
End If
End Sub
订单号:
遇到问题请联系在线客服
订单号:
遇到问题请联系在线客服