发放序号 | 发放日期 | 领用单位 | 物资名称 | 数量 | 是否定向 |
20200101 | 2020.01. 29 | 街道办事处 | 医用口罩 | 1000 | 是 |
20200102 | 2020.02.12 | 疫情防控组 | 普通防护服 | 200 | 否 |
20200103 | 2020.02. 12 | 疫情防控组 | 体温枪 | 500 | 否 |
… | … | … | … | … | … |
下列关于“物资流向”数据表的描述,正确的是( )
下列说法错误的是( )
cnt = 0:i = 7
Do While i < n
Loop
Text1. Text = Str(cnt)
方框中的代码由以下三部分组成:
①i = i + 7 ②j = n - i ③If j Mod 3 = 0 Then cnt = cnt + 1
下列选项中,代码顺序正确的是( )
s1 = "BGR": s2= "VBPROGRAM"
i = 1:j = 1:s3 = ""
Do While i < = Len(s1) And j < = Len(s2)
If Mid(s1,i,1) = Mid(s2,j,1)Then
i = i + 1
Else
s3 = s3 + Mid(s2,j,1)
End If
j = j + 1
Loop
执行该程序段后,变量s3的值是( )
'随机产生包含20个整型元素的升序序列,依次存入数组a.代码略
i = 1:j = 20:s = ""
key = Val(Text1. Text)
Do While i < = j
m = (i + j)\2
s = s + Str(a(m))
If a(m)= key Then Exit Do 'Exit Do表示退出循环
If a(m)> key Then j = m - 1 Else i = m + 1
Loop
Text2. Text = s
在文本框Text1中输入待查找数,执行该程序段后,下列选项中,文本框Text2中显示的内容不可能的是( )
图b
图c
图a
图b
图c
编写VB程序,实现上述挑选功能。运行程序,在文本框Text1中输入参数h后,单击“挑选”按钮Command1,在列表框List1中按QA值降序显示满足条件一的申请人信息,最后在标签Label1中显示组队结果。程序运行界面如图所示。
请回答下列问题:
Const m = 20 'm表示申请人个数
Dim id(m)As Integer, qa(m)As Integer, qb(m)As Integer
Private Sub Command1_Click( )
Dim i As Integer j As Integer, k As Integer, t As Integer, max As Integer
Dim h As Integer, n As Integer '变量n存储满足条件一的申请人个数
Dim s As String
'读取全部申请人的编号、QA和QB值,分别存入数组id、qa和qb,代码略
h = Val(Text1. Text):n = m
For i = 1 To m — 1
k = i
For j = i + 1 To m
If qa(j)> qa(k)Then k = j
Next j
If Then
If k <> i Then
t = qa(i):qa(i) = qa(k):qa(k) = t
t = qb(i):qb(i) = qb(k):qb(k) = t
t = id(i):id(i) = id(k):id(k) = t
End If
Else
n =
Exit For 'Exit For表示退出循环
End If
Next i
'满足条件一的申请人信息显示在列表框Listl中,代码略
max = 0:s = “没有满足条件的组合”
'在满足条件的组合中,寻找QB值之和最大的组合,若有并列,只保留第一个
For i = n To 2 Step - 1
j = i - 1
Do While
If qb(i)+ qb(j) > max Then
s = "组队结果:" + Str(id(i)) + "号," + Str(id(j)) + "号"
End If
j = j - 1
Loop
Next i
Label1. Caption = s
End Sub
1)整体放置。按格子编号由小到大的次序查找第一个可放置该组全部物品的空区域(空区域是指从某个空格子开始的同层连续的所有空格子),若找到,则在该空区域居中、连续放置该组全部物品,如图a所示。
2) 零散放置。若所有空区域格子数都小于该组物品数,则将该组每个物品依次放置在当前编号最小的空格子中,如图b所示。
编写VB程序,模拟物品放置。运行程序,在列表框List1中显示每组物品的组号和数量,单击“放置”按钮Command1,在列表框List2中显示每组物品放置结果。程序运行界面如图c所示。
图c
Constm = 50 'm表示物品柜的格子数
Const w = 10 'w表示物品柜每层的格子数
Const n = 9 'n表示物品的组数
'f(i)存储第i个格子开始的同层连续的所有空格子数。f(i)为0表示第i个格子不是空格子
Dim f(m)As Integer
Dim a(n)As Integer
Private Sub Form_Load( )
'读取各组物品的个数依次存入数组a,并在List1中显示
'代码略
End Sub
Function getpos(r As Integer As Integer
'按格子编号从小到大的次序,查找空格子数≥r的第一个空区域
'若找到,返回该空区域的起始编号,否则返回 -1
'代码略
End Function
Private Sub Command1_Click( )
Dim i As Integer,j As Integer, k As Integer,p As Integer,v As Integer
Dim s As String
For i = 1 To m
f(i) = w -(i -1)Mod w 'w为10,表示每层的格子数
Next i
v = 1
For i = 1 To n
s = ""
p =
If p = - 1 Then
j = 1
Do While j < = a(i)
If f(v) <> 0 Then
s = s + Str(v)
f(v)=
j = j + 1
End If
Loop
Else
k =(f(p)- a(i)) \ 2
For j = k To 1 Step - 1
f(p) = j
p = p + 1
Next j
For j =
f(j) = 0
s = s + Str(j)
Next j
End If
List2. AddItem "第" + Str(i) + "组:" + s
Next i
End Sub