⑴用数组依次存储每个非降序数列中最大的元素(查找过程中的最大值),初始时b(1)为数组a第1个元素。
⑵加入方法:将a(i)与数组b中的每个元素依次逐个比较:
若a(i)不比b(j)小就用a(i)替换b(j)中的值;将a(i)添加到第j个非降序数列中,并连接到c数组的c(j)中。
若a(i)比b(j)都小,则在数组b最后添加新的元素值为a(i),即将a(i)添加到第j+1个下降数列中,并连接到c数组的c(j+1)中。
⑶若数组a各元素的值为:12,36,16,36,27,18时,则3个非降序数列分别为:“12,36,36”,“16,27”,“18”。
程序运行界面如下图所示:
小明依据上述描述设计了如下VB程序。请回答下列问题:
Const m=15
Dim a(1 To m) As Integer Private Sub Form_Load()
‘读取m个数据,依次存储到 a(1)、a(2)、……a(m)中,代码略End Sub
Private Sub Command1_Click()
Dim b(1 To m) As Integer '存储数列最大的值Dim c(1 To m) As String ‘存储非降序数列Dim i As Integer
Dim bottom As Integer Dim j As Integer
Dim bn As Integer ‘存储非降序数列的个数List1.clear
b(1) = a(1)
①
c(1) = Str(a(1))
For i = 2 To m
For j = 1 To bn
If ② Then
b(j) = a(i)
Exit For
End If
Next j
If j > bn Then
bn = bn + 1
③
c(b(n)) = Str(a(i))
End If
Next i
For i = 1 To bn
List1.AddItem c(i)
Next i
Text2.Text = "数列中共有" + Str(bn) + "个非降序序列"
End Sub
① ② ③
n=0:i=1:j=8
Key=Val(Text 1.Text)
Do While i<=j
m=(i+j)\2
If Key=d(m) Then Exit Do ‘Exit Do表示退出循环
If Key>d(m) Then
j=m-1:n=n-1
Else
i=m+1:n=n+1
End If
Loop
Label 1.Caption=Str(n)
当输入不同的Key值, 运行该程序段后, 在标签Label1中显示的不同结果共有( )
下列说法不正确的是( )
国内很多路段都启用了区间测速,所谓区间测速,是在同一路段上布置两个监测点,基于车辆通过前后两个检测点的时间,来计算车辆在该路段上平均行驶速度。现在有一段长为3千米的区间测速桥梁,车辆的限速60千米/时。
⑴请你填空完善该程序或删除原有程序自己编写一段程序,来判断某车辆在此测速路段是否超速。
⑵编写完成启原名保存并关闭应用较件。
s = 3
time = float(("请输入车辆通行时间(用秒计时):"))
v =
if :
print("正常行驶,祝你一路顺风!")
else:
print("你的车速为",round(v,1),"千米/时")
print("你已超速,请安全驾驶")
①cache的命中率是多少?
②CPU访问内存的平均时间是多少ns?
③cache-主存系统的效率是多少?
| A. if x < 0: y = -1 y = 1 | B. y =1 if x < 0: y = -1 |
| C. if x < 0: y = -1 if x > 0: y = 1 | D. if x > 0 : y = 1 else: y = -1 |