题目

有多人在不同楼层要乘坐同一部电梯,所有人都是去往更高楼层,电梯初始位置为第一批用户出发的楼层位置。电梯在运行时,上升一层需耗时3秒,在某一层停留时(含电梯初始位置和电梯结束位置),不论有多少人进出都算8秒。小马同学利用上述算法编写了一个VB程序,在列表框list1中显示所有人的出发与到达楼层,按照出发楼层升序(出发楼层相同按到达楼层升序)排序,在列表框list2 中输出排序后结果,最后在文本框Text1中输出电梯本次运行的总时间。程序运行界面如图所示,回答下列问题: (1) 若有5批用户出发与到达楼层分别是“10-25、5-15、15-20、15-30、5-10”,按照上述电梯运行规则,则电梯本次运行的总时间为秒。 (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 答案: 【1】123 【1】c(nc) = a(i + 1)【2】b(i) <> c(k) 或 b(i) > c(k)【3】a(j) = a(j - 1) And b(j) < b(j - 1)
信息技术 试题推荐
最近更新