学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
用一个5行6列的矩阵表示地图,分别用a数组元素表示,第1行从左到右为a(1)到a(6),依次类推右下角为a(30)。其中数字0表示不通,数字1表示畅通。现在要从左上角到右下角寻找一条通的路径、线路规则如下:
1)路线每个位置只能向右或向下;
2)任何一个岔口优向右走,右侧不通再向下走;
3)一条路线中每个位置只能走一次,不能重复算法思路。探路过程中,记录每个位置坐标到数组lu;遇到岔路口(向右向下都通),则记录路口坐标到数组cha;遇到前方无路时,需要返回到上一个路口,标记路口右侧不通;当前方无路,岔路口数组也退回到0,说明整体不通否则根据规则走到右下角为止,最后输出整体线路坐标。实现算法的程序如下,运行结果如图所示。

回答下列问题:
(1)根据规则,如图迷宫矩阵,将第1行第3列值修改为0,正确路线的第6个位置是a数组的第_______个元素。(填数字)
(2)在程序划线处填上合适代码,使程序完整。
Dim a(1 To 50) As Integer
Private Sub Form_Load()
’生成图形矩阵的数组a各个元素,并在列表框显示,代码略
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, pos As Integer
Dim cha(1 To 10) As Integer’记录一条线路中各个岔路口
Dim lu(1 To 10) As Integer’记录路线经过的位置
pos=1:j=0:lu(1)=1:i=1
Do While<=9’第1个和最后1个固定,中间有9个需要路过的路径点

If pos Mod 6<> 0 And a(pos+1)=1 Then’向右畅通

If pos+6<=30 And a(pos+6)=1 Then’记录岔路口

j=j+1
_________
End If
pos=pos+1
i=i+1
_________
ElseIf pos+6<=30 And a (pos+6)=1 Then’向下畅通
pos=pos+6
i=i+1
lu(i)=pos
Else’坐标退回到上一个岔路口
If j=0 Then Exit Do
Do While lu(i)<>cha(j)
_________
Loop
a(cha(j)+1)=0’标记此路口右侧不可用
pos=cha(j)
j=j-1

End If

Loop
Text1.Text=“”
If j=0 Then

Text1.Text= “没有畅通道路”

Else

For i=1 To 10

Text1.Text=Text1.Text+Str(lu(i))

Next i

End If
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
我要答疑
编写解析
解析:

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

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