高中信息技术 VB排序算法与程序实现 浏览题阅览题 会考复习题_第1页
高中信息技术 VB排序算法与程序实现 浏览题阅览题 会考复习题_第2页
高中信息技术 VB排序算法与程序实现 浏览题阅览题 会考复习题_第3页
高中信息技术 VB排序算法与程序实现 浏览题阅览题 会考复习题_第4页
高中信息技术 VB排序算法与程序实现 浏览题阅览题 会考复习题_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

高中信息技术VB排序算法与程序实现浏览题阅览题会考复习题学校:___________姓名:___________班级:___________考号:___________评卷人得分一、选择题(一)顺序查找数据:我们假定被查找的数据存储在有n个元素的数组变量d中,要寻找的一个特定的数据(这个数据称为查找键)已经存储在变量key中。下面是顺序查找算法的输入输出说明。输入:查找键(设在变量key中)。被查找的数据(设在数组变量d中)。输出:若找到,输出值为key的数据所在的数组元素的下标,记为i;若未找到,输出结果为提示字符串:"找不到"。当在n=8个元素的数组里顺序查找数据的示意图如下:找到情况未找到情况总结顺序查找数据结果判断条件:(1)、当找到时,肯定i<="8,"n个数据时,肯定i<=n,i即为找到的数组元素下标,d(i)=key;(2)、当"找不到"时,i=9>8了;n个数据时,当i=n+1时,表示"找不到"。顺序查找的主程序段如下:PrivateSub顺序查找_Click()n个数据放入d(1)到d(n)中Key="Val(Text1.Text):"i=1.‘变量Key从文本框Text1取的数要查找的数;DoWhile①i="i"+1LoopIfi<="n"ThenText2.Text="在d("+Str(i)+")中"‘例如在文本框Text2显示:“在d(6)中”ElseText2.Text="找不到"EndIfEndSub上程序DoWhile的条件①是()A.Key<>d(i)B.i<=nC.Key<>d(i)Andi<=nD.Key<>d(i)ori<=n【答案】C【解析】2.用选择排序将七个数“2022、2017、2018、2014、2021、2012、2015”从小到大进行排序,则第二轮交换数据后的顺序是:A、2022、2021、2018、2017、2014、2012、2015B、2012、2014、2018、2017、2021、2022、2015C、2012、2017、2018、2014、2021、2022、2015D、2022、2021、2018、2014、2017、2012、2015【答案】D【解析】3.关于对分查找和顺序查找算法的叙述,正确的是()。A.顺序查找需要排序,效率低;对分查找不需要排序,效率高。B.顺序查找不需要排序,效率低;对分查找需要排序,效率高。C.顺序查找不需要排序,效率高;对分查找需要排序,效率低。D.顺序查找需要排序,效率高;对分查找不需要排序,效率低。【答案】B【解析】4.某数组有8个元素,依次为500、419、352、350、300、200、180、100,若采用顺序查找法在该数组中查找数据300,需要查找的次数是()A.1B.3C.4D.5【答案】D【解析】5.下面程序段用于求两数中的较大数(结果保存到变量maxn中),不正确的是()A.maxn=xIfy>=maxnThenmaxn=yB.Ifx>yThenmaxn=xElsemaxn=yC.maxn=xIfy>=xThenmaxn=yD.Ify>=xThenmaxn=ymaxn=x【答案】D【解析】6.某超市面食区共有5种面食品种,其价格依次为6.20、4.5、5.5、2、3,若采用冒泡排序算法对其进行从小到大排序,则第二趟的排序结果是()A、25.536.24.5B、236.24.55.5C、24.56.235.5D、235.54.56.2【答案】B【解析】7.某市组织了一次我心目中最喜爱的球队的评比活动,6个球队网上投票数为201、287、501、189、397、295,若采用冒泡排序算法对其进行从大到小排序,则第三遍加工后的结果是()原始数据

201

287

501

189

397

295

第一遍

501

201

287

397

189

295

第二遍

501

397

201

287

295

189

第三遍

A.501397295287201189B.501397201287295189C.501397295201189287D.501397295201287189【答案】D【解析】8.在信息加工中,经常要对被处理的数据进行排序,在排序时经常要进行数据的交换。下面有四个程序段:x=yy=x②x=x+yy=x-yx=yy=x②x=x+yy=x-yx=x-y③t=xx=yy=t④x=x-yy=x+yx=y-x其中能正确地将x和y两个变量中的数据进行交换的程序段有()A、1个B、2个C、3个D、4个【答案】C【解析】9.解决上问题所用的算法是:()A、枚举法B、解析法C、顺序查找D、选择法【答案】B【解析】10.用选择排序将七个数“2022,2017,2018,2014,2021,2012,2015”从小到大进行排序,则第二轮交换数据后的顺序是()A.2022,2021,2018,2017,2014,2012,2015B.2012,2014,2018,2017,2021,2022,2015C.2012,2017,2018,2014,2021,2022,2015D.2022,2021,2018,2014,2017,2012,2015【答案】B【解析】本题意图考核考生考生选择排序算法执行过程的理解。11.下表记录了6个数据的排序过程。分析表中数据可知,该排序采用的算法与排序方式分别为()原始数据

65

57

59

44

45

69

第1遍

44

65

