例1 数组元素a(1)a(8)中查找键值key数序查找VB程序段请划线处填写正确语句
for i1 to 8
if ① then
Text1textstr(i)
exit for
end if
next i
if ② then
text1text″数组中没找″+str(key)
end if
课笔记:
例2某数组6元素次273257788090该数组进行序查找均查找次数(1+2+3+4+5+6)672该数组进行分查找均查找次数 ( )
A72 B73
C52 D2
课笔记:
例3某分查找算法VB程序段
i1j8c0
Do While i
mFix((i+j)2)
If keyb(m) Then Exit Do
If keyLoop
数组元素b(1)b(8)值次22323948718296106该程序段运行结束c值2key值( )
A4832 B4896
C3282 D8296
课笔记:
例4数组a组正整数奇数前偶数奇数偶数已分升序排序分查找思想设计数组a中查找数Key程序实现该功VB程序段
i1j10
KeyVal(Text1Text)
Do While i
If a(m)Key Then Exit Do 'Exit Do 表示退出循环
If Key Mod 21 And a(m) Mod 20 Then
(1)
ElseIf Key Mod 20 And a(m) Mod 21 Then
(2)
Else
(3)
End If
Loop
If i>j Then s″没找″ Else s″位置″+Str(m)
Text2Texts
述程序中划线处选语句
①im+1
②jm1
③If Key(1)(2)(3)处语句次( )
A①②③ B①③②
C②①③ D③②①
课笔记:
强化训练
1数组a中存放着已排序n1实验数(a(1)≥a(2)≥……≥a(n1)a(n)暂未存储数)现文框Text1中输入新数插入数组a中相应位置n数保持序完成该功VB程序段请划线处填入正确语句
xVal(Text1Text)
iljnl
Do While i
If xLoop
For kn To ① Step1
a(k)a(k1)
Next k
a(i)x
2某分查找算法VB程序段
n0i1j6
KeyVal(Text1Text)
Do While i
nn+1
If Keyd(m) Then Exit Do
If Key>d(m) Then jm1 Else im+1
Loop
If i
A89 B77 C47 D39
3某分査找算法VB程序段
i 1j 7s ″ ″
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 m1s s + ″L″
Else
i m + 1s s + ″R″
End If
Loop
Text1Text s
数组元素a(1)a(9)值次24353841456978该程序段执行文框Text1中显示容( )
ARL BLMR CRLR DLRLM
4数组a中存储左右交升n正整数表示:
a(1)
a(2)
a(3)
……
a(n-2)
a(n-1)
a(n)
3
25
38
……
55
31
12
分查找思想设计数组a中查找数key程序实现该功VB程序加框处代码错请改正
Private Sub Command1_Click( )
Const n=6
Dim a(1 To n) As Integerflag As Boolean
Dim i As Integerj As Integerm As Integerkey As Integer
′读取组正整数述规存入数组a中代码略
key=Val (Text1Text)
i=1
j=(n+1)\2
flagTrue
Do While And Not flag′(1)
m=(i+j)\2
If keya(m) Then
flagTrue
ElseIf key<a(m) Then
jm1
Else
im+1
End If
Loop
If Not flag And j>0 Then
m′(2)
If key=a(m) Then flag=True
End If
If flag Then
Text2Text=Str(m)
Else
Text2Text=找
End If
End Sub
中加框(1)处应改正________
加框(2)处应改正________
5)数组a组正整数奇数前偶数奇数偶数已分升序排序分查找思想:设计数组a中查找数Key程序实现该功VB程序段:
i=1∶j=10
Key=Val(Text1Text)
Do While i<=j
m=(i+j)\2
If a(m)=Key Then Exit Do ′Exit Do表示退出循环
If Key Mod 2=1 And a(m) Mod 2=0 Then
ElseIf Key Mod 2=0 And a(m) Mod 2=1 Then
Else
End If
Loop
If i>j Then s=没找 Else s=位置:+Str(m)
Text2Text=s
述程序中方框处选语句:
①i=m+1
②j=m-1
③If Key(1)(2)(3)处语句次( )
A①②③ B①③②
C②①③ D③②①
6采分查找算法数组a中7序数15385166778199进行查找查找数55
i=1∶j=7∶x=55
Do While i<=j
m=(i+j)\2
If a(m)=x Then Exit Do
If a(m)>x Then j=m-1 Else i=m+1
Loop
述代码查找列表述正确( )
Ai=m+1 Bi=m-1
Cj>m+1 Dj<m-1
7某学校图书理系统中10万条图书资料记录(已索引排序)假设中取出条记录查找项进行较花时间10毫秒分法该系统中查找意指定图书花费时间约( )
A100万毫秒 B50万毫秒
C10毫秒 D170毫秒
8VB程序查找单词间距文框Text1中输入段英文文框Text2中输入英文段落中某单词(字符串)单击间距钮(Command1)文框Text3中显示该单词文中某两次出现间距出现次出现显示值0程序运行界面图示
实现述功VB程序请划线处填入正确代码
Private Sub Command1_Click()
Dim a(1 To 1000)As String '数组a存储文中出现该指定单词(字符串)位置
Dim s As Stringc As Stringch As String
Dim n As Integermax As Integeri As Integer
sText1Text
cText2Text
n0∶Max0
For i1 To Len(s)Len(c)+1
ch ①
If chc Then
nn+1
②
If n>2 Then
If a(n)a(n1)Len(c)>Max Then Maxa(n)a(n1)Len(c)
End If
End If
Next i
Text3Textstr(max)
End Sub
9某排序算法VB程序段:
For i=7 To 5 Step -1
k=i
For j=1 To i-1
If a(j) Next j
If i<>k Then
t=a(i):a(i)=a(k):a(k)=t
End If
Next i
数组元素a(1)a(7)数次10417512631185排序加工数组元素a(1)a(7)数次( )
A85417563121110
B85756341121110
C10111263754185
D10111241637585
10双选择排序算法典选择排序基础果选择出数时选择预见数两数放置合适位置样排序效率提高倍述双选择排序算法张编写VB程序功:列表框List中显示排序前数单击排序钮Command1列表框List中显示数升序排序结果运行效果图示
实现述功VB程序加框处代码错请改正
Const n=10
Dim b(1 To n)As Integer
Private Sub command1_Click( )
Dim i As Integer
Dim t As Integer
For i=1 To ′①
For j=i To ′②
If b(j) t=b(i):b(i)=b(j):b(j)=t
End If
If b(j)>b(n-i+1) Then
t=b(j):b(j)=b(n-i+1):b(n-i+1)=t
End If
Next j
Next i
For i=1 To n
List2AddItem Str(b(i))
Next i
End Sub
Private Sub Form_Load( )
For i=1 To 10
b(i)=1+Int(Rnd*100)
List1AddItem Str(b(i))
Next i
End Sub
错题反思:
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档