题型:综合题 题类:常考题 难易度:困难
浙江省稽阳联谊学校2020届高三下学期信息技术4月联考试卷
⑴货物逐个尝试放入,搜索场地矩阵(从左到右,从上到下),若某块区域能放下该货物,则标记这些相应位置为货物编号,然后返回左上角检测下一货物。
⑵搜索时,若右侧剩余列小于货物边长,则跳转到下一行,若下方剩余行小于货物边长,则直接返回检测下一货物,直到所有货物检测完毕。
小武同学根据上述算法设计了VB程序。程序运行,在列表框list1降序输出货物规格,点击“存放”按钮command1,在列表框list2输出摆放完成的场地矩阵。
算法的VB程序如下,回答下列问题。
Dim hw(1 To 9) As Integer '存储正方形货物的边长
Dim cd(1 To 100) As Integer '场地是边长为10的正方形
Private Sub Command2_Click()
Dim i As Integer, j As Integer, wz As Integer, s As String
For i = 1 To 9
j = 1
Do While (10 - (j - 1) \ 10) >= hw(i) '下方空间足够
If ① = False Then '从当前位置开始能否放下
j = j + 1
Else
'把相关位置标记为i,并处理下一货物,代码略
End If
If 10 - (j - 1) Mod 10 < hw(i) Then ‘右侧空间不足
②
EndIf
Loop
Next i
‘在列表框list2输出整个场地放好货物之后的矩阵图,代码略
End Sub
Function pd(start As Integer, bc As Integer) As Boolean
Dim i As Integer, wz As Integer
pd = True: wz = start
Do While wz <= start + 11* (bc - 1) And wz <= 100
If ③ Then
pd = False
Exit Function
ElseIf (wz - 1) Mod 10 - (start - 1) Mod 10 = bc - 1 Then
wz = wz + 11 - bc ‘位置转到下一行,与起点同列
Else
wz = wz + 1
End If
Loop
End Function
Private Sub Form_Load()
‘生成货物边长,降序显示在列表框list1,矩阵元素初始化为0,代码略
End Sub
① ② ③
试题篮