学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
给定一个m*m的矩阵,它表示一个箱子的侧视图。箱子的每一个格子的状态可能为图1所示, 表示钻石,表示固定的障碍物,将这个箱子顺时针旋转90°,由于重力原因,部分钻石的位置会发生改变。每个钻石会垂直掉落,直到它遇到阻挡(固定的障碍物、另一个钻石或者箱子的底部)。重力不会影响固定障碍物的位置,同时箱子旋转不会产生惯性,也就是说钻石的水平位置不会发生改变。图2为盒子顺时针90°以后的状态。

图1旋转前


图2顺时针90°以后


如果用数字来表示该矩阵,2表示钻石,1表示固定的障碍物,0表示空位置。随机生成一个m*m的矩阵在 List1中显示,点击Command1按钮,按照上述要求旋转90°后的矩阵在List2中显示。程序运行界面如图3所示:

图3


(1)若m=3时,矩阵存储在a中的值为“2,0,1,1,2,0,2,0,0”,顺时针旋转90°后,a(6)中存储的值为______
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Const m=6
Dim a(1 To m * m) As Integer'存储矩阵状态,2代表钻石,1代表固定障碍物,0代表空格
Private Sub Form_Load()
'生成初始矩阵保存到a数组并输出到List1中,代码略
End Sub
Private Sub Command1_Click()
Dim q(1 To m) As Integer    '存储有效空格位置
Dim f As Integer, t As Integer, k As Integer, p As Integer
f = 1: t = 1: k = m
'先模拟钻石下落过程
For i = 1 To m * m
If ______Then
q(t) = k
t = t + l
ElseIf a(k) = 1 Then
f = 1: t = 1
ElseIf f <> t Then
______
f = f + 1
a(k) = 0
q(t) = k
t = t + 1
End If
If k Mod m = 1 Then
f = 1: t = 1
k = k + 2 * m - 1
Else
k = k - 1
End If
Next i
'顺时针旋转90°后输出
p = (m - 1) * m + 1
For i = 1 To m * m
s = s + Str(a(p))
If i Mod m = 0 Then
List2.AddItem s
s = ""
p =_____
Else
p = p - m
End If
Next i
End Sub
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交