当前位置: 高中信息技术 / 综合题
  • 1. (2020高三上·绍兴月考) 有多人在不同楼层要乘坐同一部电梯,所有人都是去往更高楼层,电梯初始位置为第一批用户出发的楼层位置。电梯在运行时,上升一层需耗时3秒,在某一层停留时(含电梯初始位置和电梯结束位置),不论有多少人进出都算8秒。小马同学利用上述算法编写了一个VB程序,在列表框list1中显示所有人的出发与到达楼层,按照出发楼层升序(出发楼层相同按到达楼层升序)排序,在列表框list2 中输出排序后结果,最后在文本框Text1中输出电梯本次运行的总时间。程序运行界面如图所示,回答下列问题:

    1. (1) 若有5批用户出发与到达楼层分别是“10-25、5-15、15-20、15-30、5-10”,按照上述电梯运行规则,则电梯本次运行的总时间为秒。
    2. (2) 给划线处填上合适代码,使程序完整。

      Dim a(1 To 10) As Integer, b(1 To 10) As Integer

      Private Sub Command1_Click( )

          Dim i As Integer, time As Integer, k As Integer

          Dim c(1 To 20) As Integer, nc As Integer

          c(1)=a(1):nc=1

          For i=1 To 9    '删除起点重复数据后添加到数组c

              If a(i)<>a(i+1) Then

                  nc=nc+ 1

                  

              End If

          Next i

          For i=1 To 10    '删除终点重复数据后添加到数组c

              k=nc

              Do While b(i) < c(k)

                  k=k- 1

              Loop

              If  Then      '非重复数据( 新停靠楼层)添加到数组c

                  For j=nc Tok+ 1Step-1

                      c(j+1)=c(j)

                  Next j

                  nc=nc+ 1

                  c(j+1)=b(i)

              End If

          Next i

          time= (c(nc)-c(1))* 3+ nc* 8

          Text1.Text="总时间-" + Str(time)+"秒"

      End Sub

      Private Sub Form_ Load( )

          '生成10批人的起止楼层,分别给数组a和b,并在列表框list1输出,代码略。

          For i=1 To 9

              For j=10 To i+1 Step-1

                  If a(j)<a(j- 1) Or    Then

                      t=a(j):a(j)=a(j-1):a(j- 1)=t

                      t=b(j):b(j)=b(j-1):b(j- 1)=t

                  End If

              Next j

          Next i

          For i=1 To 10

              List2.Addtem Str(a(i)+Str(b(i))

          Next i

      End Sub

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