学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
舟山城市规模较小,人口流动量不大,通常两个完全不认识的陌生人通过2~3个亲戚或朋友的牵线搭桥就可以建立联系。王老师建立了一种人际关系矩阵来模拟这种现象,如有甲,乙,丙,丁,戊,己6人,相互之间认识,在矩阵中用1表示;相互之间不认识,在矩阵中用0表示;对于自身,用0表示,即矩阵左上角到右下角的对角线全为0。如表所示,当前甲和戊不认识,只需通过一人(乙或丁)牵线即可建立联系。
 







0
1
1
1
0
0

1
0
1
0
1
1

1
1
0
1
0
0

1
0
1
0
1
1

0
1
0
1
0
0

0
1
0
1
0
0
 
王老师设计了一个用来求两个陌生人建立联系所需最少介绍人的VB程序,程序运行时,点击“生成矩阵”按钮Command1,随机产生一个关系矩阵,并在列表框List1中显示。在文本框Text1和Text2中输入两个陌生人的编号,点击“建立联系”按钮Command2,在Labell中输出需要介绍人的最少个数。VB程序运行界面如图所示。
                              
对陌生人pl和p2建立联系的方法:
①pl所在行开始,将其认识的人依次添加到联系人数组b中。
②若数组b中未出现p2,依次搜索下一位联系人所在行,将新出现的认识人添加到联系人数组b中。
③在搜索过程中同时记录搜索步数,数组b内全部搜索完毕,若p2还是未出现,则视为无法建立联系,反之输出介绍人的个数。
程序代码如下:
Const n=8
Dim a(1 To n*n) As Integer
Private Sub Command1_Click()

Dim s As String

List1.Clear

For i=1 To n

For j=i To n
If j=i Then
a((i-1)*n+j)=0
Else
a((i-1)*n+j) = Int(Rnd * 2)
__________
End If
Next j

Next i

For i=1 To n

s=""
For j=1 To n
s=s+Str(((i-1)*n+j))
Next j
List1.AddItem s

Next i

End Sub
Private Sub Command2_Click()

Dim b(1To n)    As Integer

Dim ren(1To n)  As Integer      '记录建立联系的步数

Dim find(1To n)   As Boolean     '记录某人是否被添加到联系人数组中

Dim p1 As Integer,p2 As Integer,cur As Integer,k As Integer,

q As Integer

p1=Val(Text1.xt)

p2=Val(Text2.Text)

cur=p1:k=1:q=0

find(cur)=True

Do While find(p)=False

For i=1 To n
If a( (cur-1)*n+i)=1 And find(i)=False Then
b(k)=i:k=k+1
find(i)=True
_____________
End If
Next i
q=q+1
If q=k Then Exit Do Else_______________

Loop

If find(p2)=True Then

Label1.Caption="需要"+Str(ren(p2)-1)+"个介绍人"

Else

Label1.Caption="无法建立联系"

End If

End Sub
请回答以下问题:
(1)如图所示的人际关系,要建立2号和5号之间的联系需要的介绍人数最少为_____。
(2)请在划线处填入合适的代码。
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

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

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

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