资源简介 登录二一教育在线组卷平台 助您教考全无忧浙江省宁波市重点中学2022-2023学年高二下学期信息技术(选考)期中考试试卷一、选择题(本大题共12小题,每题2分,共24分。在每小题给出的四个选项中,只有一个是符合题目要求的。)1.下列关于数据的说法,正确的是( )A.大数据分析时,要确保每个样本准确,以便探求事物因果关系B.信息是数据经过存储、分析及解释后所产生的意义C.模拟数据数字化的过程是先量化然后再采样D.计算机只能处理二进制和十六进制的数据【答案】B【知识点】数据、知识、智慧的定义与特征;数字化概念与作用;数字信号与模拟信号;大数据思维【解析】【解答】选项A错误,大数据不再追求精确性,也不再探求事物因果关系;选项B正确,信息的概念是数据经过存储、分析及解释后所产生的意义;选项C错误,模拟数据数字化是先采样再量化最后编码;选项D错误,计算机只能处理二进制数据;故正确答案为B。【分析】本题考查信息概念、数据编码和大数据思维。大数据思维,第一,大数据要分析的是全体数据,而不是抽样数据,第二,数据不再追求精确性,而是能够接受数据的混杂性,第三,不一定强调对事物因果关系的探求,而是更加注重它们的相关性。模式数据数字化需要经过三个阶段:采样,量化和编码。2.某算法流程图如图所示,若输入 x 的值为 10,则该算法执行后,下列说法正确的是( )A.x%i=0执行了 3次 B.变量 cnt的值为3C.变量 i的值为9 D.循环体执行次数为4【答案】B【知识点】流程图识读【解析】【解答】列表法解答,x=10;i=1;cnt=0i<=x-1;x%i=0;cnt=1;i=2i<=x-1;x%i=0;cnt=2;i=3i<=x-1;x%i=1;i=4i<=x-1;x%i=2;i=5i<=x-1;x%i=0;cnt=3;i=6i<=x-1;x%i=4;i=7i<=x-1;x%i=3;i=8i<=x-1;x%i=2;i=9i<=x-1;x%i=1;i=10i>x-1;循环结束选项A错误,x%i共执行了9次;选项B正常,程序结束cnt的值为3;选项C错误,程序结束变量i的值为10;选项D错误,循环体执行了9次;故正确答案为B。【分析】本题考查用算法解决问题的过程即流程图。在做流程图时最常见的也是最实用的方法就是列表法,但在列表法的同时最好能总结,这样可以不用做完,可总结出规律可有效加速做题速度。阅读材料,回答问题小郑为家庭搭建了“校园室内环境实时监测系统”,其中使用智能终端监测室内温度、湿度等数据并将数据传输至服务器进行存储与处理。该系统结构示意图如图所示。Web 服务器端程序采用 Flask Web框架开发,传感器采集的数据由智能终端经IoT模块发送到Web服务器,执行器用于实现室内温湿度、通风和报警控制。请回答下列问题:3.有关搭建该系统所采用的开发模式特点描述中,不正确的是( )A.该系统架构的应用程序的升级和维护都可以在服务器端完成,降低了成本和工作量B.该架构服务器的负荷较重,对网络的依赖性较高C.该系统为B/S架构,是对 C/S 架构改进后产生的一种软件系统体系结构D.该架构可以充分利用客户端与服务器端的硬件环境的优势,将任务合理地分配到客户端和服务器端4.下列关于上面“校园室内环境实时监测系统”的说法中不正确的是( )A.组成该系统的硬件部分主要包含网络设备、传感设备、Web 服务器、智能终端等B.该信息系统由硬件、软件和用户三部分构成C.该信息系统在断电的情况下无法运行,说明该系统对外部环境有依赖性D.若该信息系统使用数据库存储数据,则服务器端需要安装数据库管理系统【答案】3.D4.B【知识点】信息系统的组成及功能;计算机系统的组成;信息系统的优势与局限;搭建信息系统的前期准备【解析】【分析】本大题考查信息系统知识,通过校园室内环境实时监测系统为背景,考查学生对开发模式知识点的掌握,考查信息系统的组成,存储及信息系统的局限性。3.题干中用到了Web服务器,故改系统采用的开发模式为B/S模式。选项A正确,B/S模式应用程序的升级和维护都在服务器端完成,也降低成本和工作量;选项B正确,B/S模式服务器的特点,服务器负荷较重,对网络依赖高;选项C正确,B/S模式时对C/S的改进,为了方便用户,不用特意下载程序;选项D错误,改系统没有客户端;故答案为D。4.选项A正确,信息系统的硬件表述对的;选项B错误,信息系统是有硬件、软件、用户、数据和通信网络;选项C正确,信息系统对外部环境有依赖性;选项D正确,信息系统使用数据库存储前提是按照数据库管理系统;故答案为B。5.下列关于人工智能的说法,正确的是( )A.AlphaGo 从围棋跨界到电力控制领域,属于混合增强智能B.家用扫地机器人属于联结主义人工智能方法的研究应用C.符号主义的智能行为是对符号的推理和运算D.人工智能的应用不可能威胁到个人和公共信息安全【答案】C【知识点】人工智能的概念与特征;人工智能的应用;人工智能对社会的影响【解析】【解答】选项A错误,AlphaGo从围棋跨界到电力控制领域,属于跨领域人工智能;选项B错误,家用扫地机器人属于行为注意人工智能;选项C正确,符号注意的概念就是对符号的推理和运算;选项D错误,人工智能的应用可能威胁到个人和公共信息安全;故答案为C。【分析】本题考查人工智能概念知识。能区分领域人工智能(本专业强)、跨领域人工智能(本专业强再到其他专业工作)、混合增强智能(人和机器配合);记忆不同人工智能概念的区别,记忆人工智能带来的社会担忧。6.下列有关网络相关内容的说法,不正确的是( )A.计算机网络、移动通信网络、广播电视网络现已成为覆盖面广、影响力大的三大网络B.网络互联设备主要包括调制解调器、路由器和交换机等C.网络中的资源仅仅是指网络中的所有数据资源D.按网络的覆盖范围进行分类,可将计算机网络分为局域网、城域网和广域网三类【答案】C【知识点】计算机网络概念、功能与组成;计算机网络的分类;网络中的信息载体、通信线路和连接设备【解析】【解答】选项A正确,现三大网络是计算机网络、移动通信网络、广播电视网络;选项B正确,现在主要网络设备有调制解调器(家用),路由器和交换机;选项C错误,网络资源包括数据资源和软硬件资源;选项D正确,计算机网络按网络覆盖分为局域网、城域网和广域网;故答案为C。【分析】本题考查当今主流网络,网络通信设备,网络资源,网络覆盖等网络基础知识。7.有以下 python 程序段:a = [0]*4for i in range(1,4):j = 0a[j] += 1while a[j] == 2:a[j] = 0j += 1a[j] += 1执行该程序段后a的内容是( )A.[1,1,0,0] B.[1,0,1,0] C.[0,1,1,0] D.[0,1,0,1]【答案】A【知识点】常见数据类型、数组;循环结构语句及程序实现【解析】【解答】可用列表法做题:a = [0,0,0,0]i=1j=0; a[0]=1; a[0]==2 否 #a=[1,0,0,0]i=2j=0; a[0]=2; a[0]==2 是 #a=[2,0,0,0]a[0]=0; j=1;a[1]=1;a[1]==2否 #a=[0,1,0,0]i=3j=0; a[0]=1; a[0]==2 否 #a=[1,1,0,0]故答案为A。【分析】本题考查Python程序的双重循环和列表a中值的变化,这类题目无非就是考查大家对基本结构的掌握和变量的变化。for外循环range(1,4),循环体做几次?变量i的值范围(1,2,3),就是3次;while a[j]==2 ,while的条件a[j]==2,这个条件是进入while内循环的前提,也是while循环继续做的条件,一旦满足a[j]==2 ,while内的代码不执行。8.有 1 个队列,队首到队尾的元素依次为 7,9,11,8。若队首元素是奇数则先出队,再将奇数整除2后重新入队,若队首元素是偶数,直接出队。出队或者入队都算1次操作,经过 6 次操作后,队列中队首到队尾的元素依次为( )A.4,5 B.8,4,5 C.8,3,4 D.8,3,4,5【答案】D【知识点】基本数据结构【解析】【解答】题干两种做法,奇数先出队,再整除2入队;偶数直接出队;队列:7,9,11,87为奇:9,11,8,3(2次操作)9为奇:11,8,3,4(2次操作)11为奇:8,3,4,5(2次操作)所以选项A错误,选项B错误,选项C错误,选项D正确,故正确答案为D。【分析】本题考查数据结构中队列出队和入队操作。该题需要大家知道队列的概念和特点,出队,删除队首元素;入队,增加新元素到队尾。操作次数说明,出队算1次,入队算1次,出队再入队算2次,这个点应该最容易错。9.有一个空栈,若元素"X"、"i"、"a"、"o"、"s"、"h"、"i"依次入栈,其中"o"第一个出栈。则当所有元素全部出栈后,下列说法正确的是( )A.出栈的最后一个元素一定为"X"B.出栈的最后一个元素一定为"i"C.元素“a”一定比"X"、"i"先出栈D.元素"X"、"i"、"a"出栈次序不确定【答案】C【知识点】基本数据结构【解析】【解答】空栈, 元素"X"、"i"、"a"、"o"、"s"、"h"、"i"依次入栈 ,其中"o"第一个出栈,那说明此时栈中栈底~栈顶为:"X"、"i"、"a"。选项A错误,出栈最后一个原始一定为"X"是错误的,出栈顺序可o,a,i,X,s,h,i;选项B错误,出栈顺序可o,s,h,i,a,i,X;选项C正确,因为o出栈后,栈底~栈顶为:"X"、"i"、"a",所以a一定比X,i先出栈选项D错误,栈底~栈顶为:"X"、"i"、"a"出栈顺序固定了,一定是a,i,X;故答案为C。【分析】本题考查栈的知识,能理解栈中元素从栈顶到栈底元素依次出栈,且顺序固定。题干说某些元素依次入栈,入栈顺序没有固定,故出栈顺序也不固定,须注意。做此类题目多参考弹夹上子弹,压入子弹到弹夹,可压入一颗子弹,打一枪,也可压入多颗子弹,依次打完,还可压满弹夹,依次打完,方法很多。10.导入math模块后,Python 表达式-2**4+2%10/math.sqrt(4)*2的输出值显示为( )A.-14.0 B.-14 C.-15.5 D.-16【答案】A【知识点】运算符、基本运算与表达式【解析】【解答】做题顺序:-16+2%10/ math.sqrt(4) *2=-16+2/ math.sqrt(4) *2=-16+2/2.0*2=-16+1.0*2=-14.0故答案为A。【分析】本题考查python表达式及运算优先级。需要记忆题干中“**”优先于其他,所以先算,但要注意不是(-2)**4。后面运算符依次计算即可。本题还要注意整数和实数计算,结果为实数(1*1.0=1.0)。11.有如下 python 程序段:import randomtotal=10num=[0]*totalfor i in range(total):num[i]=random.randint(1,100)m1,m2=len(num)-1,len(num)-1for i in range(len(num)):if num[i]>num[m2]:m1=m2;m2=ielif num[i]>num[m1]:m1=iprint(m2,m1)假设当前num=[47, 4, 46, 75, 52, 6, 71, 81, 34, 11],则该程序段运行后的输出结果为( )A.2 5 B.3 7 C.5 2 D.7 3【答案】D【知识点】常见数据类型、数组;查找算法及程序实现【解析】【解答】total=10; num=[0,0,0,0,0,0,0,0,0,0]for i in range(10):num[i] = random.randint(1,100) #num随机产生10个范围[1,100]的整数m1=9; m2=9for i in range(10):if num[i] > num[m2]: #i的值从0~9,所以比较的是num[0]>num[m2]m1=m2;m2=i #i位置的数据大于m2位置的数据,则m1移动到m2位置,m2移动到i的位置elif num[i] > num[m1]:m1=i #i位置上的数据大于m1位置的数据,变量m1移动到i的位置从上面的解题,大概可得出结论,通过分支结构可看出,循环语句再找最大值和次大值的下标。所以num=[47, 4, 46, 75, 52, 6, 71, 81, 34, 11],那么最大值和次大值分别为81和75,所以下标分别为7和3,所以m2和m1分别为7和3。故答案为D。【分析】本题考查顺序查找算法。顺序查找算法查找一个最大值或最小值,现在的难点是找两个,最大值和次大值。那么怎么让最大值和次大值的下标移动,这是本题的难点,需要大家好好细品这种找的模式。12.某二分查找算法的程序段如下:a = [11,13,14,25,26,28,39,48]key=int(input("key="))n=len(a)i=0;j=n-1flag=Falsewhile i<=j and not flag:m=(i+j+1)//2if a[m]==key:flag=Trueif a[m]>key:j=m-1else:i=m+1若key输入的值是 39, 则运行程序段后,以下变量的值不正确的是 ( )A.flag = True B.i = 6 C.j = 7 D.m = 6【答案】B【知识点】查找算法及程序实现【解析】【解答】初值:i=0 ; j=7循环:m=4 ; a[m]<39 ; i =5m=6 ; a[m]=39 ; flag=True ; i=7故答案为B。【分析】本题考查经典二分查找算法,但本算法稍微有点变化,第一,用flag变量表示找到,所以循环就会结束;第二,找中间值m时用了右偏(当有偶数个数据时,中间有两个,默认写法是左偏,即m=i+j;本题用了右偏的写法m=i+j+1)。第三,找到后,还会继续执行分支结构if...else...中的else语句,所以i变量还会再做一遍。这个容易做错。二、非选择题(本大题共3小题,每空2分,共26分)13.学校某届校运会各项目获奖情况记录在“校运会.xlsx”文件中,其中的部分成绩如图所示。为了统计冠军最多的班级并颁发“冠军团队”荣誉证书,现对数据进行处理。(1)编排室的同学用整理好的数据,编写了Python 程序,用于统计冠军人数最多的前3个班级,按人数降序排序。部分程序如下,请在划线处填入合适的代码。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams["font.sans-serif"] = ["SimHei"] #使中文正常显示df = pd. ("校运会.xlsx")df1 = pd.DataFrame(df,columns=["班级","名次"])df2 = df1[ ==1] #筛选名次为1的记录g = df2.groupby("班级", ).count()g = g.rename(columns={"名次":"冠军人数"}) #更改"名次"列名称为"冠军人数"datas = g.sort_values("冠军人数",ascending=False).head(3)plt.title("冠军人数前3班级")plt.xlabel("班级")plt.ylabel("人数")plt.bar(datas["班级"] ,datas["冠军人数"],label="人数")plt.legend()plt.show()(2)在对表格进行数据整理时发现,关于B2单元格的数据即“郑微”同学的记录中可能存在的数据问题是 (单选,填字母:A .数据缺失 B .数据异常 )。【答案】(1)read_excel;df1.名次;as_index=False(2)B【知识点】常见的数据问题;编程处理数据与可视化【解析】【解答】(1)第一空:读取excel文件语句, pd.read_excel('***.xlsx'),故答案为:read_excel;第二空:筛选“名次”列中符合条件的记录,写法选取列再比较条件df[df['列名']+条件],故答案为:df1['名次']或df1.名次;第三空:groupby('列名',as_index=True), as_index=True表示“列名”为索引,该参数值为False表示“列名”为正常列。故答案为:as_index=False。(2)数据缺失为没有数据,数据异常表示和正常数据不一样的表示或写法,故答案为:B。【分析】本大题考查python中pandas的读取文件、筛选数据、分组等基本操作和大数据的数据问题。需要记忆正常的读取文件的操作,不知读取excel文件,还有CSV文件,读取文件为pd.read_csv('***.csv')。筛选数据行的正常操作df[ df['列名']+条件 ],也可写成df[ df.列名'+条件 ],但考试时建议写前者,后者容易出错(原因是列名中以数字开头,程序会报错)。groupby('列名',as_index=True)和groupby('列名',as_index=False)的区别,前者参数表示“列名”为索引,后者表示“列名”为正常数据列。大数据的数据问题,数据缺失很好理解,就是没有数据,但是数据异常、数据逻辑错误和格式不一致需要能区分。14.小郑最近在研究中国传统的周易文化,他结合加密算法设计了一个程序,算法如下:①任意输入三个大小写字母,转换成其对应的十进制ASCII码值。②将每个字母的十进制ASCII 码值再转成八位二进制,并截取这八位二进制最左边4位二进制数,然后统计这四位二进制数中1的个数,如果有偶数个或零个1则结果记录为 1,有奇数个1则结果记录为 0。③将三个字母对应的记录结果顺序连接后得到三位卦象代码,按照表格规则查询到相应卦名。例如 “aaa”相应的卦名为:“乾”。实现上述功能的部分Python程序如下,请根据题意补充完整:b = {'111':'乾','011':'兑','101':'离','001':'震','110':'巽','010':'坎','100':'艮 ','000':'坤'}s=input("请输入三个大小写字母:")result=""for i in range(0,len(s)):ch= #求出字母其对应的十进制ASCII码值c=0ch1= #截取最左边四位二进制数for j in range(0,4):if ch1%2==1: ch1=ch1//2if c%2==0:result+="1"else:result+="0"print(b[ ]+"卦")【答案】ord(s[i]);ch//2**4;c=c+1;result【知识点】加密与解密算法;进制及数制转换【解析】【解答】第1空:根据题干和本空右侧的解释,该空是把字符串s中的字符串取出s[i],然后转成十进制数ord(s[i]),故答案为:ord(s[i]);第2空:根据题干和本空右侧的解释,对ch转换成二进制数,并取左边4位(高4位)二进制,但后面有for循环对ch1取二进制数,所以本题可以不用转二进制数,但需要高4位的十进制即可,所以ch//16即可,故答案为:ch//16或ch//2**4;第3空:从题干和上面语句,需要一个变量用来存放变量c用来存放每个字符1的个数,故答案为:c+=1或c=c+1;第4空:从题干和上面语句,可知result变量为卦象代码,需要从字典b中根据卦象代码取出卦象,故答案为:result。【分析】本大题考查加密算法、进制转换、字典取值等知识点。第一,应掌握字符串中读取字母转成十进制(用ord()函数);第二,难点如何取一个二进制的高几位或低几位(需要平时多练,多总结),常见用法取高3位(x//2*3),取低4位(x%2*4),所以总结是取高位用整除,取低位用取余。看程序时当前空无法找到灵感时,可不管,跳过此空,继续看下面代码然后遇到问题或者有灵感再回头。15.拼接最大数字问题。有n(n<100)个非负整数,将其按照字符串拼接的方式拼接为1个整数。小明设计了一个算法,使得拼接得到的整数最大。例如:32,94,128,1286,6,71可以拼接得到的最大整数为94716321286128。实现上述功能的Python代码如下。请回答下列问题:def bubble_sort(a):for i in range(len(a)-1):for j in range( ① ,-1): #自底向上进行冒泡排序if judge(a[j], a[j-1]):a[j], a[j-1] = a[j-1], a[j]def judge(x, y):if :return Trueelse:return Falsen = int(input("n="))# 产生n个0~1000的随机整数存入列表a中,代码略bubble_sort(a)ans = ②for i in a:ans += str( ③ )print("拼接得到的最大整数为:", ans)(1)请在划线处填入合适的代码:① ② ③ (2)121,12,3拼接得到的最大整数为 。(3)程序加框处代码有错误,请修改。【答案】(1)len(a)-1, i;"" 或 '';i(2)312121(3)str(x)+str(y) > str(y)+str(x) 或 str(x)+str(y)>=str(y)+str(x)【知识点】过程与自定义函数;排序算法及程序实现【解析】【解答】(1)第1空:内循环解释说冒泡紫底向上排序,就是从后(右)向前(左),再看下面比较的是a[j]和a[j-1],所以最后一个是len(a)-1,所以排序的下标是len(a)-1到1,因需要优化,因range()函数结束取不到,那么1改成0即可;第2空:根据print()函数可知变量ans是用于存储结果,再看循环语句,变量ans不断增加字符;第3空:从列表a中不断取值,转成字符串,再添加到ans末尾;故答案为:len(a)-1,i;“”;i。(2)根据字符串大小排序,再连接"3" > "121" > "12" ,故答案为:312121;(3) 根据题干和程序,可知冒泡是从右向左推,推大的字符串,所以列表是降序。因为是字符串比较,所以需要将两个字符串连接后再比较大小,才能正确的比出大小,故答案为: str(x)+str(y) > str(y)+str(x) 。【分析】本大题是程序的综合应用,考查冒泡算法思想、自定义函数的应用和字符串比较大小等综合,需要掌握冒泡排序、冒泡的方向。本题比较难理解的是两个字符串比较,为什么要连接了再比较,“9373”>“937”,连接后“9373937”<“9379373”;所以单个字符串大的,连接后比较可能单个字符串小的反而在前面,这就是字符串的特点,需要记忆。二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1登录二一教育在线组卷平台 助您教考全无忧浙江省宁波市重点中学2022-2023学年高二下学期信息技术(选考)期中考试试卷一、选择题(本大题共12小题,每题2分,共24分。在每小题给出的四个选项中,只有一个是符合题目要求的。)1.下列关于数据的说法,正确的是( )A.大数据分析时,要确保每个样本准确,以便探求事物因果关系B.信息是数据经过存储、分析及解释后所产生的意义C.模拟数据数字化的过程是先量化然后再采样D.计算机只能处理二进制和十六进制的数据2.某算法流程图如图所示,若输入 x 的值为 10,则该算法执行后,下列说法正确的是( )A.x%i=0执行了 3次 B.变量 cnt的值为3C.变量 i的值为9 D.循环体执行次数为4阅读材料,回答问题小郑为家庭搭建了“校园室内环境实时监测系统”,其中使用智能终端监测室内温度、湿度等数据并将数据传输至服务器进行存储与处理。该系统结构示意图如图所示。Web 服务器端程序采用 Flask Web框架开发,传感器采集的数据由智能终端经IoT模块发送到Web服务器,执行器用于实现室内温湿度、通风和报警控制。请回答下列问题:3.有关搭建该系统所采用的开发模式特点描述中,不正确的是( )A.该系统架构的应用程序的升级和维护都可以在服务器端完成,降低了成本和工作量B.该架构服务器的负荷较重,对网络的依赖性较高C.该系统为B/S架构,是对 C/S 架构改进后产生的一种软件系统体系结构D.该架构可以充分利用客户端与服务器端的硬件环境的优势,将任务合理地分配到客户端和服务器端4.下列关于上面“校园室内环境实时监测系统”的说法中不正确的是( )A.组成该系统的硬件部分主要包含网络设备、传感设备、Web 服务器、智能终端等B.该信息系统由硬件、软件和用户三部分构成C.该信息系统在断电的情况下无法运行,说明该系统对外部环境有依赖性D.若该信息系统使用数据库存储数据,则服务器端需要安装数据库管理系统5.下列关于人工智能的说法,正确的是( )A.AlphaGo 从围棋跨界到电力控制领域,属于混合增强智能B.家用扫地机器人属于联结主义人工智能方法的研究应用C.符号主义的智能行为是对符号的推理和运算D.人工智能的应用不可能威胁到个人和公共信息安全6.下列有关网络相关内容的说法,不正确的是( )A.计算机网络、移动通信网络、广播电视网络现已成为覆盖面广、影响力大的三大网络B.网络互联设备主要包括调制解调器、路由器和交换机等C.网络中的资源仅仅是指网络中的所有数据资源D.按网络的覆盖范围进行分类,可将计算机网络分为局域网、城域网和广域网三类7.有以下 python 程序段:a = [0]*4for i in range(1,4):j = 0a[j] += 1while a[j] == 2:a[j] = 0j += 1a[j] += 1执行该程序段后a的内容是( )A.[1,1,0,0] B.[1,0,1,0] C.[0,1,1,0] D.[0,1,0,1]8.有 1 个队列,队首到队尾的元素依次为 7,9,11,8。若队首元素是奇数则先出队,再将奇数整除2后重新入队,若队首元素是偶数,直接出队。出队或者入队都算1次操作,经过 6 次操作后,队列中队首到队尾的元素依次为( )A.4,5 B.8,4,5 C.8,3,4 D.8,3,4,59.有一个空栈,若元素"X"、"i"、"a"、"o"、"s"、"h"、"i"依次入栈,其中"o"第一个出栈。则当所有元素全部出栈后,下列说法正确的是( )A.出栈的最后一个元素一定为"X"B.出栈的最后一个元素一定为"i"C.元素“a”一定比"X"、"i"先出栈D.元素"X"、"i"、"a"出栈次序不确定10.导入math模块后,Python 表达式-2**4+2%10/math.sqrt(4)*2的输出值显示为( )A.-14.0 B.-14 C.-15.5 D.-1611.有如下 python 程序段:import randomtotal=10num=[0]*totalfor i in range(total):num[i]=random.randint(1,100)m1,m2=len(num)-1,len(num)-1for i in range(len(num)):if num[i]>num[m2]:m1=m2;m2=ielif num[i]>num[m1]:m1=iprint(m2,m1)假设当前num=[47, 4, 46, 75, 52, 6, 71, 81, 34, 11],则该程序段运行后的输出结果为( )A.2 5 B.3 7 C.5 2 D.7 312.某二分查找算法的程序段如下:a = [11,13,14,25,26,28,39,48]key=int(input("key="))n=len(a)i=0;j=n-1flag=Falsewhile i<=j and not flag:m=(i+j+1)//2if a[m]==key:flag=Trueif a[m]>key:j=m-1else:i=m+1若key输入的值是 39, 则运行程序段后,以下变量的值不正确的是 ( )A.flag = True B.i = 6 C.j = 7 D.m = 6二、非选择题(本大题共3小题,每空2分,共26分)13.学校某届校运会各项目获奖情况记录在“校运会.xlsx”文件中,其中的部分成绩如图所示。为了统计冠军最多的班级并颁发“冠军团队”荣誉证书,现对数据进行处理。(1)编排室的同学用整理好的数据,编写了Python 程序,用于统计冠军人数最多的前3个班级,按人数降序排序。部分程序如下,请在划线处填入合适的代码。import pandas as pdimport matplotlib.pyplot as pltplt.rcParams["font.sans-serif"] = ["SimHei"] #使中文正常显示df = pd. ("校运会.xlsx")df1 = pd.DataFrame(df,columns=["班级","名次"])df2 = df1[ ==1] #筛选名次为1的记录g = df2.groupby("班级", ).count()g = g.rename(columns={"名次":"冠军人数"}) #更改"名次"列名称为"冠军人数"datas = g.sort_values("冠军人数",ascending=False).head(3)plt.title("冠军人数前3班级")plt.xlabel("班级")plt.ylabel("人数")plt.bar(datas["班级"] ,datas["冠军人数"],label="人数")plt.legend()plt.show()(2)在对表格进行数据整理时发现,关于B2单元格的数据即“郑微”同学的记录中可能存在的数据问题是 (单选,填字母:A .数据缺失 B .数据异常 )。14.小郑最近在研究中国传统的周易文化,他结合加密算法设计了一个程序,算法如下:①任意输入三个大小写字母,转换成其对应的十进制ASCII码值。②将每个字母的十进制ASCII 码值再转成八位二进制,并截取这八位二进制最左边4位二进制数,然后统计这四位二进制数中1的个数,如果有偶数个或零个1则结果记录为 1,有奇数个1则结果记录为 0。③将三个字母对应的记录结果顺序连接后得到三位卦象代码,按照表格规则查询到相应卦名。例如 “aaa”相应的卦名为:“乾”。实现上述功能的部分Python程序如下,请根据题意补充完整:b = {'111':'乾','011':'兑','101':'离','001':'震','110':'巽','010':'坎','100':'艮 ','000':'坤'}s=input("请输入三个大小写字母:")result=""for i in range(0,len(s)):ch= #求出字母其对应的十进制ASCII码值c=0ch1= #截取最左边四位二进制数for j in range(0,4):if ch1%2==1: ch1=ch1//2if c%2==0:result+="1"else:result+="0"print(b[ ]+"卦")15.拼接最大数字问题。有n(n<100)个非负整数,将其按照字符串拼接的方式拼接为1个整数。小明设计了一个算法,使得拼接得到的整数最大。例如:32,94,128,1286,6,71可以拼接得到的最大整数为94716321286128。实现上述功能的Python代码如下。请回答下列问题:def bubble_sort(a):for i in range(len(a)-1):for j in range( ① ,-1): #自底向上进行冒泡排序if judge(a[j], a[j-1]):a[j], a[j-1] = a[j-1], a[j]def judge(x, y):if :return Trueelse:return Falsen = int(input("n="))# 产生n个0~1000的随机整数存入列表a中,代码略bubble_sort(a)ans = ②for i in a:ans += str( ③ )print("拼接得到的最大整数为:", ans)(1)请在划线处填入合适的代码:① ② ③ (2)121,12,3拼接得到的最大整数为 。(3)程序加框处代码有错误,请修改。答案解析部分1.【答案】B【知识点】数据、知识、智慧的定义与特征;数字化概念与作用;数字信号与模拟信号;大数据思维【解析】【解答】选项A错误,大数据不再追求精确性,也不再探求事物因果关系;选项B正确,信息的概念是数据经过存储、分析及解释后所产生的意义;选项C错误,模拟数据数字化是先采样再量化最后编码;选项D错误,计算机只能处理二进制数据;故正确答案为B。【分析】本题考查信息概念、数据编码和大数据思维。大数据思维,第一,大数据要分析的是全体数据,而不是抽样数据,第二,数据不再追求精确性,而是能够接受数据的混杂性,第三,不一定强调对事物因果关系的探求,而是更加注重它们的相关性。模式数据数字化需要经过三个阶段:采样,量化和编码。2.【答案】B【知识点】流程图识读【解析】【解答】列表法解答,x=10;i=1;cnt=0i<=x-1;x%i=0;cnt=1;i=2i<=x-1;x%i=0;cnt=2;i=3i<=x-1;x%i=1;i=4i<=x-1;x%i=2;i=5i<=x-1;x%i=0;cnt=3;i=6i<=x-1;x%i=4;i=7i<=x-1;x%i=3;i=8i<=x-1;x%i=2;i=9i<=x-1;x%i=1;i=10i>x-1;循环结束选项A错误,x%i共执行了9次;选项B正常,程序结束cnt的值为3;选项C错误,程序结束变量i的值为10;选项D错误,循环体执行了9次;故正确答案为B。【分析】本题考查用算法解决问题的过程即流程图。在做流程图时最常见的也是最实用的方法就是列表法,但在列表法的同时最好能总结,这样可以不用做完,可总结出规律可有效加速做题速度。【答案】3.D4.B【知识点】信息系统的组成及功能;计算机系统的组成;信息系统的优势与局限;搭建信息系统的前期准备【解析】【分析】本大题考查信息系统知识,通过校园室内环境实时监测系统为背景,考查学生对开发模式知识点的掌握,考查信息系统的组成,存储及信息系统的局限性。3.题干中用到了Web服务器,故改系统采用的开发模式为B/S模式。选项A正确,B/S模式应用程序的升级和维护都在服务器端完成,也降低成本和工作量;选项B正确,B/S模式服务器的特点,服务器负荷较重,对网络依赖高;选项C正确,B/S模式时对C/S的改进,为了方便用户,不用特意下载程序;选项D错误,改系统没有客户端;故答案为D。4.选项A正确,信息系统的硬件表述对的;选项B错误,信息系统是有硬件、软件、用户、数据和通信网络;选项C正确,信息系统对外部环境有依赖性;选项D正确,信息系统使用数据库存储前提是按照数据库管理系统;故答案为B。5.【答案】C【知识点】人工智能的概念与特征;人工智能的应用;人工智能对社会的影响【解析】【解答】选项A错误,AlphaGo从围棋跨界到电力控制领域,属于跨领域人工智能;选项B错误,家用扫地机器人属于行为注意人工智能;选项C正确,符号注意的概念就是对符号的推理和运算;选项D错误,人工智能的应用可能威胁到个人和公共信息安全;故答案为C。【分析】本题考查人工智能概念知识。能区分领域人工智能(本专业强)、跨领域人工智能(本专业强再到其他专业工作)、混合增强智能(人和机器配合);记忆不同人工智能概念的区别,记忆人工智能带来的社会担忧。6.【答案】C【知识点】计算机网络概念、功能与组成;计算机网络的分类;网络中的信息载体、通信线路和连接设备【解析】【解答】选项A正确,现三大网络是计算机网络、移动通信网络、广播电视网络;选项B正确,现在主要网络设备有调制解调器(家用),路由器和交换机;选项C错误,网络资源包括数据资源和软硬件资源;选项D正确,计算机网络按网络覆盖分为局域网、城域网和广域网;故答案为C。【分析】本题考查当今主流网络,网络通信设备,网络资源,网络覆盖等网络基础知识。7.【答案】A【知识点】常见数据类型、数组;循环结构语句及程序实现【解析】【解答】可用列表法做题:a = [0,0,0,0]i=1j=0; a[0]=1; a[0]==2 否 #a=[1,0,0,0]i=2j=0; a[0]=2; a[0]==2 是 #a=[2,0,0,0]a[0]=0; j=1;a[1]=1;a[1]==2否 #a=[0,1,0,0]i=3j=0; a[0]=1; a[0]==2 否 #a=[1,1,0,0]故答案为A。【分析】本题考查Python程序的双重循环和列表a中值的变化,这类题目无非就是考查大家对基本结构的掌握和变量的变化。for外循环range(1,4),循环体做几次?变量i的值范围(1,2,3),就是3次;while a[j]==2 ,while的条件a[j]==2,这个条件是进入while内循环的前提,也是while循环继续做的条件,一旦满足a[j]==2 ,while内的代码不执行。8.【答案】D【知识点】基本数据结构【解析】【解答】题干两种做法,奇数先出队,再整除2入队;偶数直接出队;队列:7,9,11,87为奇:9,11,8,3(2次操作)9为奇:11,8,3,4(2次操作)11为奇:8,3,4,5(2次操作)所以选项A错误,选项B错误,选项C错误,选项D正确,故正确答案为D。【分析】本题考查数据结构中队列出队和入队操作。该题需要大家知道队列的概念和特点,出队,删除队首元素;入队,增加新元素到队尾。操作次数说明,出队算1次,入队算1次,出队再入队算2次,这个点应该最容易错。9.【答案】C【知识点】基本数据结构【解析】【解答】空栈, 元素"X"、"i"、"a"、"o"、"s"、"h"、"i"依次入栈 ,其中"o"第一个出栈,那说明此时栈中栈底~栈顶为:"X"、"i"、"a"。选项A错误,出栈最后一个原始一定为"X"是错误的,出栈顺序可o,a,i,X,s,h,i;选项B错误,出栈顺序可o,s,h,i,a,i,X;选项C正确,因为o出栈后,栈底~栈顶为:"X"、"i"、"a",所以a一定比X,i先出栈选项D错误,栈底~栈顶为:"X"、"i"、"a"出栈顺序固定了,一定是a,i,X;故答案为C。【分析】本题考查栈的知识,能理解栈中元素从栈顶到栈底元素依次出栈,且顺序固定。题干说某些元素依次入栈,入栈顺序没有固定,故出栈顺序也不固定,须注意。做此类题目多参考弹夹上子弹,压入子弹到弹夹,可压入一颗子弹,打一枪,也可压入多颗子弹,依次打完,还可压满弹夹,依次打完,方法很多。10.【答案】A【知识点】运算符、基本运算与表达式【解析】【解答】做题顺序:-16+2%10/ math.sqrt(4) *2=-16+2/ math.sqrt(4) *2=-16+2/2.0*2=-16+1.0*2=-14.0故答案为A。【分析】本题考查python表达式及运算优先级。需要记忆题干中“**”优先于其他,所以先算,但要注意不是(-2)**4。后面运算符依次计算即可。本题还要注意整数和实数计算,结果为实数(1*1.0=1.0)。11.【答案】D【知识点】常见数据类型、数组;查找算法及程序实现【解析】【解答】total=10; num=[0,0,0,0,0,0,0,0,0,0]for i in range(10):num[i] = random.randint(1,100) #num随机产生10个范围[1,100]的整数m1=9; m2=9for i in range(10):if num[i] > num[m2]: #i的值从0~9,所以比较的是num[0]>num[m2]m1=m2;m2=i #i位置的数据大于m2位置的数据,则m1移动到m2位置,m2移动到i的位置elif num[i] > num[m1]:m1=i #i位置上的数据大于m1位置的数据,变量m1移动到i的位置从上面的解题,大概可得出结论,通过分支结构可看出,循环语句再找最大值和次大值的下标。所以num=[47, 4, 46, 75, 52, 6, 71, 81, 34, 11],那么最大值和次大值分别为81和75,所以下标分别为7和3,所以m2和m1分别为7和3。故答案为D。【分析】本题考查顺序查找算法。顺序查找算法查找一个最大值或最小值,现在的难点是找两个,最大值和次大值。那么怎么让最大值和次大值的下标移动,这是本题的难点,需要大家好好细品这种找的模式。12.【答案】B【知识点】查找算法及程序实现【解析】【解答】初值:i=0 ; j=7循环:m=4 ; a[m]<39 ; i =5m=6 ; a[m]=39 ; flag=True ; i=7故答案为B。【分析】本题考查经典二分查找算法,但本算法稍微有点变化,第一,用flag变量表示找到,所以循环就会结束;第二,找中间值m时用了右偏(当有偶数个数据时,中间有两个,默认写法是左偏,即m=i+j;本题用了右偏的写法m=i+j+1)。第三,找到后,还会继续执行分支结构if...else...中的else语句,所以i变量还会再做一遍。这个容易做错。13.【答案】(1)read_excel;df1.名次;as_index=False(2)B【知识点】常见的数据问题;编程处理数据与可视化【解析】【解答】(1)第一空:读取excel文件语句, pd.read_excel('***.xlsx'),故答案为:read_excel;第二空:筛选“名次”列中符合条件的记录,写法选取列再比较条件df[df['列名']+条件],故答案为:df1['名次']或df1.名次;第三空:groupby('列名',as_index=True), as_index=True表示“列名”为索引,该参数值为False表示“列名”为正常列。故答案为:as_index=False。(2)数据缺失为没有数据,数据异常表示和正常数据不一样的表示或写法,故答案为:B。【分析】本大题考查python中pandas的读取文件、筛选数据、分组等基本操作和大数据的数据问题。需要记忆正常的读取文件的操作,不知读取excel文件,还有CSV文件,读取文件为pd.read_csv('***.csv')。筛选数据行的正常操作df[ df['列名']+条件 ],也可写成df[ df.列名'+条件 ],但考试时建议写前者,后者容易出错(原因是列名中以数字开头,程序会报错)。groupby('列名',as_index=True)和groupby('列名',as_index=False)的区别,前者参数表示“列名”为索引,后者表示“列名”为正常数据列。大数据的数据问题,数据缺失很好理解,就是没有数据,但是数据异常、数据逻辑错误和格式不一致需要能区分。14.【答案】ord(s[i]);ch//2**4;c=c+1;result【知识点】加密与解密算法;进制及数制转换【解析】【解答】第1空:根据题干和本空右侧的解释,该空是把字符串s中的字符串取出s[i],然后转成十进制数ord(s[i]),故答案为:ord(s[i]);第2空:根据题干和本空右侧的解释,对ch转换成二进制数,并取左边4位(高4位)二进制,但后面有for循环对ch1取二进制数,所以本题可以不用转二进制数,但需要高4位的十进制即可,所以ch//16即可,故答案为:ch//16或ch//2**4;第3空:从题干和上面语句,需要一个变量用来存放变量c用来存放每个字符1的个数,故答案为:c+=1或c=c+1;第4空:从题干和上面语句,可知result变量为卦象代码,需要从字典b中根据卦象代码取出卦象,故答案为:result。【分析】本大题考查加密算法、进制转换、字典取值等知识点。第一,应掌握字符串中读取字母转成十进制(用ord()函数);第二,难点如何取一个二进制的高几位或低几位(需要平时多练,多总结),常见用法取高3位(x//2*3),取低4位(x%2*4),所以总结是取高位用整除,取低位用取余。看程序时当前空无法找到灵感时,可不管,跳过此空,继续看下面代码然后遇到问题或者有灵感再回头。15.【答案】(1)len(a)-1, i;"" 或 '';i(2)312121(3)str(x)+str(y) > str(y)+str(x) 或 str(x)+str(y)>=str(y)+str(x)【知识点】过程与自定义函数;排序算法及程序实现【解析】【解答】(1)第1空:内循环解释说冒泡紫底向上排序,就是从后(右)向前(左),再看下面比较的是a[j]和a[j-1],所以最后一个是len(a)-1,所以排序的下标是len(a)-1到1,因需要优化,因range()函数结束取不到,那么1改成0即可;第2空:根据print()函数可知变量ans是用于存储结果,再看循环语句,变量ans不断增加字符;第3空:从列表a中不断取值,转成字符串,再添加到ans末尾;故答案为:len(a)-1,i;“”;i。(2)根据字符串大小排序,再连接"3" > "121" > "12" ,故答案为:312121;(3) 根据题干和程序,可知冒泡是从右向左推,推大的字符串,所以列表是降序。因为是字符串比较,所以需要将两个字符串连接后再比较大小,才能正确的比出大小,故答案为: str(x)+str(y) > str(y)+str(x) 。【分析】本大题是程序的综合应用,考查冒泡算法思想、自定义函数的应用和字符串比较大小等综合,需要掌握冒泡排序、冒泡的方向。本题比较难理解的是两个字符串比较,为什么要连接了再比较,“9373”>“937”,连接后“9373937”<“9379373”;所以单个字符串大的,连接后比较可能单个字符串小的反而在前面,这就是字符串的特点,需要记忆。二一教育在线组卷平台(zujuan.21cnjy.com)自动生成 1 / 1 展开更多...... 收起↑ 资源列表 浙江省宁波市重点中学2022-2023学年高二下学期信息技术(选考)期中考试试卷(学生版).docx 浙江省宁波市重点中学2022-2023学年高二下学期信息技术(选考)期中考试试卷(教师版).docx