57

59

45

69

第2遍

44

45

55

57

59

69

第3遍

44

45

57

65

59

69

A.冒泡排序,升序B.选择排序,升序C.冒泡排序,降序D.选择排序,降序【答案】A【解析】评卷人得分二、填空题12.小王设计了一个程序来列举仁川亚运会的奖牌前三的国家。下列VB程序实现如下功能:单击命令按钮Command1后,在列表框List1中按奖牌数由多到少显示国家名称,如图。请根据算法将下列程序补充完整。Dima(1To45)AsStringDimb(1To45)AsIntegerPrivateSubForm_Load()a(1)="中国"b(1)=308‘45个代表团名称及奖牌数分别放在a(1)到a(45)及b(1)到b(45)中EndSubPrivateSubCommand1_Click()DimiAsInteger,jAsIntegerDimtAsInteger,fAsIntegerList1.ClearFori=1To3Forj=To2Step-1IfThenf=a(j):a(j)=a(j-1):a(j-1)=ft=b(j):b(j)=b(j-1):b(j-1)=tEndIfNextjNextiFori=1To3List1.AddItem"第"+Str(i)+"名"+a(i)+"奖牌数"+Str(b(i))NextiEndSub【答案】(1)45(1分)(2)b(j-1)>b(j)(1分)【解析】13.下列VB程序的功能是:程序运行时,单击命令按钮Commandl后,产生10个[1,999]范围内互不相同的随机整数,依次显示在列表框List1中,然后将它们按从小到大的顺序排序,排序结果显示在列表框List2中。数组a用于存储产生的10个随机整数,函数f(x)用于判断随机整数x与已生成的整数是否有重复,若有重复则返回True,否则返回False。(1)虚线框内程序段所采用的排序算法名称是。(填:冒泡排序/选择排序)(2)在程序(1)和(2)划线处,填入适当的语句或表达式,把程序补充完整。Dima(1To10)AsIntegerFunctionf(xAsInteger)AsBoolean′代码略EndFunctionPrivateSubCommandl_Click()DimnAsInteger′n用于统计已经产生的随机整数个数DimiAsInteger.jAsIntegerDimxAsInteger.kAsIntegerRandomize′初始化Rnd函数n=0List1.Clear′清除列表框中内容List2.ClearDoWhilen<10x=Int(Rnd*999)+1′产生[1,999]范围内的随机整数IfNotf(x)Thenn=n+1a(n)=xList1.AddItemStr((1))EndIfLoopFori=1To9′进行排序Forj=10Toi+1(2)Ifa(j)<a(j-1)Thenk=a(j):a(j)=a(j-1):a(j-1)=kEndIfNextjNextiFori=1To10List2.AddItemStr(a(i))NextiEndSub【答案】(1)冒泡排序(2)a(n)Step-1【解析】14.某协会进行钓鱼比赛,最后有十人进入决赛,录入员编制了如下VisualBasic程序,功能是根据成绩进行排序,程序中数组a保存所有参赛者的成绩,数组b保存此成绩对应的姓名,第i位参赛者的成绩保存在a(i)中,姓名保存在b(i)中。程序界面如图所示,左边列表框List1中显示原始数据(成绩和相应的姓名),单击“排序”按钮(Command1),排序后的结果按成绩从高到低显示在列表框List2中。解决此问题的算法流程图如图所示,排序部分的程序段如下:Dima(1To10)AsSingleDimb(1To10)AsStringPrivateSubCommand1_Click()DimiAsInteger,jAsInteger,kAsInteger,xAsSingle,yAsStringFori=1To9k=iForj=i+1To10If①________Thenk=jNextjIfk<>iThenx=a(i):a(i)=a(k):②________y=b(i):b(i)=b(k):b(k)=yEndIfNextiFori=iTo10List2.AddItemStr(a(i))+“”+b(i)NextiEndSubPrivateSubForm_Load()’此过程用于对数组a和数组b进行初始赋值,代码略EndSub(1)解决此问题的算法是________。(选填:冒泡排序或选择排序)在程序①和②画线处,填入适当的语句或表达式,把程序补充完整:(2)程序中①画线处应填入________。程序中②画线处应填入________。【答案】(1)选择排序(2)①a(k)<a(j)或a(j)>a(k)②a(k)=x【解析】评卷人得分三、操作题15.打开并修改考生文件夹下“VB”文件夹中的工程文件“paixu.vbp”,使其具有下列功能:点击命令按钮Command1,清除列表框List1和列表框List2的内容,并自动产生三个100~999之间的随机数显示在列表框1中。点击命令按钮Command2,清除列表框List2的原有内容,对产生的随机数进行从大到小排序并显示在列表框List2中,点击命令按钮Command3,清除列表框List2的原有内容,对产生的随机数进行从小到大排序并显示在列表框List2中。程序运行界面如下图所示:完成下列操作:1.对照效果图,在窗体的适当位置创建命令按钮Command2,适当修改其大小,设置其Caption属性值为“从大到小排序”。2.给命令按钮Command2添加合适的事件编码,使之实现上述功能。该事件过程代码从“VB”文件夹下“code.txt”文件中得到。3.在注释①和②所在行中找出惟一的错误并改正,测试程序,使其实现上述功能。程序调试正确后,生成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论