2025届高中信息技术二轮复习:非选择题专项(二)(课件 练习)

资源下载
  1. 二一教育资源

2025届高中信息技术二轮复习:非选择题专项(二)(课件 练习)

资源简介

非选择题专项(二)
二、非选择题(本大题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)
13.某小区停车管理系统的一个子功能是完成业主车辆进出识别与控制(业主车牌保存在数据库内)。车辆入场时通过传感器捕获并识别车牌,如果是业主,显示屏显示车牌号码和欢迎进入信息,系统打开闸机,然后传输相关数据到Web服务器,保存至数据库。车辆出场时完成车牌识别、计时、计费,客户完成付费后系统打开闸机。请回答下列问题。
(1)在搭建“车辆进出识别系统”的过程中,下列说法正确的是________。(多选,填字母,选对得2分,漏选得1分,错选不得分)
A.工作人员驾驶车辆检测系统是否正常运行,属于系统测试中的动态测试。
B.决定该系统采用SQLite数据库属于搭建信息系统过程中的详细设计阶段
C.对搭建该信息系统所需的费用进行评估,属于可行性分析
D.智能终端可借助IoT模块通过无线网络和服务器进行数据传输
(2)下列功能需要在智能终端程序中实现的是________。(多选,填字母,选对得2分,漏选得1分,错选不得分)
A.车牌的捕获 B.发送开闸指令到控制器
C.处理浏览器访问请求 D.数据库读写
(3)Web服务器端部分程序如下。假设车牌是“浙ABC520”的车辆在时间值是“185”的时刻进场,那么智能终端向Web服务器上传数据的URL是http:∥____________________________________________________________________。
app = Flask(_ _name_ _)
@app.route('/ey', methods=['GET'])
def query():
  car = request.args.get(″c″)
  time = request.args.get(″t″)
  flag = request.args.get(″f″)
  if flag == ″in″ :
   #车辆入场。保存车牌信息car和入场时刻信息time到数据库, 代码略
  elif flag == ″out″ :
   #车辆出场。从数据库读取车牌car的入场时间, 根据出、入场时间计算停车费
  #并将时长、车费、车牌等信息返回给智能终端显示给客户, 代码略
  #服务器其他功能, 代码略
if _ _name_ _ =='_ _main_ _' :
  app.run(host = ″192.168.13.5″, port = 8080)
(4)系统搭建完成后,王先生驾驶车辆驶入该停车场,显示屏显示车牌号码,提示欢迎进入的信息,但道闸却未打开,可能的原因是    。(单选,填字母)
A.Web服务器与数据库连接异常
B.智能终端未对控制器发送相应要求
C.车牌数据未保存到数据库
14.为研究某项疾病与年龄的关系,某医院对以前的诊断记录进行整理和分析,整理部分数据如图a所示。
姓名 年龄 疾病
毕蕴琪 52 疾病A
蔡丹婷 26岁 疾病D
蔡伟剑 十四岁 疾病E
陈芝伊 78 疾病B
丁佳菲 35 疾病A
…… …… ……
图a
图b
(1)观察图a所示数据,发现年龄列数据格式不一致为了便于数据分析,下列操作合适的是________(单选,填字母)。
A.删除“年龄”列数据
B.将“年龄”列含有中文字的记录删除
C.将“年龄”列数据转为文本类型
D.将“年龄”列含有中文字的记录修改为只包含数字的年龄
(2)将数据整理好后,为了统计0~18、19~35、36~60、61以上(含61)四个年龄段的某疾病患病人数占该疾病总患病人数的比例,并绘制如图b示图表,编写如下Python程序,请在划线处填入合适代码。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('data.xlsx')
tp = input('请输入疾病类型:')
df1 = ①     #筛选tp疾病的数据
count = [0] * 4
for i in df1.index:
  age = df.at[i, '年龄']
  if  ②     :
  count[0] += 1
  elif age <= 35:
  count[1] += 1
  elif age <= 60:
  count[2] += 1
  else:
  count[3] += 1
x = ['0-18', '19-35', '36-60', '61以上']
y = []
for i in range(4):
  y.append(③    )
plt.bar(x, y) #显示不同年龄段患该病的人数百分比
#设置图表其他参数,代码略
(3)观察图b,“疾病A”患病比例最大的年龄段为    。
(4)若想获取61岁及以上的人群中,患病率最高的10种疾病,编写如下程序。
def get_head10(df, age):
 
  return df.疾病.head(10)
