如下图所示,其中第一层蛋糕有5种,体积分别为4、3、5、8、1;第二层有4种,体积分别为6、4、8、5;第三层有7种,体积分别为5、9、4、5、7、6、4。所选方案须符合“第一层<第二层<第三层”,如:第层选3,第二层选4第三层选6。方案共有31种。
请在划线处填入适当的代码。
Dim a(100) As Integer, b(100) As Integer, c(100) As Integer
'a、b、c数组分别存储上、中、下三层蛋糕的体积
Dim i As Integer, j As Integer, cnt As Integer, ans As Integer
Dim na As Integer, nb As Integer, nc As Integer
'na,nb、nc分别记录上、中、下三层蛋糕的种类数量
Private Sub Command1_ Click( )
Dim L As Integer, R As Integer, m As Integer
For i=1 To na-1
For j=na To i+1 Step-1
If a(j) < a(j-1) Then tmp=a(j) : a(j) =a(j-1) : a(j-1)= tmp
Next j
Next i
For i=1 To nc-1
For j=nc To i+1 Step-1
If c(j) < c(j-1) Then tmp= c(j) :c(j)=c(j- 1) :c(j- 1)= tmp
Next j
Next i
For i=1 To
L=0 : R=na+ 1
Do While L+1<R
m=(L+ R)\ 2
If a(m) < b(i) Then
L=m
Else
R= m
End If
Loop
cnt= L
L=0 : R=nc十1
Do While L+1<R
m=(L+R)\2
If Then
R= m
Else
End If
Loop
cnt=cnt * ()
ans= ans+cnt
Next i
Label1. Caption="共有"十Str(ans) + "种方案
End Sub
Private Sub Form_ Load( )
'随机生成三层蛋糕的数量存储在na、nb、nc中,生成三层蛋糕的体积存储在a、b、c数组中,并输出,代码略
End Sub
i =1 : j=8 : x=27 : mark = False
Do While i <= j And Not mark
m=(i+j+1)\2
If a(m) = x Then mark = True
If a(m)>x Then j=m-1 Else i=m+1
Text1. Text = Text1. Text+Str(m)
Loop
执行该程序段,文本框Text1中显示的是( )
i=1 : j=10 : x= Int(Rnd * 50) * 2+ 1
Do While i<=j
m=(i+j)\ 2
If x=f(m) Then Exit Do
If x<f(m)Then j=m-1 Else i=m+1
s=s+Str(m)
Loop
数组元素f(1)到f(10)的值依次为:3,6,9,11,18,20,25,39,76,98,该程序运行后,s的值不可能的是( )
Const n= 10
i=1 : j=n-1
Do While j-i>=2
m=(i+j) \ 2
If ⑴ Then
i= m
Else
⑵
End If
Loop
Text1. Text= Str(3) )
上述程序中(1)(2)(3)划线处可选语句有:
①a(j)-a(m)=j-m②a(m)-a(i)=m-i③j=m-1④j=m⑤a(i)+1⑥a(i)
则上述程序中(1)、(2)、(3)划线处的代码依次为( )
n=0
Key = Val(Text1. Text)
i = 1 : j= 10 : f= False
Do While i<= j And f = False
n=n+1
m=(i+j+1)\2
If a(m)=Key Then f=True
If a(m)>Key Then j=m-1 Else i=m+1
Loop
Text1. Text = Str(n)
数组元素a(1)到a(10)的值依次为“14,17,30,42,55,69,80,83,88,90”,执行该程序段,输入key的值为a(1)到a(10)中的某一个值,文本框Text2中显示的值为3,则key位可能是( )
Dim a(0 To 10) As Integer
Key= Val(Text1. Text)
i=1 : j=10
Do While i<=j
m=(i+j) \ 2
If ① Then
j=m-1
Else
i=m+1
End If
Loop
If a(j) <> Key Then
Label1. Caption= "找不到"
Else
P1=j
Do While Key=a(j) And j>= 1
j=j-1
Loop
②
Label1. Caption= Str(p2) + "-" + Str(p1)
End If
i=1: j = 5: k=0: s =""
key = Int (Rnd * 100)
Do While i<=j
k=k+1
m=(i+j)\2
s = s+Str(a(i))
If key = a(m) Then
Exit Do ‘ExitDo表示退出循环
Elself key < a(m) Then
j =m-1
Else
i=m+1
End If
Loop
Text1. Text = s
数组元素a(1)到a(5)的值依次为“6,18,25;37 ,49”。若该程序段执行后,k的值为3,则key的值不可能为( )
i=1:j=7 : s=””
key = Int (Rnd * 100)
Do While i <=j
m=(i+j)\2
If key = a(m) Then
s = s+"M":Exit Do 'Exit Do表示退出循环
ElseIf key < a(m) Then
j=m-1:s=s+"L"
Else
i=m+1:s=s+"R"
End If
Loop
Text1.Text = s
数组元素a(1)到a(7)的值依次为“24, 35, 38, 41,45, 69, 78”。若该程序段执行后,文本框Text1中显示的内容是LLR,则Key的值可能是( )