首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下应用说明以及Visual Basic程序代码,将应填入(n)。 【应用说明】 某电视台拟开发应用程序来显示戏曲大赛中1~4号四位选手决赛的现场投票情况。该程序从现场观众中(不超过2000人)每0.5秒收集一次对这四位选手的支持票数,并
阅读以下应用说明以及Visual Basic程序代码,将应填入(n)。 【应用说明】 某电视台拟开发应用程序来显示戏曲大赛中1~4号四位选手决赛的现场投票情况。该程序从现场观众中(不超过2000人)每0.5秒收集一次对这四位选手的支持票数,并
admin
2009-01-20
34
问题
阅读以下应用说明以及Visual Basic程序代码,将应填入(n)。
【应用说明】
某电视台拟开发应用程序来显示戏曲大赛中1~4号四位选手决赛的现场投票情况。该程序从现场观众中(不超过2000人)每0.5秒收集一次对这四位选手的支持票数,并在屏幕上动态显示这四位选手的票柱(以高度反映票数)与累计得票数,如图2-3所示。投票过程限时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
Timl.Enabled=False : Timl.Interval=500 : T=0
End Sub
Private Sub CmdStart Click()
Timl.Enabled=True ’开始投票
CmdStart.Enabled=False
End Sub
Private Sub Timl 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
选项
答案
(1)n(i)(2)Timl.Enabled=False(3)1 (4)ng+1(5)Str$(j)+“号胜出”,或Str(j)+“号胜出”
解析
本题是VB应用程序设计题,涉及到文本框、命令按钮、定时器、形状和控件数组的设计方法。
同一控件数组中的各个控件,具有相同的名、不同的下标。采用控件数组有利于在程序中进行循环处理。在开发时,只要设计了一个控件,再用复制的方法就能形成控件数组。
在本题的程序代码中,一开始就设置T为整数类型的全局变量,用于定时计数(以半秒为单位)。因为初始加载主窗口的过程Form Load时需要为它赋初始值0,而每次进入定时过程Timl Timer时需要增1,退出该过程后需要保留其值。
主窗口的过程Form Load在每次启动应用程序时都会自动加载并执行,因此在该过程中需要设置4个票柱形状的初始位置,还需要设置4个得票数文本框的初始内容及定时器的初始参数。
4个票柱形状ShpM(1)~ShpM(4)在开发时就已设置成矩形(属性Shape=0)、实心(属性Fillstyle=0)、高度为0(属性Height=0)。而在每次程序运行时,这几个形状的顶部位置(属性Top值)及高度(属性Height值)都会有变化,所以在过程Form_Load中,应该设置初始值,起到恢复作用。这是编程时应该养成的良好习惯。
该过程中,4个票柱形状的顶部位置都设置成像素2000,而且高度为0,所以,初始时4个票柱都呈现在同一水平线上。
该过程中,各个得票数文本框TxtM(i)内容均设置为0(系统会自动进行数值与字符的转换)。定时器的初始参数设置包括属性Enable=False(关闭)、属性Interval=5000(时间间隔设置为500ms,即半秒)。
在命令按钮“开始投票”(CmdStart)的单击过程(CmdStart Click)中,需要将定时器设置成打开可用状态(Timl.Enable=Tree)。这时,定时器将按时间间隔属性所确定的时间发出中断,触发Timl Timer过程。在该过程中,还需要将“开始投票”命令按钮颜色变灰(CmdStart.Enable=False),使其暂时不允许用户使用。这也是程序员应养成的良好习惯。
本题的重点是定时器的触发过程Timl Timer。
在该过程中,首先需要定义本过程内部使用的整数类型的局部变量,包括动态收集的4个选手的票数n(1)~n(4),这几个数中的最大值G,票数等于G的人数ng,以及过程内部临时用的变量i与j。
接着,对4位选手进行循环计票处理:先收集在此时间间隔内第i位选手得到的票数n(i),再在得票数文本框中进行累计(注意,VB能自动将数值类型转换成字符串类型),并动态显示出来,同时需要调整该选手的票柱形状。
形状ShpM(i)的顶部位置在屏幕上应往上升,而top属性值则应减少(因为属性Top值是与屏幕顶部的距离,以像素为单位)。本应用设计时考虑到现场最多2000人,票数还会分散给4人。程序中Top的初始值设置为2000,并动态地每次减去得票数n(i)作为新的票柱顶部位置。为维持票柱底部不变,该票柱形状的高度显然也应该增加n(i)。因此,(1)处应填写n(i)。
接着,对时间计数变量T增1。
由于规定投票限时为30s,而且每半秒动态收集票数1次(T增1),所以当T=60时,应关闭定时器timl,结束投票,并进行投票结果的处理。在T<60时,上述定时过程就不需要这些处理了,这时就可以退出该过程了。
因此在If T=60 Then语句后,在(2)处应填写Timl.Enable=False,关闭定时器。
随后,还需要比较谁是冠军。如有多个并列冠军,则还需要继续进行PK。
因此,需要在TxtM(1)~TxtM(4)之间寻找最大值,并求出其中达到最大值的个数。
在比较之前,应设置冠军个数的初始值ng=1及最大值G的初始值。由于后面有对选手2~4的循环,所以G的初始值设置成TxtM(1)的内容。
对选手2~4的循环比较中,当某个选手的票数不超过G时,不需要做处理;当某个选手的票数等于G时,应将冠军个数ng增1,因此(4)处应填写ng+1。当某个选手的票数超过G时,应将选手号码保留在j中,并用该票数更新G,同时需要再次设置冠军个数ng=1。再次设置冠军数非常重要,因为在此之前,冠军数ng可能已经大于1。当出现新的冠军时,ng必须调整为1,因此(3)处应填写1。这是程序员最容易犯错误的地方,也是本题最难之处。
最后,如果比赛的结果只有1个冠军,则显示决赛结果“j号胜出”。其中的j应显示其具体的值。在程序中应该用str(j)或str$(j)表示。所以(5)处应填str(j)+“号胜出”,或str$(j)+“号胜出”。
当出现多个冠军时,屏幕显示“继续进行PK”。
转载请注明原文地址:https://kaotiyun.com/show/gsjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
假设有5个网站A、B、C、D、E,这些网站之间具有的链接关系如下表:其中符号“√”表示存在从一个网站到另一个网站的链接。假设网站的权威度定义为有多少个网站链接到该网站,则上述5个网站中权威度最高的是()。
建设计算机机房时一般不考虑的因素是______。
在Excel中,若要计算出B3:E6区域内的数据的最大值并保存在B7单元格中,应在B7单元格中输入______。
在Excel中,设单元格A1中的值为0,B1中的值为60,若在C1单元格中常规格式下输入函数“=ROUND(AVERAGE(A1:B1),2)”,按回车键后,C1单元格中的值为()。
在PowerPoint 2000中,如果要更改幻灯片上对象出现的顺序,应设置“自定义动画”中的(62)。
下列关于Windows文件的叙述中,不正确的是()。
下列选项中,不属于信息处理基本要求的是(22)。
下列选项中,具有连接范围窄、用户数少、配置容易、连接速率高等特点的网络是(8)。
以下关于信息存储的叙述中,不正确的是(66)。
假设“EXAM.DOC”文件夹存储在“EXAM1”文件夹中,“EXAM1”文件夹存储在“EXAM2”文件夹中,“EXAM2”文件夹存储在F盘的根文件夹中,当前文件夹为“EXAM1”。那么,正确描述“EXAM.DOC”文件的绝对路径表示为(37)。
随机试题
杨生今年12岁,1996年父母离婚后由父亲抚养。1997年12月其父因盗窃被判刑4年。杨生的母亲每月收入只有400元还得抚养杨生的妹妹,且身体有病,实在无力抚养杨生。杨生的爷爷在一家公司上班,每月收入2000元。只因恨儿子不成器,一怒之下,和儿子断绝了往来
某刺绣厂女工李某因其绣工好,深受客户喜爱。许多爱刺绣的客户慕名前来向其定作绣品。某年,港商向其一次性订购10幅绣品,每幅1000元,言明1年后取货,并预付了5000元定金。李某因当年家中杂事太多,就把活儿分给本厂几名女工合干,言明到时货钱平分。1年后,货款
和谐社会的含义是什么?怎样建设社会主义和谐社会?
作为十八反的药物,下列哪项是错误的()
患者,女,70岁。脑梗塞,给予静脉输入β一七叶皂苷钠治疗,输入此药几次后患者穿刺部位出现静脉炎。下列不属于静脉炎表现的有
下列项目中,属于车船税纳税人的有()。
已知变换矩阵A=,则A将空间曲面(χ-1)2+(y-2)2+(z-1)2=1变成()。
汉武帝颁布“推恩令”是为了()。
程序中凡是引用(50)对象的地方都可以使用派生类对象代替。
A、Herfamilylifeishardtomanage.B、Shefindsithardtobalancebetweenherfamilyandjob.C、Themanshouldnotcomplainab
最新回复
(
0
)