print(get_head10(df, 61))
上述程序段中方框处可选代码为:①df = df.sort_values(″年龄″, ascending=False) ②df = df[df.年龄>=age] ③df = df.groupby(″疾病″, as_index=False).count()
则加框处应填代码的顺序依次为    (单选,填字母)
A.①②③ B.①③②
C.②①③ D.②③①
15.外卖配送。在一条笔直的大街上,某骑手接了若干个外卖单(均已准备就绪)。骑手配送原则如下:
(1)若当前没有配送任务,优先配送离当前位置最近距离的单子
(2)若在配送中,则当前配送线路不可更改,但可以接沿途的新单,或送达沿途目的地的其他已接单子。
(3)当前单子配送完成后,优先配送手中最早接下的外卖单。例如有下列单子,骑手初始坐标为2。
外卖单 A B C D
起始坐标 1 4 15 25
终点坐标 20 16 10 10
配送过程为:先配送A,线路1→20,途中取到B、C,并顺利完成配送B;A完成后配送C,C完成后取送D。
根据上述算法编写了Python程序,配送完全部单子,回答下列问题:
(1)按图所示的数据,若骑手初始坐标为2,则把D单子送达时骑手共经过的路程为________。
(2)骑手身上没有外卖时,寻找距离最近单子的函数如下:
def find(a,pos): #列表a存储外卖配送单,pos 为当前坐标
  k=-1
  for i in range(len(a)):
  if flag[i]==False : #该单子未派送
     if       :
     k=i
  return k
划线处应该填入的代码是(单选):
A.k==-1 or abs(a[k][1]-pos)> abs(a[i][1]-pos)
B.k==-1 and abs(a[k][1]-pos)> abs(a[i][1]-pos)
C.k==-1 or a[k][1]-pos> a[i][1]-pos
D.k==-1 or 2*pos> abs(a[i][1]- a[k][1])
(3)请在划线处填入合适的代码,使程序完整。
#生成配送单,存在列表 a。a[i]包含 4 项,a[i][0]为单号、a[i][1]为起始坐标、a[i][2]为终点坐标、a[i][3] 初值为-1,代码略
flag=[False]*len(a)
pos=i=0
head=p=-1
while i  if head==-1: #当前手中没有外卖单子
   t=find(a,pos)
   if t!=-1: #找到符合条件的单子,处理后开始配送
    ①    
    p=head
    flag[t]=True
    pos=a[t][1]
   print(a[t][0],″单开始配送″)
 else:
   for j in range(len(a)): #寻找可顺路带上加入配送的单子
    if flag[j]==False :
      st= a[head][1];ed= a[head][2]
      if min(st,ed)<=a[j][1]<=max(st,ed): #中途加入配送
       a[p][3]=j
       flag[j]=True
       p=a[p][3]
 pre=head;p=a[head][3]
 while p!=-1: #寻找当前身上是否有顺路可送达的单子
   t1=②     #检验该单子是否与当前路径同方向
   pos2= a[head][2]
   if t1>0 and min(pos,pos2)<=a[p][2]<=max(pos,pos2):
    a[pre][3]=a[a[pre][3]][3] #送达后在链表中删除
    i+=1
    print(a[p][0],″单子顺带完成″)
    ③    
   else:
    pre=p
    p=a[p][3]
  i+=1
  print(a[head][0],″单子完成配送,共完成″,i,″单″)
  pos=a[head][2]
  head=a[head][3]
  p=pre
