顺序查找算法导学案
一题目1. 在某次单元测试后,小明在所有试卷中逐张查找自己的试卷,这种查找方法为( )
A. 无序查找 B. 顺序查找 C. 排序查找 D. 随机查找
2. 下列有关顺序查找的说法中,正确的是 ( )
A. 被查找数据元素必须是有序的
B. 被查找的数据元素不一定有序
C. 顺序查找总能找到要查找的关键字
D. 被查找数据元素个数是奇数
3. 有15个英语单词:access,calm,eagle,free,full,great,hot,just,know,last,toy,wont,vacuity,yeoman,zoo,如果用顺序查找算法从左向右查找单词wont,则数据比较的次数为( )
A. 15次 B. 12次 C. 4次 D. 2次
4. 在有 n 个元素的顺序表中进行顺序查找,其查找不成功的比较次数是( )
A. (n + 1) / 2 B. n / 2 + 1 C. n / 2 D. n
5. 下列 VB 程序段用于查找字母"a"出现在字符串b中的位置,如果在字符串中有字母"a"出现,显示第 1个出现的位置,否则显示“找不到!”。
Private Sub Command1_Click()
Dimb As String, t As Integer
b = Text1.Text '字符串 b 由文本框 text1 输入
Key = "a"
For i = 1 To Len(b)
If Then
Text2.Text = Str(i)
Exit For
End If
Next i
If i = Len(b) + 1 Then Text2.Text = "找不到!"
End Sub
方框中正确的语句是( )
A. Key <> Mid(b, i, 1)
B. Key = Mid(b, i, 1)
C. Key <> Mid(i, b, 1)
D. Key = Mid(i, b, 1)
6. 有如下VB程序,该程序用于统计10个成绩中80分以上(含80分)的人数与最高分。
Private Sub Command_Click()
Dim score(1 To 10) As Integer
Dim c As Integer, i As Integer, j As Integer, max As Integer
For i = 1 To 10
'给score(i); 赋值, 程序略
Next i
c = 0
max = 0
For i = 1 To 10
If Then c = c + 1
If score(i) > max Then max = score(i)
Next i
Text1.Text = "80分以上人数为: " + Str(c)
Label1.Caption = "最高分为:" + Str(max)
End Sub
(1)要实现该功能,加下划线处的语句应该为:___________。
(2)已知数组score中数据依次为:100、89、70、30、80、99、50、65、88、75,则在文本框Text1中显示的内容为__________,在标签Label1中显示的内容为____________。
(3)若数组score中数据依次为:100、89、70、30、80、99、50、65、88、75,则语句max=score(i)被执行的次数为:___;若数组score中数据依次为:60、80、70、30、80、66、50、65、58、75,则语句max=score(i)被执行的次数为:___。
(4)若定义数组的语句更改为:Dim score(0 To 9) As Integer,其他语句不变,则会出现什么错误:_______(选填:溢出/下标越界/要求对象)。
二答案1.B
2.B
3.B
4.D
5.B
6.【答案】(1)score(i) >= 80
(2)80分以上人数为:5;最高分为:100
(3)1;2
(4)下标越界
【解析】(1)该处是判断数据score中第i号元素的值是否大于等于80,所以应该是score(i) >= 80。
(2)变量c保存的是80分以上人数,变量max保存的是最高分数。
(3)程序采用顺序查找的方法查找最高分,变量max的值不断被高分替代。对于第一组数,第1个数就是最高分100,所以语句max=score(i)执行1次。对于第二组数,第2个数就是最高分80,所以语句max=score(i)执行2次。
(4)当循环变量i=10时,下标超出数组下标最大值,出现“下标越界”错误。
需要本文word版的,可以加入“选考VB算法解析”知识星球参与讨论和下载文件,“选考VB算法解析”知识星球汇集了数量众多的同好,更多有趣的话题在这里讨论,更多有用的资料在这里分享。
我们专注选考VB算法,感兴趣就一起来!
相关优秀文章:
2019年VB选考算法分析文章分类
选考VB算法专题系列讲座0课程简介
选考VB算法专题系列讲座1循环结构基础
选考VB算法专题系列讲座2数组基本操作
选考VB算法专题系列讲座3字符串基本操作
选考VB算法专题系列讲座4解析算法
选考VB算法专题系列讲座5枚举算法