资源简介 绝密★考试结束前苍南中学2023-2024学年高一下学期期中考试信息技术试题考生须知:1.本卷共9页满分100分,考试时间90分钟;2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字.3.所有答案必须写在答题纸上,写在试卷上无效;4.考试结束后,只需上交答题纸。第一部分 信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1. 下列关于算法的描述正确的是( )A. 算法是用来解决数学问题的B. 在算法执行过程中,有时需要运用控制转移来执行不同操作C. 求所有自然数的和违背了算法的可行性D. 算法一定要有输入【答案】B【解析】【详解】本题考查算法的描述。算法指的是解决问题或完成任务的一系列步骤;在算法执行过程中,有时需要运用控制转移来执行不同的操作;求所有自然数的和违背了算法的有穷性;算法可以没有输入,但一定要有输出。故选B。2. 某APP为鼓励用户积极签到,制定积分签到政策,用户第一次连续签到可以得到1分,第二次连续签到得2分,第三次连续签到得到4分,接下来,每次得分分别为8,16,32……。若签到中断,则前面签到所得积分清空,重新从第一天开始积分。当用户积分达到10000分时,可以兑换相应奖品,小明想得到的毛绒娃娃需要20000积分,请设计算法帮小明计算,需要至少连续签到多少天才能拿到毛绒娃娃。“确定用变量day表示需要花费的时间,用jf表示当前签到可以获得几分,用sum_jf表示目前已经累计获得的积分,并得出解决问题的计算模型。”,该过程属于用算法解决问题中的( )A. 分解问题 B. 抽象与建模 C. 设计算法 D. 描述算法【答案】B【解析】【详解】本题考查算法解决问题相关内容。算法解决问题的一般过程依次为“抽象与建模—设计算法—描述算法”。用算法解决题目描述问题,在抽象与建模步骤中,确定用变量day表示需要花费的时间,用jf表示当前签到可以获得几分,用sum_jf表示目前已经累计获得的积分,并得出解决问题的计算模型。故本题答案是B选项。3. 某APP为鼓励用户积极签到,制定积分签到政策,用户第一次连续签到可以得到1分,第二次连续签到得2分,第三次连续签到得到4分,接下来,每次得分分别为8,16,32……。若签到中断,则前面签到所得积分清空,重新从第一天开始积分。当用户积分达到10000分时,可以兑换相应奖品,小明想得到的毛绒娃娃需要20000积分,请设计算法帮小明计算,需要至少连续签到多少天才能拿到毛绒娃娃。解决此问题的算法流程图如右图所示,请为虚线框选择合适的流程图基本图形并为①处选择合适代码( )A. sum_jf=sum_jf+jf B. sum_jf=sum_jf+jfC. sum_jf=jf+jf D. sum_jf=jf+jf【答案】A【解析】【详解】本题考查的是流程图识读。菱形是条件判断框,平行四边形是数据输入/输出框,圆角矩形是开始/结束框,矩形是数据处理框。虚线框中应使用菱形框;用变量sum_if累计积分,jf表示每次得到的积分,故此处填sum_jf←sum_jf+jf或sum_jf=sum_jf+jf或sum_jf+=jf。故选A。4. 下列Python表达式中值为True的是( )A. 24%200**1/2<-2**4+4*2 B. "Hz" in "Hangzhou Asian Games"C. not False and not True or not False D. abs(int(-4.65))==round(4.65)【答案】C【解析】【详解】本题考查Python程序设计相关内容。A选项,24%200**1/2<-2**4+4*2-->12.0<-8-->False。B选项,"Hz" in "Hangzhou Asian Games"-->False。C选项,not False and not True or not False-->True and False or True-->True。D选项,abs(int(-4.65))==round(4.65)-->4 ==5-->False。故本题答案是C选项。5. 若food="milkeggbread",以下表达式值为['milk', 'egg', 'bread']的是( )A. [food[:4],food[4:7],food[7:]] B. [food[:3], food[3:6],food[6:]]C. [food[1:4],food[4:7],food[7:len(food)]] D. [food[0:3],food[3:6],food[6:len(food)-1]]【答案】A【解析】【详解】本题考查的是Python切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。[food[:4],food[4:7],food[7:]]=['milk', 'egg', 'bread'],[food[:3], food[3:6],food[6:]]=['mil', 'keg', 'gbread'],[food[1:4],food[4:7],food[7:len(food)]]=['ilk', 'egg', 'bread'],[food[0:3],food[3:6],food[6:len(food)-1]]=['mil', 'keg', 'gbrea'],故选A。6. 若people=["he","she","it"],feel={1:"love",2:"like",3:"hate"},则表达式feel[2]+people[2]值是( )A. likeit B. hateit C. likeshe D. hateshe【答案】A【解析】【详解】本题考查Python相关知识。feel[2]获取feel字典中键为2的元素,即 "like"。people[2]获取people列表中的第三个元素,即 "it"。将这二个部分拼接起来,得到 "likeit"。故答案为A选项。7. 用python算法控制结构描述“如果报名人数超过10人则输出活动升级,若小于3人则输出活动取消,否则输出活动正常举行”,设t为报名人数,下列选项正确的是( )A. B. C. D.【答案】D【解析】【详解】本题考查Python分支结构的应用。选项A、C,当人数超过10人时,输出活动正常举行,错误;选项B,输出语句在elif分支内,显然不可行。故选D。8. 有如下 Python 程序段:s = ['12','22','23','31','123','224']res =s[0]for i in range(1,len(s)):if s[i] >= res:res =s[i]print(res)执行上述程序后,输出的结果是( )A 12 B. 123 C. 31 D. 224【答案】C【解析】【详解】本题考查Python程序设计相关内容。分析程序段,其功能是找出列表中各字符串的最大值。['12','22','23','31','123','224']中的最大值为:'31'。故本题答案是C选项。9. 有如下 Python 程序段:s,n=0,8while True:s+=nif s>14:breakn-=2print(n,s)执行程序后,输出结果可能是( )A. 2 18 B. 4 18 C. 6 14 D. 6 18【答案】B【解析】【详解】本题考查Python程序设计相关内容。分析程序段,其运行过程如图所示:。故本题答案是B选项。10. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13. . . 求出这个数列的前 n 项之和。n = int(input())a,b,num = 2,1,2for i in range(n-1):print(num)方框中的代码由以下三部分组成:①num += a / b ②a = a + b ③b = a - b代码顺序正确的选项是( )A. ①②③ B. ②③① C. ②①③ D. ③②①【答案】B【解析】【详解】本题考查Python程序设计相关内容。结合题目内容分析程序段,可推知:方框内是先确定加数中的分子、分母,然后计算num的值。已知a=2,b=1;num初值为2,即求和公式中的第一项。序列求和公式是:num+=a/b,下一个加数中的分子为a+b,分母为上一步的a,其转换公式为:a = a + b,b = a - b。参照给出代码,方框内代码顺序为:②③①。故本题答案是B选项。11. 用python程序处理图像文件“chenchen.jpg”,该图像颜色位深度为24bit,图像如图所示:程序代码如下:from PIL import Imageimport numpy as npimport matplotlib.pyplot as pltimg=np.array(Image.open("chenchen.jpg").convert("L"))rows,cols=img.shapefor i in range(rows):for j in range(cols):if():img[i,j]=1else:img[i,j]=0plt.imshow(img,cmap="gray")plt.show()下列说法正确的是( )A. 待处理图像的文件名为“chenchen”B. 处理后的图像像素数将增加C. 将加框处语句中的“>”改为“<=”,则处理后的图像中黑白色将互换D. 将加框处语句中128改为188,则处理后图像中的黑色部分将减少【答案】C【解析】【详解】本题考查Python程序进行图像处理。待处理图像的文件名为“chenchen.jpg”;处理后的图像像素数不变;将加框处语句中的“>”改为“<=”,则处理后的图像中黑白色将互换;颜色灰度值的范围是0-255,如果 img[i,j]>188,则将188以上像素处理成白色,反之处理成黑色,以188为分界线,而黑色就会偏多,因此将加框处语句中128改为188,则处理后图像中的黑色部分将增多。故选C。12. 有如下Python程序段:a=[21,3,4,5,9,14,23]c,m=0,0for i in range(2,len(a)):if a[i-2]+a[i-1]==a[i]:c+=1if c>m:m=celse:c=0print(m)执行程序后,输出结果是( )A. 0 B. 1 C. 2 D. 3【答案】D【解析】【详解】本题考查Python程序设计相关内容。分析程序段,其功能是统计给定列表中连续前两项之和等于第三项的个数最大值。列表a中,[2,1,3,4]前两项之和等于第三项的个数为2,[4,5,9,14,23]前两项之和等于第三项的个数为3,所以m值为3,故本题答案是D选项。二、非选择题(本大题共3小题,共26分,其中第13小题8分,第14小题8分,第15小题10分)13. 小南设计了一个用于判定素单词的Python程序。判断素单词的规则如下:Ⅰ.设定小写字母a—z对应的数字为1—26,大写字母A—Z对应的数字为27—52。Ⅱ.将某个单词的所有字母按照其对应的数字求和,Ⅲ.若和为素数(质数)则判断为素单词,否则不是。如单词“Hello”,字母分别对应的数字为:34、5、12、12、15,其和为34+5+12+12+15=78,不是素数,因此单词“Hello”不是素单词。(1)根据题意,当输入单词“Love”,输出的结果是____(填字母:A.Love是素单词/B.Love不是素单词)(2)实现素单词判断的python程序如下,请在划线处填入合适代码。def is_Prime(number):#判断number是否为素数flag=Truefor k in range(2,number):if ①____:flag=Falsebreakreturn flags=input("请输入一个单词:")total=0for i in range(len(s)):ch=s[i]if "A"<=ch<="Z":total=②____elif "a"<=ch<="z":#将小写字母转换为对应的数字并累加至变量total中,代码略if ③____:print(s,"是素单词")else:print(s,"不是素单词")【答案】 ①. B ②. number%k==0 ③. total+ord(ch)-ord('A')+27或total+ord(ch)-38 ④. is_Prime(total)【解析】【详解】本题考查Python程序设计相关内容。结合题目内容,分析程序段,推知:(1)单词“Love”,字母分别对应的数字为:38、15、22、5,其和为38+15+22+5=60,不是素数,所以单词“Love”不是素单词。故本题答案是:B。(2)判断素数的依据是除了1和它本身外,不能被其他数整除,若有,则该数不是素数。在is_Prime函数中,k的取值范围是[2,number-1],若有k能把number整除,则number不是素数,故②处答案是:number%k==0。在主程序中,若"A"<=ch<="Z"成立,则应将ch转换为对应的数字并累加至变量total中,大写字母的ASCII码值介于[65,90]之间,本题中规定大写字母A—Z对应的数字为27—52,所以在计数和的时候需要将该大写字母的ASCII码值转换为27—52之间相应的数值,由于65-27=38,......90-52=38,得出转换公式:ord(ch)-ord('A')+27或total+ord(ch)-38,故③处答案是:total+ord(ch)-ord('A')+27或total+ord(ch)-38。④处,通过调用is_Prime函数,判断total是否为素数,从而得出该单词是否为素单词,故此处答案是:is_Prime(total)。14. 自幂数:一个n位数,如果每一位上的n次幂之和等于它本身,那么该数就是自幂数。下列Python代码可以实现输入数字长度n之后,输出所有n位自幂数,并统计个数。程序运行结果如下。(1)根据题意,1632____(填,是/不是)自幂数。(2)实现查找n为自幂数的Python程序如下,请在划线处填入合适的代码。n=int(input("请输入要查找的自幂数位数:"))count=total=0for i in range(1*10**(n-1),1*10**n):a=iwhile a>0:total+=①____a=a//10if i==total:count+=1print(i)②____print(str(n)+"位自幂数一共有"+③____+"个")【答案】 ①. 不 ②. (a%10)**n ③. total=0 ④. str(count)【解析】【详解】本题主要考查Python程序的综合应用。(1)1**4+6**4+3**4+2**4=1394,故1632不是自幂数。(2)while循环用于计算n位数中的每一位上的n次幂之和,则①处应填(a%10)**n;if语句用于判断寻找的这个n位数是否等于其每一位上的n次幂之和,如果条件成立,就把n位自幂数的个数加1并输出i,然后把total置为0,继续第二次循环,故②处应填total=0,直到循环结束输出n位自幂数一共有多少个,故③处应填str(count)表示连接的是字符串count的值。15. 某平台新上架影片推荐度的计算方式为:由 5 位专业评审与 5 位大众评审给影片评分,评分区间为[1,10],将专业评审均分的 60%与大众评审均分的 40%求和并取整,根据得分确定等级(分值与等级的关系如图 a 所示)。评委打分情况如图 b 所示,“A”表示专业评审,“B”表示大众评审,“A1-5”表示第 1 位专业评审给出 5 分。图 a 图 b请回答下列问题:(1)若专业评审均分为 5,大众评审均分为 6,则该影片等级为____________(填数字)颗星。(2)实现上述功能的部分 Python 程序如下,请在划线处填入合适的代码。f=open("dc.txt",encoding="utf-8")line=f.readline()pro,pub=0,0# 读取第一行,保存在字符串 line 中while line: # 当 line 非空x=①____________t=int(line[3:])if x=="A":pro+=t②____________line=f.readline() # 继续读取一行score=int(pro/5*0.6+pub/5*0.4)grade= ③____________print("推荐度为:","★"*grade)(3)若“dc.txt”文件中无异常数据,写出与加框处代码功能相同的语句____________。【答案】 ①. 3 或 三 ②. line[0] ③. pub+=t ④. (socre+1)//2 或 (socre-1)//2+1 ⑤. else 或 if x=="B" 或 if x!="A" 或 elif x!="A"【解析】【详解】本题考查Python程序设计相关内容。结合题目内容,分析程序段,推知:(1)专业评审均分为5,大众评审均分为6,其评分为:5*60%+6*40%=5.4,结果取整为:5。则该影片等级为3颗星,故本题答案为:3或三。(2)程序段可以实现题目要求。②处,x的值能区分评审员是专业评审还是大众评审,打开文件“dc.tx”,通过f.readline读取数据存入line内,由图b可知,line索引号为0的元素可以区分评审员,即line[0],故此处答案为:line[0]。③处,若x=="B"成立,表明当前分值由大众评审给出,需要计算其和存入pub内,故此处答案为:pub+=t。④处,此处需要根据专业评审和大众评审给出的分数计算出得分score,并依据得分给出其星级grade,其表达式为:grade=(socre+1)//2 或 (socre-1)//2+1,故此处答案为:(socre+1)//2 或 (socre-1)//2+1。(3)加框处代码是在判断出分数不是由专业评审给出后进行的操作,即对大众评审的分数进行统计,结合Python分支结构相关知识,此处可以有多种书写形式实现相同功能,比如:else 或 if x=="B" 或 if x!="A" 或 elif x!="A"等,故本题答案为:else 或 if x=="B" 或 if x!="A" 或 elif x!="A"。绝密★考试结束前苍南中学2023-2024学年高一下学期期中考试信息技术试题考生须知:1.本卷共9页满分100分,考试时间90分钟;2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字.3.所有答案必须写在答题纸上,写在试卷上无效;4.考试结束后,只需上交答题纸。第一部分 信息技术(共50分)一、选择题(本大题共12小题,每小题2分,共24分。每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1. 下列关于算法的描述正确的是( )A. 算法是用来解决数学问题的B. 在算法执行过程中,有时需要运用控制转移来执行不同的操作C. 求所有自然数的和违背了算法的可行性D. 算法一定要有输入2. 某APP为鼓励用户积极签到,制定积分签到政策,用户第一次连续签到可以得到1分,第二次连续签到得2分,第三次连续签到得到4分,接下来,每次得分分别为8,16,32……。若签到中断,则前面签到所得积分清空,重新从第一天开始积分。当用户积分达到10000分时,可以兑换相应奖品,小明想得到的毛绒娃娃需要20000积分,请设计算法帮小明计算,需要至少连续签到多少天才能拿到毛绒娃娃。“确定用变量day表示需要花费的时间,用jf表示当前签到可以获得几分,用sum_jf表示目前已经累计获得的积分,并得出解决问题的计算模型。”,该过程属于用算法解决问题中的( )A. 分解问题 B. 抽象与建模 C. 设计算法 D. 描述算法3. 某APP为鼓励用户积极签到,制定积分签到政策,用户第一次连续签到可以得到1分,第二次连续签到得2分,第三次连续签到得到4分,接下来,每次得分分别为8,16,32……。若签到中断,则前面签到所得积分清空,重新从第一天开始积分。当用户积分达到10000分时,可以兑换相应奖品,小明想得到的毛绒娃娃需要20000积分,请设计算法帮小明计算,需要至少连续签到多少天才能拿到毛绒娃娃。解决此问题的算法流程图如右图所示,请为虚线框选择合适的流程图基本图形并为①处选择合适代码( )A. sum_jf=sum_jf+jf B. sum_jf=sum_jf+jfC. sum_jf=jf+jf D. sum_jf=jf+jf4. 下列Python表达式中值为True的是( )A. 24%200**1/2<-2**4+4*2 B. "Hz" in "Hangzhou Asian Games"C. not False and not True or not False D. abs(int(-4.65))==round(4.65)5. 若food="milkeggbread",以下表达式值为['milk', 'egg', 'bread']的是( )A. [food[:4],food[4:7],food[7:]] B. [food[:3], food[3:6],food[6:]]C. [food[1:4],food[4:7],food[7:len(food)]] D. [food[0:3],food[3:6],food[6:len(food)-1]]6. 若people=["he","she","it"],feel={1:"love",2:"like",3:"hate"},则表达式feel[2]+people[2]的值是( )A. likeit B. hateit C. likeshe D. hateshe7. 用python算法控制结构描述“如果报名人数超过10人则输出活动升级,若小于3人则输出活动取消,否则输出活动正常举行”,设t为报名人数,下列选项正确的是( )A. B. C. D.8. 有如下 Python 程序段:s = ['12','22','23','31','123','224']res =s[0]for i in range(1,len(s)):if s[i] >= res:res =s[i]print(res)执行上述程序后,输出的结果是( )A. 12 B. 123 C. 31 D. 2249 有如下 Python 程序段:sn=0,8while True:s+=nif s>14:breakn-=2print(n,s)执行程序后,输出结果可能是( )A. 2 18 B. 4 18 C. 6 14 D. 6 1810. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13. . . 求出这个数列的前 n 项之和。n = int(input())a,b,num = 2,1,2for i in range(n-1):print(num)方框中的代码由以下三部分组成:①num += a / b ②a = a + b ③b = a - b代码顺序正确的选项是( )A. ①②③ B. ②③① C. ②①③ D. ③②①11. 用python程序处理图像文件“chenchen.jpg”,该图像颜色位深度为24bit,图像如图所示:程序代码如下:from PIL import Imageimport numpy as npimport matplotlib.pyplot as pltimg=np.array(Image.open("chenchen.jpg").convert("L"))rows,cols=img.shapefor i in range(rows):for j in range(cols):if():img[i,j]=1else:img[i,j]=0plt.imshow(img,cmap="gray")plt.show()下列说法正确的是( )A. 待处理图像的文件名为“chenchen”B. 处理后的图像像素数将增加C. 将加框处语句中的“>”改为“<=”,则处理后的图像中黑白色将互换D. 将加框处语句中128改为188,则处理后图像中的黑色部分将减少12. 有如下Python程序段:a=[2,1,3,4,5,9,14,23]c,m=0,0for i in range(2,len(a)):if a[i-2]+a[i-1]==a[i]:c+=1if c>m:m=celse:c=0print(m)执行程序后,输出结果是( )A. 0 B. 1 C. 2 D. 3二、非选择题(本大题共3小题,共26分,其中第13小题8分,第14小题8分,第15小题10分)13. 小南设计了一个用于判定素单词的Python程序。判断素单词的规则如下:Ⅰ.设定小写字母a—z对应的数字为1—26,大写字母A—Z对应的数字为27—52。Ⅱ.将某个单词的所有字母按照其对应的数字求和,Ⅲ.若和为素数(质数)则判断为素单词,否则不是。如单词“Hello”,字母分别对应的数字为:34、5、12、12、15,其和为34+5+12+12+15=78,不是素数,因此单词“Hello”不是素单词。(1)根据题意,当输入单词“Love”,输出结果是____(填字母:A.Love是素单词/B.Love不是素单词)(2)实现素单词判断的python程序如下,请在划线处填入合适代码。def is_Prime(number):#判断number是否为素数flag=Truefor k in range(2,number):if ①____:flag=Falsebreakreturn flags=input("请输入一个单词:")total=0for i in range(len(s)):ch=s[i]if "A"<=ch<="Z":total=②____elif "a"<=ch<="z":#将小写字母转换为对应的数字并累加至变量total中,代码略if ③____:print(s,"是素单词")else:print(s,"不是素单词")14. 自幂数:一个n位数,如果每一位上的n次幂之和等于它本身,那么该数就是自幂数。下列Python代码可以实现输入数字长度n之后,输出所有n位自幂数,并统计个数。程序运行结果如下。(1)根据题意,1632____(填,/不是)自幂数。(2)实现查找n为自幂数的Python程序如下,请在划线处填入合适的代码。n=int(input("请输入要查找的自幂数位数:"))count=total=0for i in range(1*10**(n-1),1*10**n):a=iwhile a>0:total+=①____a=a//10if i==total:count+=1print(i)②____print(str(n)+"位自幂数一共有"+③____+"个")15. 某平台新上架影片推荐度的计算方式为:由 5 位专业评审与 5 位大众评审给影片评分,评分区间为[1,10],将专业评审均分的 60%与大众评审均分的 40%求和并取整,根据得分确定等级(分值与等级的关系如图 a 所示)。评委打分情况如图 b 所示,“A”表示专业评审,“B”表示大众评审,“A1-5”表示第 1 位专业评审给出 5 分。图 a 图 b请回答下列问题:(1)若专业评审均分为 5,大众评审均分为 6,则该影片等级为____________(填数字)颗星。(2)实现上述功能的部分 Python 程序如下,请在划线处填入合适的代码。f=open("dc.txt",encoding="utf-8")line=freadline()pro,pub=0,0# 读取第一行,保存在字符串 line 中while line: # 当 line 非空x=①____________t=int(line[3:])if x=="A":pro+=t②____________line=f.readline() # 继续读取一行score=int(pro/5*0.6+pub/5*0.4)grade= ③____________print("推荐度为:","★"*grade)(3)若“dc.txt”文件中无异常数据,写出与加框处代码功能相同的语句____________。 展开更多...... 收起↑ 资源列表 浙江省苍南中学2023-2024学年高一下学期期中考试信息技术试题(原卷版).docx 浙江省苍南中学2023-2024学年高一下学期期中考试信息技术试题(解析版).docx