高中信息技术VB查找算法与程序实现浏览题阅览题会考复习题.docx
- 文档编号:16188199
- 上传时间:2023-07-11
- 格式:DOCX
- 页数:26
- 大小:391.67KB
高中信息技术VB查找算法与程序实现浏览题阅览题会考复习题.docx
《高中信息技术VB查找算法与程序实现浏览题阅览题会考复习题.docx》由会员分享,可在线阅读,更多相关《高中信息技术VB查找算法与程序实现浏览题阅览题会考复习题.docx(26页珍藏版)》请在冰点文库上搜索。
高中信息技术VB查找算法与程序实现浏览题阅览题会考复习题
高中信息技术VB查找算法与程序实现浏览题阅览题会考复习题
学校:
___________姓名:
___________班级:
___________考号:
___________
评卷人
得分
一、选择题
1.用对分查找法从数列3、6、7、10、12、16、25、30、75中找到数据10的查找次数是:
A、2B、3C、4D、7
【答案】C
【解析】
2.有一组数据为“2、3、5、5、7、7、8”,利用顺序查找和对分查找查找5时,则分别查找几次可以找到目标值()
A.3无法使用对分查找B.4无法使用对分查找
C.31D.41
【答案】C
【解析】
3.已知有一组数据2,3,6,9,10,17,22,25排列,若要对分查找数值22,需要查找3次,这3次查找中依次找到的数据是()。
A.101722B.91022C.102522D.91722
【答案】D
【解析】
4.定义变量s表示团购价,则在窗口上显示团购价的语句应该是?
()
A、label4.caption=str(s)B、label4.text=val(s)
C、s=str(label4.caption)D、s=val(label4.caption)
【答案】A
【解析】
5.读程序,写出下列程序的输出结果(共6题,每题只有一个正确答案,每题2分,共12分)
s=1
Forj="10"To-10Step-2
s="s"*j
Nextj
MsgBox(s)
上述程序段中s="s*j"的执行次数是()
A.20B.10C.11D.21
【答案】D
【解析】
6.关于对分查找和顺序查找算法的叙述,正确的是()。
A.顺序查找需要排序,效率低;对分查找不需要排序,效率高。
B.顺序查找不需要排序,效率低;对分查找需要排序,效率高。
C.顺序查找不需要排序,效率高;对分查找需要排序,效率低。
D.顺序查找需要排序,效率高;对分查找不需要排序,效率低。
【答案】B
【解析】
7.某数组有10个元素,依次为11、22、33、45、55、66、77、88、92、98,若采用对分查找法在该数组中查找数据92,依次被访问的数据为()
A.55、88、92B.55、77、88、92C.66、88、92D.66、88、98、92
【答案】A
【解析】
8.萧明申请了一个网银账号,登录网银账号时要输入密码。
如果密码输入的错误次数超过3次,那么当日网银账号将被锁定,次日自动解锁。
下图是登陆网银的流程图,萧明不小心输入密码错误了2次,第3次才正确,那么他的操作流程应该是()
A.①→②→③→①→②→③→①→②→③→④→⑤
B.①→②→③→①→②→③→④→⑤
C.①→②→③→④→⑤
D.①→②→③→④→⑤→⑥
【答案】A
【解析】
9.下面是一组有序的数组d,现运用对分查找,d[m]为每次查找到的中间值,完成查找J的过程中所查找到的d[m]的值是()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
A
B
C
D
E
F
G
H
I
J
K
L
M
N
A.GKLJB.GCKJ
C.GKIJD.GHKJ
【答案】C
【解析】
10.有序数列3.6,8,11.6,22,24,27,31,36.5,35,46,通过对分查找查找数31,需找()次
(A)4(B)3(C)2(D)1
【答案】A
【解析】本题考核的是考生对对分查找算法执行过程的理解。
11.用对分查找法从数列3,6,7,10,12,16,25,30,75中找到数据10的最少查找次数是()
A.2B.4C.3D.7
【答案】B
【解析】
12.数组a中存放了一批数据如下表,现采用对分查找方式在这批数据中查找“gou”,以下说法正确的是()。
a
(1)
a
(2)
a(3)
a(4)
a(5)
a(6)
a(7)
hou
ji
long
ma
niu
she
tu
A.依次被比较的数据是“ma”,“ji”,“hou”
B.依次被比较的数据是“ma”,“she”,“tu”
C.无法进行对分查找,因为这批数据还没排好序
D.无法进行查找操作,因为这批数据中没有“gou”
【答案】A
【解析】
13.已知单调函数f(x)在[0,1]区间存在一个x0,使f(x0)=0。
现用对分查找法搜索x0的值,开始搜索区间为[0,1],若经过10次对分查找后还需继续搜索,则第11次搜索区间的长度为()
A.1/2B.1/10
C.1/102D.1/210
【答案】D
【解析】
14.解决上问题所用的算法是:
()
A、枚举法B、解析法C、顺序查找D、选择法
【答案】B
【解析】
15.某一算法的流程图如第9题图所示,则该算法的功能是()
A.求三个数中最大的数B.求三个数中最小的数
C.将三个数从小到大排列D.将三个数从大到小排列
【答案】B
【解析】
16.以下算法中,需要通过多重循环一一列举出解决问题的所有可能解,并在逐一列举的过程中,检验每个可能解是否是问题的真正解;而需要从实际问题中归纳出数学表达式,就此求出解;这两个算法分别是()
A.穷举法、公式法B.循环法、递归法
C.查找法、函数法D.枚举法、解析法
【答案】D
【解析】
17.下列VisualBasic程序的功能是输入身高(l/cm)和体重(k/kg)来测试你的身材是否符合标准。
PrivateSubCommand1_Click()
Diml,k,BMIAsSingle
l=Val(Text2.Text)/100
k=Val(Text3.Text)'
BMI=k/(l*l)
IfBMI<18.5Then
Text1.Text="太瘦了"
ElseIfBMI>=25Then
Text1.Text="偏胖"
Else
Text1.Text="非常标准"
EndIf
EndSub
运行程序后在Text2中输入180,Text3中输入90,那么在Text1中输出的是()
A、太瘦了B、偏胖C、非常标准D、超出范围
【答案】B
【解析】
18.想从学生中选出一些理科比较好的同学参加理科知识竞赛,主要考察数学和物理两个科目的成绩,在数学成绩大于90的同学中挑选出物理成绩不小于89的同学参加竞赛,VB条件表达式应该是()(S:
数学成绩,W:
物理成绩)
A.S<90,W>=89B.S<90OrW>=89
C.S<90AndW>=89D.S>90AndW>=89
【答案】D
【解析】
评卷人
得分
二、填空题
19.生活中,许多女士喜欢穿高跟鞋,那穿高跟鞋会使人感到美吗?
黄金分割能解释这个问题。
人体躯干与身高比例的黄金分割点是肚脐。
换句话说,这一比值越接近0.618,愈给人美之感。
现按要求编写“高跟鞋的最佳之选”的VB程序(界面如下图所示),实现如下功能:
首先,设某女躯干a米和身高b米,分别从文本框Text1和Text2中输入,比值为g。
鞋跟高度为s(单位与a、b一致),那么比值g=(a+s)/(b+s),如果g=0.618,那么鞋跟高度S的值就是最佳高度,所以最佳的鞋跟高度s=(0.618b-a)/0.382,设计程序计算最佳鞋跟高度的程序。
(1)应用程序界面设计时,为了显示s的值,在窗体中添加了控件,一般需将它的属性值设置为空。
(2)图中的人物是通过设置Image1对象的属性,将外部图像文件添加进去的。
(3)请根据题意将下列程序补充完整。
PrivateSubCommand1_Click()
DimaAsSingle,bAsSingle,sAsSingle
a=Val(Text1.Text)
b=①
②
Label4.caption=str(s)
EndSub
【答案】
(1)Label或标签、caption
(2)picture
(3)val(text2.text)、s=(0.618*b-a)/0.382
【解析】
20.在数组元素a
(1)到a(5)中查找键值为key的数,其查找算法的VB程序段如下:
Dima(1To5)AsInteger
DimKeyAsInteger
PrivateSubCommand1_Click()
t=0
Fori=1To5
If____①____Then
t=i
ExitFor’②
EndIf
Nexti
Printt
EndSub
PrivateSubForm_Load()
’此过程用于对数组a和查找键Key进行赋初值,代码略
EndSub
(1)该程序段中所用的查找算法是_____________________________________。
(2)在程序①划线处,填入适当的语句或表达式,把程序补充完整:
程序中①划线处应填入_____________________________________________。
当数组元素a
(1)到a(5)中存储的数据为(2,5,1,9,5),查找键Key为5时:
(3)该程序运行结束,t的值是_____________________________。
(4)如果将②所标记的ExitFor语句删除,该程序运行结束时,t的值是________。
【答案】
(1)顺序查找
(2)a(i)=Key(3)2(4)5
【解析】
21.现要求编写VB程序,界面如第2题-1图所示。
程序功能如下:
在文本框Text1中输入身份证号码,单击“识别”按钮Command1,在标签Label3中输出对应的性别。
具体方法为:
(1)若身份证号为15位,则根据第15位数字来判断,若为偶数则性别“女”,否则为“男”;
(2)若身份证号为18位,则根据第17位数字来判断,若为偶数时则性别为“女”,否则为“男”。
应用程序界面设计时,为添加“识别”按钮,应使用2图中“控件工具箱”中的(填写相应编号),并修改3图“属性窗口”中,将属性值设置为“识别”
请根据题意将下列程序补充完整
DimxAsString,nAsInteger,sAsString
x=Text1.Text
n=Len(x)
Ifn=15Then
s=Mid(①,Len(x),1)
IfVal(s)Mod2=0Then
Text2.Text="女"
Else
Text2.Text="男"
EndIf
Else
s=Mid(x,17,1)
If②Then
Text2.Text="男"
Else
Text2.Text="女"
EndIf
EndIf
【答案】
(1)3(1分)Caption(1分)
(2)x(1分)val(s)mod2=1(1分)
【解析】
22.有一Access数据库“school.accdb”存放在f:
\2015mt\vb文件夹中,其中的“student”数据表用来存储学生的基本情况信息,包括学号(num)、姓名(name)、性别(sex)、分数(score),括号内的为对应字段名。
下列VB程序用来实现根据学号查询并显示学生信息,运行界面如下图所示。
在文本框Text1中输入学生的学号,单击“查询”,在文本框Text2、Text3、Text4中分别显示学生姓名、性别、分数。
PrivateSubCommand1_Click()
DimadocnAsNewadodb.Connection
DimadorsAsNewadodb.Recordset
Dimstr2AsString,str1AsString
str1="Provider=Microsoft.ACE.OLEDB.12.0;datasource=f:
\2015mt\vb\_____________"
adocn.Openstr1
str2="select*fromstudentswherenum="+Text1.Text
adors.Openstr2,adocn,adOpenDynamic,adLockOptimistic
Ifadors.EOF=TrueThen
MsgBox"你输入的学号不存在"
Else
Text2.Text=adors.Fields("name").Value
Text3.Text=adors.Fields("sex").Value
______________________________________
EndIf
adors.Close
adocn.Close
EndSub
【答案】
(1)school.accdb(1分)
(2)Text4.Text=adors.Fields("score").Value(1分)
【解析】
23.一个程序功能如下:
单击开始按钮,每隔1秒产生一个[1,100]的随机数,赋给变量n,对产生的随机数进行判断,如果是偶数就显示在列表框1中,如果是奇数显示在列表框2中。
当随机数达到20个时,停止。
Timer控件的Enabled属性设置为False,即程序刚运行时不起作用。
程序代码如下:
DimmAsInteger'm为模块级变量,用于记录随机数个数
PrivateSubCommand1_Click()
Randomize
Timer1.Enabled=True
EndSub
PrivateSubTimer1_Timer()
DimnAsInteger
①
If②Then
List1.AddItemn
Else
List2.AddItemn
EndIf
m=m+1
Ifm=20Then③
EndSub
在程序①、②、③划线处,填入适当的语句或表达式,把程序补充完整:
程序中①划线处应填入___________________。
程序中②划线处应填入___________________。
程序中③划线处应填入___________________。
【答案】
(1)n=Int(Rnd*100)+1
(2)nMod2=0(多)
(3)Timer1.Enabled=False
【解析】
24.杭州市民卡是由杭州市人民政府授权发放给市民用于办理个人相关事务和享受公共服务的集成电路卡(IC卡),具有信息储存、身份识别、电子支付等功能。
每位市民卡的卡号是唯一的,卡内会记录每位市民的姓名、住址、金额等信息。
假设共有1000个市民,市民的相关信息都存储在“information.accdb”的data表中,查询程序界面如图所示。
工作人员在文本框Text1中输入卡号,单击“开始查询”按钮,如果找到,就在Label1中显示卡内市民姓名和卡内余额;否则显示“查无此人”。
请按要求将下列程序补充完整。
PrivateSubcommand1_click()
DimconnAsNewADODB.Connection,rsAsNewADODB.Recordset
DimstrSQLAsString
Dima,basstring‘分别定义姓名、余额
Dimnasinteger
conn.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+App.Path+"\information.accdb"'打开到数据库的链接
conn.Open
strSQL="selectxh,xmfromdatawhere'卡号=&(Text1.Text)&'"'设置查询的SQL语句
Setrs.ActiveConnection=conn'设置rs的ActiveConnection属性,指定与其关联的数据库链接
rs.OpenstrSQL'打开记录集,将从表information中读取的结果保存到记录集rs中
Label1.Caption=""
n=0
Dowhilenotrs.EOF
①
a=rs.Fields("姓名")
b=rs.Fields("余额")
rs.movenext
loop
rs.Close
conn.close
setrs=nothing
setconn=nothing
②
ifn=0thenLabel1.caption="查无此人"
EndSub
(1)程序中①划线处应填入___________________。
(2)程序中②划线处应填入___________________。
【答案】
(1)n=n+1
(2)Label1.caption=a+"卡内余额为"+b+"元"
【解析】本题意图考核考生应用VisualBasic访问数据库的相关知识,考核学生是否理解通过ADO对象连接数据库,通过Recordset对象获取表中的数据等相关知识。
25.小明利用所学的知识帮助语文老师设计一个语文学考等级查询系统,要求如下:
输入某个等级,就能查出该等级的所有学生学号和姓名,并统计出该等级学生的人数,以便语文老师方便了解学生的学考情况。
语文学考成绩分A、B、C、D、E五个等级,学生信息存储在数据库文件“stugrade.accdb”的数据表“Chinese”中,数据表“Chinese”的结构如图1所示。
VB程序运行界面如图2所示,在文本框Text1中输入查询的等级,单击“查询”按钮Command1,在列表框List1中显示所有该等级的学生学号和姓名,并按照学号从小到大排序,并在标签Label2处显示学生的人数,如果人数为0,则在列表框中显示“没有该等级的学生”。
按此要求编写程序如下,但加框处代码有错误,请改正。
PrivateSubCommand1_Click()
Dimstuna(1To100)AsString'存放学生姓名的数组定义为stuna
Dimstunum(1To100)AsString'存放学生学号的数组定义为stunum
DimiAsInteger,jAsInteger,nAsInteger
DimtAsString
'连接数据库
DimcnAsNewADODB.Connection
DimrsAsNewADODB.Recordset
DimstrSQLAsString
cn.ConnectionString="Provider=Microsoft.ACE.OLEDB.12.0;DataSource="+App.Path+"\stugrade.accdb"
cn.Open
strSQL="select*fromChinesewhere语文等级='"+Text1.Text+"'"
Setrs.ActiveConnection=cn
rs.OpenstrSQL
n=0
DoWhileNotrs.EOF
n=n+1
stuna(n)=rs.Fields("姓名").Value
stunum(n)=rs.Fields("学号").Value
rs.NextMove'①
Loop
rs.Close
cn.Close
Setrs=Nothing
Setcn=Nothing
List1.Clear'清除列表框
Ifn=0Then
List1.AddItem"没有该等级的学生"
Else
Fori=1Ton-1'按姓名排序
Forj=nToi+1Step-1
Ifstuna(j) t=stunum(j): stunum(j)=stunum(j-1): stunum(j-1)=t t=stuna(j): stuna(j)=stuna(j-1): stuna(j-1)=t EndIf Nextj Nexti Fori=1Ton List1.AddItemstunum(i)+""+stuna(i) Nexti Label2.Caption="该等级的学生共有"+Str(n)+"名" EndIf EndSub (1)加框处①有错,应改为____________________________。 (3分) (2)加框处②有错,应改为____________________________。 (3分) 【答案】①rs.MoveNext②stunum(j) 【解析】通过一个学考等级查询系统,把Access数据库,通过ADO对象连接数据库以及冒泡排序等知识点串联在一起,是对考生VB访问数据库的综合考查。 作为本次考试命题的最后一题,本题涉及到知识面较广,难度也较大,对考生也提出更高的要求。 26.用VB设计查询并统计某公司的销售数据。 实现如下功能: ①将所有员工的姓名和销售量存储到数组xm和xse中; ②对销售量数组进行求和,并输出该地区平均销售量(保留整数); ③根据输入“销售排名前几位”筛选出排名前几位销售人员的数据。 程序运行界面如图所示。 (1)下列程序对员工的销售额进行排序的主要算法属于(选填: 解析算法/枚举算法/冒泡排序算法/选择排序算法) (2)实现上述功能的VB程序如下。 请在划线处填入合适的代码。 Dimxse(1To3000)AsLong'存储销售员工的销售量,最大处理个数为3000 Dimxm(1To3000)AsString'存储销售员工的姓名 Dimmc(1To3000)AsInteger'存储销售员工的名次 DimnumAsInteger'当前员工总数 PrivateSubForm_Load() '将销售量、姓名数据存入xse和xm数组 '计算员工总数num '代码略 EndSub PrivateSubCommand1_Click() DimsumAsLong DimiAsInteger,flagAsInteger pm=Val(Text2.Text) dq=Text1.Text sum=0 Fori
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高中 信息技术 VB 查找 算法 程序 实现 浏览 阅览 会考 复习题