题库 题库

【简答题】

试题七(15分)
   阅读以下应用说明以及用Visual Basic 编写的程序代码,将应填入_____(n)_____ 处的字句写在答题纸的对应栏内。
[应用说明]
  本应用程序的运行窗口中将显示一个简单的模拟时钟如下: 
      
   该圆形钟面上有时针、分针和秒针在运动,不断显示系统的当前时间。
  在开发该喁喁时,首先建立一个圆形Shape 控件作为钟面(背景为白色)。设圆心为象素坐标(X0,Y0),半径为940。再在圆心处建立一个小的实心圆Shape控件作为轴心。钟面上的刻度3,6,9,12为四个标签。时针、分针、秒针(红色)为线型控件,名称分别为LineH 、LineM、LineS ,线宽属性值分别为:3,2,1,线长属性值分别为500,700,900。这三个线型控件的起点坐标都固定在(X0,Y0)其终点坐标随转角θ而动态变化: 
      
   设置定时器Timer1 使该时钟能反映系统的当前时间,其定时间隔为0.5秒,该定时器的Interval 属性值应设置为_____(1)_____ 。每隔0.5秒,秒针需要调整位置,但分针和时针只是在初始显示时以及在每次秒计数为0时才需要调整位置(可节省计算量)。
[程序代码]
  Const Pi = 3.1416
  Const X0 = 1750
  Const Y0 = 1150
  Const LH = 500, LM = 700, LS = 900 Public first As Boolean
  Private Sub Form_Load()
   LineS.X1 = X0  '秒针的起点位置
   LineS.Y1 = Y0
   LineM.X1 = X0  '分针的起点位置
   LineM.Y1 = Y0
   LineH.X1 = X0  '时针的起点位置
   LineH.Y1 = Y0
   first = True
  End Sub
  Private Sub Timer1_Timer()
   S = Second(Time)
   S_seta = Pi *
   ______(2)______  '秒针的转角
   LineS.X2 = X0 + LS * Sin(S_seta)   '秒针的终点位置
   LineS.Y2 = Y0 -LS * Cos(S_seta)
   If (____(3)_____) Then
    M = Minute(Time)
    LineM.X2 = X0 + LM * Sin(Pi*M/30)  '分针的终点位置
    LineM.Y2 = Y0 - LM * Cos(Pi*M/30)
    H = Hour(Time)
    If (H >= 12) Then H = H -12
    H_seta = Pi * (______(4)______)  '时针的转角
    LineH.X2 = X0 + LH * Sin(H_seta) '时针的终点位置
    LineH.Y2 = Y0 - Lh * Cos(H_seta)
    first = ________(5)________
   End If
  End Sub 

参考答案

(1) 500
(2) S/30
(3) S = 0 or first
(4) H/6 + M/360
(5) False

相关试题