软题库 移动APP 扫码下载APP 随时随地移动学习 培训课程
当前位置:信管网 >> 在线考试中心 >> 信息系统项目管理师题库 >> 试题查看
试卷名称 2006年下半年程序员考试下午真题试题(案例分析)
考试中心《2006年下半年程序员考试下午真题试题(案例分析)》在线考试
试卷年份2006年下半年
试题题型【分析简答题】
试题内容

阅读以下应用说明以及用Visual Basic编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏内。
【应用说明】
某应用程序用于监测某种设备的工作温度(20~200度),其运行窗口中,包括一个温度计(矩形形状shpMeter)以及其中指示当前设备温度的水银柱(矩形形状shpT),文字标签标记了温度刻度;另有一个图片框picCurve,用于动态描述检测到的温度曲线(用户见到的曲线与水银柱等高变化);命令按钮“开始检测”(cmdStart)用于启动温度检测,命令按钮“暂停检测”(cmdStop)用于暂停检测。
    矩形形状shpT(水银柱)属性visible初始设置为不可见,属性Filltype设置为solid(实心),FillColor设置为红色;图片框picCurve的属性AutoRedraw设置为True;再创建一个定时器TimT,属性Enabled初始设置为False(不起作用),属性Interval(定时间隔)设置为500毫秒。
    为模拟设备温度的检测,程序中利用了(0,1)之间均匀分布的伪随机数获得[20,200]之间的随机温度T。为了便于在图片框picCurve中绘制曲线,程序中对该图片框建立了坐标系统,左上角为原点(0, 0),水平向右方向为X轴,垂直向下方向为Y轴,右下角坐标为(50, 180)。为了便于观察记录的温度值,图片框中从上到下创建了5条水平线Ls(i),i=0,1, …4,并在程序中按等间隔排列进行位置设置。程序中每隔半秒算出曲线点(x, y),其中x=0, 1, 2,…,再用直线段连接各相邻曲线点形成温度曲线。

【Visual Basic程序代码】
Dim  (1)  As Integer    ‘声明全局变量
Private Sub CmdStart Click()
  TimT. Enabled = True
  ShpT. Visible = True
End Sub
Private Sub CmdStop__Click()
    TimT. Enabled=False
End Sub
Private Sub Form_Load()
    Dim i,H As Integer
    PicCurve.Scale (0,0)一(50,180) ‘设置图片框坐标系:左上角一右下角
    H = 30    ‘H等于图片框高度的六分之一
    For i = 0 To 4 ‘设置5条水平线Ls(i)的位置
  Ls(i).Xl=0    ‘Ls(i)起点横坐标
  Ls(i).Y1=H* (2)  ‘Ls(i)起点纵坐标
  Ls(i).X2=50  ‘Ls(i)终点横坐标
  Ls(i).Y2=Ls(i).Y1    ‘Ls(i)终点纵坐标
  Ls(i).BorderColor=&HC0C0C0  ‘设置水平线颜色
    Next i
    x=0  ‘设置曲线坐标初值
End Sub
Private Sub timT Timer()
  Dim T, H As Integer    ‘T为即时温度,H为图片框中温度点显示高度
    T=Int(Rnd*181)+20   ‘模拟随机产生设备温度(20-200度)
按当前温度显示水银柱
  H=ShpMeter.Height*  (3)    ‘算出水银柱的高度
  ShpT. Top=  (4)   - H   ‘设置水银柱顶部位置
  ShpT. Height=H    ‘设置水银柱的高度
绘制温度曲线
  y=   (5)      ‘算出曲线上当前点的纵坐标
    If x=51 Then  ‘当超出图片框时
  PicCurve. Cls   ‘清除图片框内以前画的曲线
  x = 0    ‘设置重画曲线的初值
    ElseIf x > 0 Then    ‘除左边点外
  PicCurve. Line(x-1, Lasty)-(x, y),vbRed 由前1点到当前点画红色线段
    End If
    x = x + 1    ‘准备下一点坐标
  Lasty = y    ‘保存当前坐标供下次使用
End Sub


相关试题

推荐文章
合作网站内容