资源简介 非选择题专项(五)二、非选择题(本大题共3小题,其中第13题8分,第14题9分,第15题9分,共26分)13.小陈在学习历史时,从公元1000年至今,发现有的日期特别的“优美”,如1010年01年01日,2021年12月02日,小陈把它们称为“对称日”。为了寻找指定年份中的“对称日”,小陈编写了如下的Python程序,程序运行结果如图所示,请在划线处填入合适的代码。(1)Python程序如下,请在划线处填入合适的代码。(2)程序加框处代码有错,请改正。def check(k): check=True y=int(k[0:4]); m=int(k[4:6]); d=int(k[6:8]) flag=0 if m<1 or m>12: check=False if (y%4==0 and y %100!=0 or y%400==0) and ① : #判断闰年时的相应情况 flag=1 if ② : check=False ③ ks=int(input(″请输入开始年份″))js=int(input(″请输入结束年份″))lst=[31,28,31,30,31,30,31,31,30,31,30,31]for i in range(ks,js+1): k1=str(i) if check(k1)==True: print(k1)14.某蔬菜大棚需要搭建自动化温湿度调节系统。该系统通过温湿度传感器采集数据,由智能终端经IoT模块发送到Web服务器,存储在数据库中,同时根据服务器内设定的阈值控制喷水装置或控温装置的开关,系统结构如图a所示。用户可通过浏览器打开相关网页查看实时或历史数据。请回答下列问题:图a(1)该系统中IoT模块无法实现的功能是________(单选,填字母:A.连接无线网络/B.发送来自于智能终端的数据/C.将局域网接入互联网)。(2)互联网用户查看温湿度历史数据这一过程中,没有涉及到的系统硬件设备有________(多选,填字母:A.温湿度传感器/B.智能终端/C.无线路由器/D.调制解调器/E.Web服务器)(3)该系统服务器端程序由Flask Web框架编写,下列表格中描述了相关路由及其功能,已知用户计算机IP为“192.168.0.3”,Web服务器IP为“192.168.0.2”,端口号为5000,则用户使用计算机查看实时温湿度数据时,应访问的URL是http:∥____________________________。序号 路由 功能1 / 访问系统首页2 /readh 查看历史温湿度数据3 /readt 查看实时温湿度数据(4)已知温度大于30且湿度小于50时,大棚环境处于异常状态。现将系统中某天24小时的温湿度记录导出,如图b所示(时间格式为“时:分”),每小时设置60个监测时间点,每个监测时间点会监测大棚的温度与湿度数据,现分析每小时大棚环境异常的监测时间点数量,线形图如图c所示,部分Python程序如下,请在程序中划线处填入合适的代码。import pandas as pdimport matplotlib.pyplot as pltdf=pd.read_excel(″data.xlsx″) #读取文件data.xlsx中的数据for i in range(len(df)) : if i%2==0 and df.at[i,″监测值″]>30: df.at[i,″状态″]=1 if i%2==1 and df.at[i,″监测值″]<50: df.at[i,″状态″]=1dfg=df.groupby(″时间″, as_index=False).状态.sum()time=[] ; data=[]for t in range (24): s=str(t) ; c=0 if t<10: s='0'+s time.append(s) dft= dfg[① ] for j in dft.index: if dft.at[j,″时间″][:2]==s: ② data.append(c)plt.plot(time, data)#设置绘图参数,显示如图c所示线形图,代码略15.某大型活动庆典排练中,有10000名演员参加方阵演出的训练,每个演员的序号依次编号为1到10000,经过淘汰筛选后,剩下n名演员参加最后的表演。入场时导演指挥所有演员按序号升序排序,入场后分化成若干个方阵。方阵的分化方式为:(1)按序号顺序将演员分割成若干个区间,每个区间有m×m个演员,m最大值为100,最小值为1。每次分化时按尽可能大的区间进行分割;(2)对每个分割出的区间按先行后列的顺序依次分化成m×m的方阵;(3)依次给各个方阵分配不同的颜色的演出服,同一方阵内的颜色相同,各个方阵的衣服颜色按方阵从大到小的顺序,依次用大写字母“A”到“Z”表示。(4)给每个演员编制新的编号,编号方法为在其原序号前加上表示颜色的字母。例如n=21时,可依次分化成3个方阵,元素的个数分别为16(4×4)、4(2×2)、1(1×1),排序后的编号依次为2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,则分化成的如图所示的3个方阵:为检验排练的正确性,导演会随机抽取某个序号的演员,查询其在第几个方阵的第几行第几列,以及其编码。例如序号19的演员在第1个方阵的第3行第2列,编码是A19。(1)按题中所给的例子,增加一个序号为40的演员,则其编码为________。(2)区间分割,依次记录每个区间的人数,以及每个区间第1个人的编号。defcut():size =[]x = int(n ** 0.5) + 1for m in range(x,0,- 1):while n >= m * m:①_______size+=[m]q=len(size)id=[0]*q;val=[0]*qid[0]=0;val[0]=a[0]for i in range(1,q):id[i]=②val[i]=a[id[i]]请完成划线部分的代码。(3)查询:查找演员的序号所在的方阵,若返回值为-1表示找不到Def search(key):left=0;right=q- 1;while left <= right:mid=(left+right) ∥ 2if key == val[mid]:return midif key>val[mid]:left= mid + 1else:right=mid - 1return right按题目所给例子,执行该查找代码,若函数返回结果为-1,则输入的key值为________(填写一个整数,表示演员的序号)。(4)主程序n=int(input(″请输入演员的数量″))#抽取n个演员,编号存入a数组,代码略sort() #调用排序函数,按演员序号升序排序cut() #调用分割函数key = int(input(″请输入要查询的演员序号″))pos = search(key)flag = Falseif pos!=-1:for i inrange(size[pos] * size[pos]):if a[id[pos]+i]== key:print(″编号为″+str(key)+″的演员在第″+str(pos+1)+″个方阵:″)print(I ∥ size[pos]+1,_______) #输出行号和列号print(chr(pos+ord(″A″))+str(key))#输出该演员的编码flag = Truebreakif not flag:print(″该编号的演员不在排列名单中″)上述代码中,划线部分应填入代码为????。非选择题专项(五)13.(1)①m==2 ②check==True and d>lst[m-1]+flag或check==True and (d<1 or d>lst[m-1]+flag) ③return check (2)k1=k1+k1[::-1]解析 遍历开始年份至结束年份,先创建一个对称的日期,再调用函数去检测这个日期是否合理。(1)①flag是否是闰年的标志,如果是其值为1,表示2月份加1天。因此还需加一个条件是否是2月份。②在check是真的前提下,检查日期是否有效。③函数返回检测的结果check。(3)将字符串k1反向后重新连接到新字符串k1后面。14.(1)C (2)AB (3)192.168.0.2:5000/readt(4)①dfg.状态==2或dfg['状态']==2 ②c+=1解析 (1)C选项是路由器的功能。(2)用户查看温湿度历史数据的过程为:打开浏览器,向服务器发送请求,由于是互联网用户,接入互联网需经过路由器和调制解调器。数据来自数据库,因此不需经过智能终端和采感器。(3)查看实时温湿度数据的路由为readt。(4)①温度大于30且湿度小于50时,大棚环境处于异常状态。每个监测时间点温度、湿度如果异常,则该点的状态值为1,若要同时异常,则状态值相加为2。筛选出状态异常的记录。②若当前时间点有异常,进行记数,c的值增加1。15.(1)D40 (2)①n-=m*m ②id[i-1]+size[i-1]*size[i-1] (3)1 (4)i%size[pos]+1解析 (1)增加一个序号为40的演员,n值为22,分成4个方阵,元素的个数分别为16,4,1,1,排序后的编号依次为2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,40,最后编号为 D40。(2)cnt函数确定每个方阵的大小和起始编号。①size列表存储每个方阵的大小,在确定一个方阵后,从总数n中减去这个方阵的演员数量。②计算每个区间的第1个演员的编号。id[i]是第i个方阵的第一个演员在原始数组a的下标,a[id[i]]就是该区间的第一个演员的编号。第i个方阵的第一个演员的下标是前一个方阵最后一个演员的下标(即id[i-1])加上前一个方阵的大小(即size[i-1]*size[i-1])。(3)若函数返回值为-1,说明没有找到演员的序号所在的方阵,一定是右边界right,且返回时left=0,right=-1,则查找的演员序号应小于第一个演员的编号2,则输入的key值为1。(4)i是演员在方阵中的相对序号,例如在计算序号19的演员的行号和列号时,i=9。该演员所在行号是i∥size[pos]+1=3,列号为i%size[pos]+1=2。(共20张PPT)非选择题专项(五)第四部分 考前题型特训二、非选择题(本大题共3小题,其中第13题8分,第14题9分,第15题9分,共26分)13.小陈在学习历史时,从公元1000年至今,发现有的日期特别的“优美”,如1010年01年01日,2021年12月02日,小陈把它们称为“对称日”。为了寻找指定年份中的“对称日”,小陈编写了如下的Python程序,程序运行结果如图所示,请在划线处填入合适的代码。答案 (1)①m==2 ②check==True and d>lst[m-1]+flag或check==True and (d<1 or d>lst[m-1]+flag) ③return check (2)k1=k1+k1[::-1]解析 遍历开始年份至结束年份,先创建一个对称的日期,再调用函数去检测这个日期是否合理。(1)①flag是否是闰年的标志,如果是其值为1,表示2月份加1天。因此还需加一个条件是否是2月份。②在check是真的前提下,检查日期是否有效。③函数返回检测的结果check。(3)将字符串k1反向后重新连接到新字符串k1后面。14.某蔬菜大棚需要搭建自动化温湿度调节系统。该系统通过温湿度传感器采集数据,由智能终端经IoT模块发送到Web服务器,存储在数据库中,同时根据服务器内设定的阈值控制喷水装置或控温装置的开关,系统结构如图a所示。用户可通过浏览器打开相关网页查看实时或历史数据。请回答下列问题:图a(1)该系统中IoT模块无法实现的功能是 (单选,填字母:A.连接无线网络/B.发送来自于智能终端的数据/C.将局域网接入互联网)。(2)互联网用户查看温湿度历史数据这一过程中,没有涉及到的系统硬件设备有 (多选,填字母:A.温湿度传感器/B.智能终端/C.无线路由器/D.调制解调器/E.Web服务器)(3)该系统服务器端程序由Flask Web框架编写,下列表格中描述了相关路由及其功能,已知用户计算机IP为“192.168.0.3”,Web服务器IP为“192.168.0.2”,端口号为5000,则用户使用计算机查看实时温湿度数据时,应访问的URL是http:∥___________________________________________________________________。序号 路由 功能1 / 访问系统首页2 /readh 查看历史温湿度数据3 /readt 查看实时温湿度数据(4)已知温度大于30且湿度小于50时,大棚环境处于异常状态。现将系统中某天24小时的温湿度记录导出,如图b所示(时间格式为“时:分”),每小时设置60个监测时间点,每个监测时间点会监测大棚的温度与湿度数据,现分析每小时大棚环境异常的监测时间点数量,线形图如图c所示,部分Python程序如下,请在程序中划线处填入合适的代码。答案 (1)C (2)AB (3)192.168.0.2:5000/readt (4)①dfg.状态==2或dfg['状态']==2 ②c+=1解析 (1)C选项是路由器的功能。(2)用户查看温湿度历史数据的过程为:打开浏览器,向服务器发送请求,由于是互联网用户,接入互联网需经过路由器和调制解调器。数据来自数据库,因此不需经过智能终端和采感器。(3)查看实时温湿度数据的路由为readt。(4)①温度大于30且湿度小于50时,大棚环境处于异常状态。每个监测时间点温度、湿度如果异常,则该点的状态值为1,若要同时异常,则状态值相加为2。筛选出状态异常的记录。②若当前时间点有异常,进行记数,c的值增加1。15.某大型活动庆典排练中,有10000名演员参加方阵演出的训练,每个演员的序号依次编号为1到10000,经过淘汰筛选后,剩下n名演员参加最后的表演。入场时导演指挥所有演员按序号升序排序,入场后分化成若干个方阵。方阵的分化方式为:(1)按序号顺序将演员分割成若干个区间,每个区间有m×m个演员,m最大值为100,最小值为1。每次分化时按尽可能大的区间进行分割;(2)对每个分割出的区间按先行后列的顺序依次分化成m×m的方阵;(3)依次给各个方阵分配不同的颜色的演出服,同一方阵内的颜色相同,各个方阵的衣服颜色按方阵从大到小的顺序,依次用大写字母“A”到“Z”表示。(4)给每个演员编制新的编号,编号方法为在其原序号前加上表示颜色的字母。例如n=21时,可依次分化成3个方阵,元素的个数分别为16(4×4)、4(2×2)、1(1×1),排序后的编号依次为2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,则分化成的如图所示的3个方阵:为检验排练的正确性,导演会随机抽取某个序号的演员,查询其在第几个方阵的第几行第几列,以及其编码。例如序号19的演员在第1个方阵的第3行第2列,编码是A19。答案 (1)D40 (2)①n-=m * m ②id[i-1]+size[i-1]* size[i-1](3)1(4)i%size[pos]+1解析 (1)增加一个序号为40的演员,n值为22,分成4个方阵,元素的个数分别为16,4,1,1,排序后的编号依次为2,3,5,6,9,11,14,15,16,19,22,23,24,25,27,29,31,33,36,37,39,40,最后编号为D40。(2)cnt函数确定每个方阵的大小和起始编号。①size列表存储每个方阵的大小,在确定一个方阵后,从总数n中减去这个方阵的演员数量。②计算每个区间的第1个演员的编号。id[i]是第i个方阵的第一个演员在原始数组a的下标, a[id[i]]?就是该区间的第一个演员的编号。第i个方阵的第一个演员的下标是前一个方阵最后一个演员的下标(即id[i-1])加上前一个方阵的大小(即size[i-1]* size[i-1])。(3)若函数返回值为-1,说明没有找到演员的序号所在的方阵,一定是右边界right,且返回时left=0,right=-1,则查找的演员序号应小于第一个演员的编号2,则输入的key值为1。(4)i是演员在方阵中的相对序号,例如在计算序号19的演员的行号和列号时,i=9。该演员所在行号是i∥size[pos]+1=3,列号为i%size[pos]+1=2。 展开更多...... 收起↑ 资源列表 非选择题专项(五).pptx 非选择题专项(五)(含解析).docx