非选择题专项(二)
13.(1)ACD (2)AB (3)192.168.13.5:8080/ey?c=浙 ABC520&t=185&f=in (4)B 
解析 (1)B选项选择数据属于概要设计。(2)智能终端可以实现数据的采集、传输,也可以向执行器发送指令。(3)略。(4)执行器坏或者没有接收到指令。
14.(1)D (2)①df[df.疾病==tp]
②age<=18 ③count[i]/sum(count)*100或count[i]/len(df1)*100 (3)0-18 (4)D
解析 本题考查Pandas数据处理。(1)略。(2)①在df中查找符合条件df['疾病']==tp的记录。②count数组统计各个年龄段的人数。③图表显示不同年龄段患该病的人数百分比,将各个年龄人数占该疾病类型的人数百分比。(3)略。(4)数据处理的顺序是:筛选、分组统计、排序(降序)。若要统计患病率,需按疾病类型进行分组统计,形成如图所示数据。其中姓名列和年龄列为统计的人数,若要找出人数最多的需按其中一个关键字进行降序排列。
疾病 姓名 年龄
0 疾病A
1 疾病B
2 - - -
疾病F
15.(1)60 (2)A (3)①head=t ②(a[head][2]-a[head][1])*(a[p][2]-a[p][1])或(a[head][2]-a[head][1])/(a[p][2]-a[p][1]) ③p=a[pre][3]
解析 (1)根据配送顺序,表达式(2-1)+(20-1)+(20-10)+(25-10)+(25-10)=60。(2)在没有配送单时能获得配送单,所以两个条件是或者的关系,索引i比k距离更近的关系表达为abs(a[k][1]-pos)>abs(a[i][1]-pos)。(3)①找到第1个配送的单子,需更新头指针的值;②路径的方向相同,两个单子起点减去终点结果相乘为正值。③删除链表节点后,相应节点指针值的更新。(共19张PPT)
非选择题专项(二)
第四部分 考前题型特训
二、非选择题(本大题共3小题,其中第13题7分,第14题10分,第15题9分,共26分)
13.某小区停车管理系统的一个子功能是完成业主车辆进出识别与控制(业主车牌保存在数据库内)。车辆入场时通过传感器捕获并识别车牌,如果是业主,显示屏显示车牌号码和欢迎进入信息,系统打开闸机,然后传输相关数据到Web服务器,保存至数据库。车辆出场时完成车牌识别、计时、计费,客户完成付费后系统打开闸机。请回答下列问题。
(1)在搭建“车辆进出识别系统”的过程中,下列说法正确的是    。(多选,填字母,选对得2分,漏选得1分,错选不得分)
A.工作人员驾驶车辆检测系统是否正常运行,属于系统测试中的动态测试。
B.决定该系统采用SQLite数据库属于搭建信息系统过程中的详细设计阶段
C.对搭建该信息系统所需的费用进行评估,属于可行性分析
D.智能终端可借助IoT模块通过无线网络和服务器进行数据传输
(2)下列功能需要在智能终端程序中实现的是    。(多选,填字母,选对得2分,漏选得1分,错选不得分)
A.车牌的捕获 B.发送开闸指令到控制器
C.处理浏览器访问请求 D.数据库读写
(4)系统搭建完成后,王先生驾驶车辆驶入该停车场,显示屏显示车牌号码,提示欢迎进入的信息,但道闸却未打开,可能的原因是    。(单选,填字母)
A.Web服务器与数据库连接异常
B.智能终端未对控制器发送相应要求
C.车牌数据未保存到数据库
答案 (1)ACD (2)AB (3)192.168.13.5:8080/ey?c=浙 ABC520&t=185&f=in (4)B 
解析 (1)B选项选择数据属于概要设计。(2)智能终端可以实现数据的采集、传输,也可以向执行器发送指令。(3)略。(4)执行器坏或者没有接收到指令。
14.为研究某项疾病与年龄的关系,某医院对以前的诊断记录进行整理和分析,整理部分数据如图a所示。
姓名 年龄 疾病
毕蕴琪 52 疾病A
蔡丹婷 26岁 疾病D
蔡伟剑 十四岁 疾病E
陈芝伊 78 疾病B
丁佳菲 35 疾病A
…… …… ……
图a
图b
(1)观察图a所示数据,发现年龄列数据格式不一致为了便于数据分析,下列操作合适的是    (单选,填字母)。
A.删除“年龄”列数据
B.将“年龄”列含有中文字的记录删除
C.将“年龄”列数据转为文本类型
D.将“年龄”列含有中文字的记录修改为只包含数字的年龄
(2)将数据整理好后,为了统计0~18、19~35、36~60、61以上(含61)四个年龄段的某疾病患病人数占该疾病总患病人数的比例,并绘制如图b示图表,编写如下Python程序,请在划线处填入合适代码。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_excel('data.xlsx')
tp = input('请输入疾病类型:')
答案 (1)D (2)①df[df.疾病==tp] ②age<=18 ③count[i]/sum(count)*100或count[i]/len(df1)*100 (3)0-18 (4)D
解析 本题考查Pandas数据处理。(1)略。(2)①在df中查找符合条件df['疾病']==tp的记录。②count数组统计各个年龄段的人数。③图表显示不同年龄段患该病的人数百分比,将各个年龄人数占该疾病类型的人数百分比。(3)略。(4)数据处理的顺序是:筛选、分组统计、排序(降序)。若要统计患病率,需按疾病类型进行分组统计,形成如图所示数据。其中姓名列和年龄列为统计的人数,若要找出人数最多的需按其中一个关键字进行降序排列。
疾病 姓名 年龄
0 疾病A
1 疾病B
2 - - -
疾病F
15.外卖配送。在一条笔直的大街上,某骑手接了若干个外卖单(均已准备就绪)。骑手配送原则如下:
(1)若当前没有配送任务,优先配送离当前位置最近距离的单子
(2)若在配送中,则当前配送线路不可更改,但可以接沿途的新单,或送达沿途目的地的其他已接单子。
(3)当前单子配送完成后,优先配送手中最早接下的外卖单。例如有下列单子,骑手初始坐标为2。
外卖单 A B C D
起始坐标 1 4 15 25
终点坐标 20 16 10 10
答案 (1)60 (2)A (3)①head=t ②(a[head][2]-a[head][1])*(a[p][2]-a[p][1])或(a[head][2]-a[head][1])/(a[p][2]-a[p][1]) ③p=a[pre][3]
解析 (1)根据配送顺序,表达式(2-1)+(20-1)+(20-10)+(25-10)+(25-10)=60。(2)在没有配送单时能获得配送单,所以两个条件是或者的关系,索引i比k距离更近的关系表达为abs(a[k][1]-pos)>abs(a[i][1]-pos)。(3)①找到第1个配送的单子,需更新头指针的值;②路径的方向相同,两个单子起点减去终点结果相乘为正值。③删除链表节点后,相应节点指针值的更新。

展开更多......

收起↑

资源列表