浙江省诸暨市2023-2024学年高二上学期期末检测技术试题-高中信息技术_第1页
浙江省诸暨市2023-2024学年高二上学期期末检测技术试题-高中信息技术_第2页
浙江省诸暨市2023-2024学年高二上学期期末检测技术试题-高中信息技术_第3页
浙江省诸暨市2023-2024学年高二上学期期末检测技术试题-高中信息技术_第4页
浙江省诸暨市2023-2024学年高二上学期期末检测技术试题-高中信息技术_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

诸暨市20232024学年第一学期期末考试试题高二技术第一部分信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1.下列对数据概念的描述中,不正确的是()A.数据是对客观事物属性的描述 B.数据是记录下来的某种可以识别的符号C.数据是信息的载体 D.数据就是数值【答案】D【解析】【详解】本题主要考查数据的描述。数据是对客观事物属性的描述;数据是记录下来的某种可以识别的符号;数据是信息的载体;数据可以是数值、文本、图像等,故本题选D选项。2.下列数据结构中属于线性数据结构的是()①数组②栈③队列④链表⑤树A.①②③④⑤ B.①②③④ C.①②④⑤ D.①②③⑤【答案】B【解析】【详解】本题主要考查数据结构的描述。线性结构是一个有序数据元素的集合,如数组、栈、链表和队列。树结构属于非线性结构,故本题选B选项。3.关于数据项与数据元素的描述,下面说法不正确的是()A.数据元素可由若干数据项组成B.同一数据元素中各数据项的数据类型必须相同C.数据项是数据的最小单位,通常用来描述实体的某种属性D.数据元素是数据的基本单位,在计算机中通常作为一个整体来处理【答案】B【解析】【详解】本题考查的知识点是数据项与数据元素描述。同一数据元素中的数据项可以具有不同的数据类型。例如,在一个记录学生信息的元素中,姓名项可能是一个字符串类型,年龄项可能是一个整数类型,性别项可能是一个布尔类型(0或1)。因此,同一数据元素中各数据项的数据类型并不需要完全相同,同一数据元素中各数据项的数据类型必须相同表述错误。故答案为B选项。4.元素1,2,3,4,5,6依次入栈,若第1个出栈元素是4,则不可能是第3个出栈的元素是()A.1 B.2 C.3 D.5【答案】A【解析】【详解】本题主要考查栈的操作。元素1,2,3,4,5,6依次入栈,若第1个出栈的元素是4,说明进栈顺序为1,2,3,4,此时先出栈4,可以继续出栈3,2,所以有可能为2;还有就是进5出5,再出3,所以可能为3;还有可能进5、6,再出6和5,因此有可能为5,不可能为元素1,故本题选A选项。5.有1个队列,队首到队尾的元素依次为H,C,B,I,E。约定:T操作是指队列中1个元素出队后再入队,Q操作是指队列中1个元素出队。则经过TTTQTTQ系列操作后,队列中队首到队尾的元素依次为()A.B,I,E B.B,E,H C.E,H,B D.H,C,B【答案】B【解析】【详解】本题考查的是队列操作。队列操作原则是先进先出。初始队首到队尾的元素依次为:HCBIE。经过TTT操作后,队首到队尾的元素依次为:IEHCB;经过Q操作后,队首到队尾的元素依次为:EHCB;经过TT操作后,队首到队尾的元素依次为:CBEH;经过Q操作后,队首到队尾的元素依次为:BEH。故本题应选B。6.如图所示的二叉树,下列说法正确的是()A.该二叉树是一个完全二叉树 B.该二叉树的深度为4,节点D的度为2C.该二叉树的叶子节点数比非叶子节点数少一个 D.该二叉树中A是D和E的父节点【答案】C【解析】【详解】本题考查是二叉树。完全二叉树是由满二叉树而引出来的,若设二叉树的深度为h,除第h层外,其它各层(1~h1))的结点数都达到最大个数(即1~h1层为一个满二叉树),第h层所有的结点都连续集中在最左边,这就是完全二叉数。图中所示的二叉树不是一个完全二叉树;该二叉树的深度为4,节点D的度为1;该二叉树的叶子节点数(3)比非叶子节点数(4)少一个;A是B和C的父节点。故本题应选C。7.已知一棵二叉树的后序遍历为CDAFEBG,中序遍历为CADGFBE,则该二叉树的前序遍历序列为()A.GACBDFE B.GACDBFE C.GACDBEF D.GCADBEF【答案】B【解析】【详解】本题考查是二叉树的遍历。依据题意可知该二叉树如下:故该二叉树前序遍历序列为:GACDBFE。选项B正确。8.有如下Python程序:minx=int(input())n=int(input())foriinrange(n):x=int(input())ifx<minx:minx=xprint(minx)上述算法的时间复杂度为()A.0(1) B.0(1og2n) C.0(n) D.0(n2)【答案】C【解析】【详解】本题考查时间复杂度。在程序中,有一个循环foriinrange(n):,它会执行n次。每次循环中,都会执行一些常数时间的操作,如读取输入、比较大小、更新最小值。因此,这个循环的时间复杂度为O(n),表示与输入规模n成正比。故答案为:C。9.某Python程序如下:s=input("请输入字符串:")ans=""a=[1,2,3]foriinrange(len(s)):x=s[i]key=a[i%3]if"A"<=s[i]<="Z":ans=ans+chr((ord(x)65+key)%26+65)else:ans=ans+xprint(ans)执行该程序后,输入"B2d5C3"输出的结果为()A.66d4CE B.C2d5E3 C.C4g6E6 D.6E6g4C【答案】B【解析】【详解】本题主要考查Python程序的执行。分析程序可知,key=a[i%3],a=[1,2,3],即key依次取1、2、1、2……,当s[i]是大写字母时,执行ans=ans+chr((ord(x)65+key)%26+65),即将该字母循环后移key个长度再拼接到ans中,当s[i]是其他字符时,直接拼接到ans中,输入"B2d5C3",大写字母B、C变为C、E,其余字符不变,因此输出的结果是C2d5E3,故本题选B选项。10.有如下Python程序段:deff(n):ifn<2:return0elifn%2==0:returnn+f(n2)else:returnf(n1)n=int(input())print(f(n))若输入n的值为100,则程序运行后,输出的结果是()A.100 B.2500 C.2550 D.5050【答案】C【解析】【详解】本题考查Python程序设计相关内容。本题涉及到递归算法的应用。计算f(100)的值,由f(n)函数可以得到如下递推关系式:f(100)=100+f(98),f(98)=98+f(96),f(96)=96+f(94),……,f(2)=2+f(0),f(0)=0,f(101)=100+98+96+……+2=(100+2)*50/2=2550。故本题答案是C选项。11.有如下Python程序:a=[1]*6b=[96,80,84,90,93,86]n=len(b)foriinrange(n1):forjinrange(i+1,n):ifb[j]>b[i]:a[i]+=1else:a[j]+=1运行程序,列表a的值为()A.[0,5,4,2,1,3] B.[1,6,5,3,2,4] C.[5,0,1,3,4,2] D.[6,1,2,4,5,3]【答案】B【解析】【详解】本题考查Python程序。程序的目标是根据列表b中元素的大小来更新列表a中的值。程序中有两个嵌套的循环,外部循环遍历列表b中的元素,内部循环遍历从外部循环当前索引到列表末尾的元素。在内部循环中,根据元素的大小比较来更新列表a中的值。当b[j]>b[i]时,说明b[j]比b[i]大,则a[i]的值应该加1;否则,b[j]比b[i]小或相等,则a[j]的值应该加1。根据程序的逻辑,运行后列表a的值应该是[1,6,5,3,2,4]。故答案为:B。12.有如下Python程序段:a=[34,35,38,41,41,41,45,45,69,78]i=0;j=9;key=45;n=0whilei<=j:m=(i+j)//2n+=1ifkey<a[m]:j=m1else:i=m+1该程序段运行结束后,下列说法正确的是()A.i的值是7 B.j的值是8 C.m的值是6 D.n的值是3【答案】D【解析】【详解】本题考查的是二分查找。程序执行过程,变量变化如下:

ma[m]ijn初始

090第一轮循环441591第二轮循环745892第三轮循环869873由上表可知,选项D正确。二、非选择题(本大题共3小题,其中第13题8分,第14题8分,第15题10分,共26分)13.一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数。现求所有小于等于n的与7无关的正整数的平方和。(1)实现上述功能的部分Python程序如下,请在划线处填入合适的代码。n=int(input())sum=0foriinrange(n):①____ifi%7==0:flag=Truem=iwhile:if②____flag=Truem//=10ifflag==False:sum=③____print(sum)(2)程序中加框处代码有错,请改正,修改代码为:_____________________。【答案】①.flag=False②.m%10==7③.sum+i*i④.m>0或m!=0【解析】【详解】本题考查Python程序设计相关内容。分析题意及代码段可知,先排除能7整除的数,flag为标志是否为7相关的数,故①处为:flag=False;接着判断某一位上的数字是否为7,故②处为:m%10==7;求所有小于等于n的与7无关的正整数的平方和,故③处为:sum+i*i;m获得i的值后,判断每一位上的数字是否为7,故加框处代码应改为:m>0或m!=0。14.从一个文本文件中读入一篇英语文章,统计文章中各个英语单词的出现次数,并找出出现次数最多的单词与该词出现的次数。下面二个图分别为读入的文章与程序运行结果:DearMike,Ihopethisemailfindsyouwell.IamwritingtoinviteyoutotakepartinaresearchprojectIamconductingcalled“ChineseCuisineinMyEyes.”TheaimofthissurveyistoexploredifferentperceptionsofChinesefood,especiallyfromindividualswithdiverseculturalbackgroundslikeyourself.Thesurveywillcoverarangeoftopics,includingyourfavoriteChinesedishes,yourthoughtsontheflavorsandpresentationofChinesecuisine,andanyoverallexperiencesyou'vehadwithChinesefood.Yourparticipationandhonestfeedbackwouldbeincrediblyvaluableinprovidinginsightfulideasformyresearch.Pleasebeassuredthatallresponseswillonlybeusedforresearchpurposes.Thesurveyshouldtakeapproximately10minutestoplete.Yourparticipationwouldbegreatlyappreciated.Lookingforwardtohearingyourthoughtsonthisfascinatingtopic.Yours,LiHua总共单词个数为161出现最多的单词为to其次数为5defopenfile():withopen("art.txt","r")asf:lines=f.readlines()content=""forlineinlines:content+=linereturncontentst=openfile()dic={}①____word=""foriinrange(len(st)):ch=st[i]if"a"<=ch<="z"or"A"<=ch<="Z":if"A"<=ch<="Z":ch=chr(②____)word+=chelse:num+=1iflen(word)>0:ifwordnotindic:③____else:dic[word]+=1word=""max1=0w=""forwordindic:if④____:max1=dic[word]w=wordprint("总共单词个数为",num)print("出现最多的单词为",w,"其次数为",max1)【答案】①.num=0②.ord(ch)+32③.dic[word]=1④.dic[word]>max1【解析】【详解】本题考查的是Python综合应用。num是记录总单词数,故①处应为:num=0;读取到大写字母要转换为小写字母,故②处应为:ord(ch)+32;如果word不在字典dic中,表明是新出现的单词应统计为1,故③处应为:dic[word]=1;max1表示出现最多的单词次数,如果找到有比max1大,则要更新max1,故④处应为:dic[word]>max1。15.随机产生n个正整数存放到数组a中,实现降序排序,降序关系存储在链表link中(即a[head]>a[link[head]],head为链表头指针)。现从键盘上输入m个数据,若输入数据已在该降序序列中,则将它从该序列中删除;若不在该序列中,则添加该数据到序列中,使得该序列依然有序。例如:随机产生6数据。其数据存贮如下所示:数据a=[41,12,36,23,33,37]链表link=[5,1,4,1,3,2」表头指针head=0(注:a[head]=41,a[link[head]]=37)现在输入2个数据。输入第1个数据为30,对应数据修改为:数据a=[41,12,36,23,33,37,30]链表link=[5,–1,4,1,6,2,3]表头指针head=0(1)输入第2个数据为33时,对应的操作为____(删除/插入)。(2)为实现功能,请在划线处填上合适代码。importrandomdefmakeorder(n):#产生n个节点的降序列表#代码略returna,link,headdefdellink(head,link,p):#H删除节点pifhead==p:①____else:q=head whilelink[q]!=p: q=link[q]②____returnheaddefprintlink(head,link,a):#输出链表,代码略n=int(input("#输入个数:"))a,link,head=makeorder(n)pri

温馨提示

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

评论

0/150

提交评论