学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.40
所属科目:高中信息技术
有一个木棒游戏,探究在一堆木棒中取4根木棒组成一个正三角形的取法数量(三角形其中一边由两根木棒组成,长度相同的不同木棒算不同的方案)。如果取出长度为a,b,c,d(a<=b<c=d)的四根木棒能构成正三角形,那么a+b=c=d。算法如下:
(1)枚举两根短的木棒a和b;
(2)当a<>b时,组合的数量=长度为a的木棒根数×长度为b的木棒根数×长度为(a+b)的木棒取两根的取法数量;
(3)当a=b时,组合的数量=长度为a的木棒取两根的取法数量×长度为(a+b)的木棒取两根的取法数量。
如木棒长度分别为“1,1,2,2,3,3”,当a=1,b=2时,则c=d=3,该情况的组合数量=(长度为1的根数)*(长度为2的根数)*(长度为3的根数取两根的取法数量)=2*2*1=4。长度为3的根数取两根的取法数量,即C2。
程序运行界面如第16题所示,在文本框Text1输入一堆木棒的长度,以逗号间隔,点击“计算”按钮Command1后在标签Label1显示方案总数。

请回答下列问题:
(1)在文本框Text1中输入“2,3,3,6,6,6,7,”,能构成正三角形的取法数量是(填数字)________
(2)实现上述功能的VB程序如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim tmax As Integer, ans As Integer, k As Integer
Dim i As Integer, a As Integer, b As Integer, tmp As Integer
Dim c As String, s As String
Dim t (20) As Integer
'储存相同长度木棒的数量,如t(5)的值是长度为5的木棒的数量
s=Text1.Text
tmp=0:k=0
ans=0:tmax=0
For i=1 To Len(s)
c=Mid(s,i,1)
If c="," Then
k=k+1
t(tmp)=____
If tmp>tmax Then tmax=tmp
tmp=0
Else
tmp=tmp*10+Val(c)
End If
Next i
For a=1 To tmax\2    '枚举两根短的木棒
For b=a To tmax
If a+b>tmax Or t(a)*t(b)*t(a+b)=0 Then Exit For
If____Then
ans=ans+js(t(a),2)*js(t(a+b),2)
Else
ans=ans+js(t(a),1)*____*js(t(a+b),2)
End If
Next b
Next a
Label1.Caption="共有"+Str(ans)+"种方案"
End Sub
Function js(x As Integer, y As Integer)As Integer
'计算在x个对象中取y个对象的组合数量,即Cy
'代码略。
End
Function
编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

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

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

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