题库 高中信息

题干

整数序列“2,3,6,11,19,23,41,47,51”用对分查找法和顺序查找法在查找23时两种方法都能访问到的是
A.3B.6C.19D.47
上一题 下一题 0.99难度 选择题 更新时间:2017-02-17 09:48:31

答案(点此获取答案解析)

同类题2

杭州市民卡是由杭州市人民政府授权发放给市民用于办理个人相关事务和享受公共服务的集成电路卡(IC卡),具有信息储存、身份识别、电子支付等功能。每位市民卡的卡号是唯一的,卡内会记录每位市民的姓名、住址、金额等信息。
假设共有1000个市民,市民的相关信息都存储在“information.accdb”的data表中,查询程序界面如图所示。工作人员在文本框Text1中输入卡号,单击“开始查询”按钮,如果找到,就在Label1中显示卡内市民姓名和卡内余额;否则显示“查无此人”。请按要求将下列程序补充完整。

Private Sub command1_click()
Dim conn As New ADODB.Connection, rs As New ADODB.Recordset
Dim strSQL As String
Dim a,b as string ‘分别定义姓名、余额
Dim n as integer
conn.ConnectionString = "Provider="Microsoft.ACE.OLEDB.12.0;Data" Source=" + App.Path + "\information.accdb" '打开到数据库的链接
conn.Open
strSQL ="select xh,xm from data where '卡号=&(Text1.Text) & '" '设置查询的SQL语句
Set rs.ActiveConnection = conn    '设置rs的ActiveConnection属性,指定与其关联的数据库链接
rs.Open strSQL   '打开记录集,将从表information中读取的结果保存到记录集rs中
Label1.Caption = ""
n=0
Do while not rs.EOF

a=rs.Fields("姓名")
b=rs.Fields("余额")
rs.movenext
loop
rs.Close
conn.close
set rs=nothing
set conn=nothing

if n="0" then Label1.caption="查无此人"
End Sub
(1)程序中①划线处应填入___________________
(2)程序中②划线处应填入___________________。

同类题3

查找最短26个字母字符串: 在文本框Text1中输入任意一串仅包含小写字母的字符串(长度n>=26),要求找到长度最小的一段区间,能够包含全部26个小写英文字母。小王设计了VB程序用于搜索最短字符串,单击“查找”按钮 Command1,若无解,则在标签 Label1中输出“无解!”,反之程序在标签 Labell中输出该最小区间的长度以及字符的开始位置,并在文本框Text2中输出相应的最短字符串,程序界面如图所示。
查找最短26个字母字符串的算法可描述为:
1)确定初始右边界: 从第1个字符开始,向右搜索到包含全部26个字母的子串,并因此而确定右边界,同时记录每个字母在子串中出现过的次数。
2)调整子串左边界: 若左边界有重复的字母则表明该子串可缩短,故左边界可右移1位,……直到找到一个符合条件的子串并记录,然后子串左边界再右移1位。
3)调整子串右边界: 子串右边界继续右移,在新子串符合条件后,记录并进行比较。重复2)各调整步骤,直至遍历完整个字符串,获得并输出满足条件的最小长度字符串。
    
实现上述功能的VB程序如下,请回答下列问题:
(1)对于字符串“ qbwcadsgeqbdatcy”,包括字母 abcde的最短字符串长度为___________(填数字)
(2)请在划线处填入合适的代码。
Const n=200
Dim i As Integer, k As Integer, length As Integer, L As Integer
Dim pos As Integer, sl As String, res As String
Dim f(1 To 26) As Integer    '数组f记录每个小写英文字母的出现次数
Dim s(1 To n)As Integer '数组s记录每个输入字符在字母表中的位置
Private Sub Command1_ Click

res=" "

s1=Textl. Text

For i=1 To Len(s1)

s(i)= _____________
Next i
k=0: pos=1: length=n
For i=1 To 26
f(i)=0
Next i
For i=1 To Len(sl)
If f(s(i))=0 Then k=k+1
f(s(i))=f(s(i))+1
Do While___________
f(s(pos))=f(s(pos))-1
If______________Then
k=k-1
If i-pos+1<length Then
length=i-pos+1
res=Mid (sl, pos, length)
L=pos
End If
End If
pos=pos+1
Loop
Next i
If res<>""Then

Text2 Text=res

Labell. Caption="最短长度: "+Str( length)+"开始位置: "+Str(L)Else

Labell. Caption="无解!"

End if

End Sub