当前位置: 高中信息技术 / 综合题
  • 1. (2019高三上·浙江月考) 已知数轴上有一条长度为L(L为偶数)的线段,左端点在原点,右端点在坐标L处。有n个不计体积的小球在线段上,开始时所有的小球都处在偶数坐标上,速度方向向右,速度大小为1单位长度每秒。当小球到达线段的端点(左端点或右端点)的时候,会立即向相反的方向移动,速度大小仍然为原来大小。当两个小球撞到一起的时候,两个小球会分别向与自己原来移动的方向相反的方向,以原来的速度大小继续移动。小王设计了一个模拟碰撞的小球的程序,其功能为:在文本框Text1、Text2和Text3中分别输入线段长度L、小球数量n以及运动时间t,在文本框Text4中输入n个小球的初始坐标位置,单击“求解”按钮Command1,计算t秒之后,各个小球的位置,并在标签框Label5上显示结果。

    1. (1) 实现上述功能的VB 程序如下,请在划线处填入合适代码。

      Private Sub Command1_Click()

          Dim n As Integer, L As Integer, t As Integer

          Dim i As Integer, j As Integer, k As Integer

          Dim s As String, result As String

          Dim a(1 To 50) As Integer, dir(1 To 50) As Integer

          L = Val(Text1.Text): n = Val(Text2.Text): t = Val(Text3.Text) s = Text4.Text

          s = s + ".": tmp = 0: k=0

          For i = 1 To Len(s)

              ch = Mid(s, i, 1)

              If ch >= "0" And ch <= "9" Then

                  tmp = tmp * 10 + Val(ch)

              Else

                  k = k + 1

                  a(k) = tmp: dir(k) = 1

                  tmp = 0

              End If

          Next i

          For i = 1 To t

             For j = 1 To n

                  IfThen dir(j) = -dir(j)

                  Else

                      For c = 1 To n

                          IfThen dir(c) = (-1) * dir(c)

                          dir(j) = (-1) * dir(j)

                      End If

                  Next c

              End If

             

          Next j

          Next i

          For i = 1 To n

              result = result + Str(a(i))

          Next i

          Label5.Caption = Str(t) + "秒后小球的位置为:" + result

      End Sub

    2. (2) 若文本框Text3中输入的内容为“4”,单击“求解”按钮后,在标签框Label5中显示的结果为

微信扫码预览、分享更方便