首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下应用说明及Visual Basic程序,根据要求回答问题1至问题2。 [说明] 某Visual Basic应用程序用于监测某种锅炉设备内液面高度(0~50cm),其运行窗口界面如图4-16所示。 图4-16 某锅炉设备液面
阅读以下应用说明及Visual Basic程序,根据要求回答问题1至问题2。 [说明] 某Visual Basic应用程序用于监测某种锅炉设备内液面高度(0~50cm),其运行窗口界面如图4-16所示。 图4-16 某锅炉设备液面
admin
2009-02-15
42
问题
阅读以下应用说明及Visual Basic程序,根据要求回答问题1至问题2。
[说明]
某Visual Basic应用程序用于监测某种锅炉设备内液面高度(0~50cm),其运行窗口界面如图4-16所示。
图4-16 某锅炉设备液面高度显示界面
在图4-16中,设计了一个高度计(矩形形状shpMeter)及其中指示当前液面高度的水银柱(矩形形状shpT),文字标签标记了液面高度的刻度;另有一个图片框picCurve,用于动态描述检测到的液面高度曲线(用户见到的曲线与水银柱等高变化);[开始](CmdStart)按钮用于启动液面高度检测,命令按钮“暂停”(CmdStop)用于暂停液面高度检测。
液面高度计形状控件shpMeter是固定的,其属性FillsStyle默认为透明。矩形形状shpT(水银柱)的 Visible属性初始设置为不可见,属性Filltype设置为Solid(实心),FillColor设置为红色;图片框picCurve的属性AutoRedraw设置为True;程序设计过程中,创建了一个定时器TimT,属性Enabled初始设置为 False(不可用),属性Interval(定时间隔)的值应设置为(1)。
为模拟锅炉设备液面高度的检测,程序中利用了(0,1)之间均匀分布的伪随机数获得[0,50]之间的随机液面高度WH。为便于在图片框picCurve中绘制曲线,程序中对该图片框建立了如下坐标系统:图片框的左上角定义为原点(0,0),水平向右方向为X轴,垂直向上方向为Y轴,右下角坐标为(50.200)。为了便于观察记录的液面高度值,图片框中从上到下创建了7条水平虚线Ls(i),i=0,1…6,并在程序中按等间隔排列进行位置设置。应用程序中每隔3秒算出曲线点(x, y),其中x=O,1,2……,再用直线段连接各相邻曲线点形成液面高度曲线。
[Visual Basic程序代码]
Dim (2) AS Integer ’试题全局变量
Private Sub CmdStart_Click()
TimT.Enabled =(3)
ShpT.Visible = True
End Sub
Private Sub CmdStop_Click()
TimT.Enabled = False
End Sub
Private Sub Form_Load( )
Dim i,S As Integer
PicCurve.Scale (0,0)-(50,200) ’设置图片框坐标系:左上角-右下角
S = 25 ’H等于图片框高度的1/8
For i = 0 To 6 ’设置7条水平线Ls(i)的位置
Ls(i).X1 = 0 ’Ls(i)起点横坐标
Ls(i).Y1 =(4) ’Ls(i)起点纵坐标
Ls(i).X2 = 50 ’Ls(i)终点横坐标
Ls(i).Y2 = Ls(i).Y1 ’Ls(i)终点纵坐标
Ls(i).BorderColor = &H00FCFCFC ’设置水平线颜色
(5)
x = 0 ’设置曲线坐标初值
End Sub
Private Sub timT_Timer ( )
Dim WH, H As Integer ’WH为实时液面高度,H为图片框中液面高度点显示高度
WH = Int(Rnd * 51) ’随机模拟产生锅炉内液面高度(0~50 cm)
H = ShpMeter.Height * (6) ’算出水银柱的高度
ShpT.Top =(7) ’设置水银柱顶部位置
ShpT.Height = H ’设置水银柱的高度
’绘制液面高度曲线
y =(8) ’算出曲上当前点的纵坐标
If x = 51 Then ’当超出图片框时
PicCurve. Cls ’清框图片框内以前画的曲线
(9)
ElseIf x > 0 Then ’除左边点外
PicCurve. Line (x-1,Lasty)-(x,y),vbRed ’由前1点到当前点画红色线段
End If
x = x + 1 ’准备下一点坐标
Lasty = y ’保存当前坐标供下次使用
End Sub
选项
答案
在Visual Basic程序中,定时器的定时间隔属性(Interval)的单位时间是:毫秒(ms)。由题干关键信息“应用程序中每隔3秒算出曲线点(x,y)…”可知,定时器TimT的定时间隔属性(Interval)值应 设置为3000毫秒,即(1)空缺处所填写的内容是“3000”。 在[暂停]按钮(cmdStop)的CmdStop_Click()事件过程中,语句“TimT.Enabled=False”使得定时器不起作用。而本应用程序是利用定时器的定时间隔来计算曲线点,在按钮[开始](cmdStart)的CmdStart_Click()事件过程中,需要启用定时器,即(3)空缺处所填写的属性值是“True”。 在定时器timT_Timer()事件过程中,利用语句“WH=Int(Rnd*51)”随机模拟实时检测到的锅炉设备的液面高度(0cm~50cm)。用随机数模拟实时检测数据是常用的方法。Rnd是由计算机产生的均匀分布在(0,1)区间内的伪随机数。每调用一次Rnd就会产生一个新的随机数。随机取若干个数据,观察其分布特性,就会发现其在(0,1)中比较均匀分布(不会过于集中在某个小段)。从而,Rnd*51产生的随机数均匀分布于(0,51),取整数部分Int(Rnd*51)后,所产生的随机数均匀分布于0,1,…,50之间。WH=Int(Rnd*51)均匀分布于0,1,…,50之间,因此,程序中可以用WH值来模拟实时检测到的液面高度。 屏幕上的液面高度计形状控件shpMeter是固定的,其高度由其Height属性决定(shpMeter.Height),其顶部离屏幕上边的距离由其Top属性决定(shpMeter.Top)。由于液面高度计形状的属性FillsStyle默认为透明,因此水银柱(shpT)高度的变化在shpMeter中将实时可见。 水银柱(shpT)的底部应固定在液面高度计(shpMeter)的底部,水银柱的高度应随液面高度WH的变化而改变。由题干关键信息“矩形形状shpT(水银柱)的Visible属性初始设置为不可见”可知,程序设计时要求:尚未开始检测液面高度时,水银柱应不可见;启动检测后,当液面高度WH=0时,水银柱的高度为0;当液面高度WH=50时,水银柱的高度应等于液面高度计的高度:对于其他液面高度,水银拄的高度应按线性规律变化。水银柱形状shpT在屏幕上的位置取决于表4-13所列的3个属性。 [*] (6)空缺处所在语句要求算出水银柱的高度,而水银柱的高度H应是液面高度WH的线性函数,其端点值如表4-14所示。 [*] 若按线性比例,由表4-14可得: [*] 解得,[*]。因此(6)空缺处应填入“WH/50”。 (7)空缺处所在语句要求算出水银柱的顶部位置值。如图4-16所示,水银柱的顶部离屏幕上边的距离(shpT.Top)应等于液面高度计离屏幕上边的距离(shpMeter.Top)加上水银柱顶部到液面高度计顶部的距离,而后者就是液面高度计的高度(shpMeter.Height)与水银柱的高度(H)之差,即 ShpT.Top=shpMeter.Top+shpMeter.Height-H 因此(7)空缺处应填入“shpMeter.Top+shpMeter.Height-H”。 根据题干的说明可得,图片框picCurve中定义的坐标系统如图4-20所示。它与直观见到的屏幕情况不同,点坐标也不是像素值。 [*] 图4-20 坐标系统示意图 在该坐标系统内,图片框picCurve上边与下边的距离为200,中间用7条水平虚线将其等分,则各条水平虚线之间的距离S=25。 最上面的第0条水平虚线Ls(0)的起点应为(0,S),终点应为(50,S)。 最下面的第6条水平虚线Ls(6)的起点应为(0,7S),终点应为(50,7S)。 对于一般的Ls(0线的起点应为(0,(i+1)S),终点应为(50,(i+1)S),因此,(4)空缺处关于“Ls(i)起点纵坐标”应填入“S*(i+1)”。 Visual Basic中,For循环语句遵循的语法格式如下。 For<循环变量>=<初值>To<终值>[Step步长] <循环体> [Exit For] Next<循环变量> 其中,For语句(也称为循环说明语句)用于指定循环变量的名称,以及循环变量的初值、终值和步长;Next是循环终端语句,其作用是改变循环变量的值(即增加一个步长)并控制是否再次执行循环体。在Next后面的循环变量与For语句中的循环变量必须相同。当只有一层循环时,Next后面的循环变量可以省略。因此,在窗体装载事件Form_Load()中,由语句“For i=0 To 6”可知,(5)空缺处的所填写的语句是“Next i”或“Next”。 (8)空缺处所在语句要求算出曲线上当前点的纵坐标。图片框picCurve中的曲线点离框下边的高度 (在坐标系统内计算)应等于液面高度值WH,但它不是图片框中的纵坐标值。液面高度WH与相应的曲线纵坐标是线性关系,其两端端点值如下: 当WH=0时,水银柱高度为0,相应的曲线点应位于图片框下边,其纵坐标应是200; 当WH=50时,水银柱最高点,相应的曲线点应位于图片框上边,其纵坐标应是0。 而当WH=25时,相应的曲线点应位于图片框纵坐标方向上的中点,其纵坐标应是100。因此,实时液面高度为WH时,相应曲线点的纵坐标值应为200-WH*4,即(8)空缺处应填入“200-WH*4”。 (9)空缺处所在语句要求设置重画曲线的初值。由于曲线点高度与水银柱高度两端点值相同,且都是线性变化,因此曲线点与水银柱必然同时等高变化。定时器TimT设置的定时时间间隔为3000ms,即每隔3秒钟就得到一个液面高度WH的值。假设图片框picCurve中以x=1,2……表示逐点记录液面高度的横坐标,则每个曲线点的坐标就是(x,200-WH*4)。在这些曲线点中,凡是与x相邻的两点都用线段连接起来,就形成了液面高度曲线。 假设当前的曲线点为(x,y),前一曲线点的坐标为(Lastx,Lasty),则Lastx=x-1。 当x=0时,计算出的只有一个曲线点G(0,y),还不能连线,所以应将其值y保存在Lasty中,以便在下个时刻计算时作为前一点的坐标。 当1≤x≤50时,应该将(Lastx, Lasty)与(x,y)两点用线段连接。 当x=51(超出图片框横坐标方向边界)时,应清除图片框中己绘制的曲线,再以x=0开始处理。因此(9)空缺处所填写的语句是“x=0”。 程序中的第一行用于声明全局变量,变量x己在Form_Load()和timT_Timer()两个过程模块中使用,因此变量x应作为全局变量。 在定时器定时触发的过程中,变量Lasty值需要进行保存工作,以供再次按下[开始]按钮重新执行 timT_Timer()过程时使用。在Visual Basic中,这个变量应作为静态变量或全局变量。在本应用程序中,没有将变量Lasty设置为静态变量,因此Lasty应作为全局变量。 综合以上分析可得,(1)空所处应填入“x,Lasty”。
解析
转载请注明原文地址:https://kaotiyun.com/show/5bjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
数据展现常需要图表化。美化图表的原则不包括()。
以下文件类型中,(19)________________表示视频文件。
数据分析工具的(13)________________特性是指它能导入和导出各种常见格式的数据文件或分析结果。
我国的信息安全法律法规包括国家法律、行政法规和部门规章及规范性文件等。()属于部门规章及规范性文件。
信息系统通常会自动实时地将所有用户的操作行为记录在日志中,其目的是使系统安全运维()。
在Excel2010中,设A1单元格中的值为20,A2单元格中的值为60,若在C1单元格中输入函数“=AVERAGE(A1,A2)”,按回车键后,,则C1单元格中的值为(
将四个元素a,b,c,d分成非空的两组,不计组内顺序和组间顺序,共有()种分组方法。
为向相关人员以可视化方式展示数据分析结果,首先需要明确目标受众(即需要给哪些人看),并了解他们考虑的一些问题。这些问题一般不包括(69)________________。
计算机病毒是一段程序,一般隐藏在______中。
随机试题
下列不属于个人绩效的评估的主要方法的是
卵巢的固定结构是()
A.血肌酐-过性升高B.低钾血症C.体位性低血压D.血糖异常E.反射性心动过速血管紧张素转换酶抑制剂可引起
遗赠扶养协议[中南财大2011年研;清华大学2006年研]
政府为了实施某种特殊政策而发行的国债是( )。
管弦乐:音乐家
[*]
OSI模型的网络层主要功能是
•Lookatthenotebelow.•Youwillhearatalkaboutacleaner.CleanerMess
健康的身体往往与体育锻炼有关,但锻炼并非保持健康的全部因素,要保持健康的身体,还需要良好的膳食和睡眠,同时有良好的自我感觉。“associatewith”:与……有关,相连;“thisisnotthewholepicture”,这里的意思是“这
最新回复
(
0
)