题目

某会务组根据参会者提交的入住宾馆和到达指定上车点时间的信息,安排车辆接送参会者去宾馆。不同宾馆的参会者分开接送,同一宾馆的参会者可同乘一辆车,每辆车最多接送v人,每个参会者的等待时间都不超过w分钟。参会者人住的宾馆和到达上车点的时间用长度为7的字符串表示,例如“A-09:15”表示参会者当天入住A宾馆,9点15分到达上车点,如果w为10,那么该参会者最晚9点25分出发:去宾馆。 编写VB程序,统计接送n个参会者所需的最少车辆数。运行程序,列表框List1中按入住宾馆分组显示所有参会者提交的信息,同一宾馆的按时间先后排列。单击“统计”按钮Command1,在文本框Text1中显示所需的最少车辆数。程序运行界面如图所示。 (1) 如图所示,如果每辆车最多接送4人,每个参会者的等待时间不超过10分钟,接送所有到A宾馆的参会者最少需要辆车。 (2) 实现上述功能的部分VB程序如下,请在划线处填入合适的代码。 'n、v、w是常量 'n为参会人数,v为每辆车最多接送人数,w为参会者最长的等待时间,代码略 Private Sub Form_ Load()     '读取n个参会者提交的信息,依次存入a(1)~a(n)     '将a(1)~a(n)接入住宾馆分组,同一宾馆参会者按时间先后排序     '并在List1中显示,代码略 End Sub Private Sub Commandl_Click()     Dim i As Integerj As Integer, sum As Integer     a(n+1)=" "     j=1: sum = 0     For i-2 To n+ 1         If Mid(a(i), 1, 1)< Mid(a(j),1,1)Then                         j=i         End If     Next i     Text1. Text = Str(sum) End Sub Function getDif(tsl As String, ts2 As String) As Integer     '返回ts1到ts2的时长(单位:分钟),代码略     '例如ts1为"08:30",ts2 为"08:35",则返回的函数值为5 End Function Function getCnt(first As Integer, last As Integer) As Integer         Dim s1 As String, s2 As String      Dim iAs Integer, p As Integer, k As Integer,t As Integer      p= first:k= 1      s1 = Mid(a(first), 3, 5)      For i= first+1 To last          s2 = Mid(a(i), 3, 5)          t= getDif(s1, s2)          If  Then              k=k+1             p=i                      End If     Next i     getCnt= k End Function 答案: 【1】3 【1】sum=sum+getCnt(j, i-1) 或其他等价答案【2】i-p+1>v Or t>w或i-p=v Or D>w 或i-p>=v Or t>w或其他等价答案【3】s1=s2或s1=Mid(i), 3, 5)或s1=Mid(a(p), 3, 5) 或其他等价答案
信息技术 试题推荐
最近更新