浙江省舟山市2021-2022学年高二下学期信息技术期末考试试卷
试卷更新日期:2022-07-28 类型:期末考试
一、选择题(本大题共12小题,每小题2分,共24分。)
-
1. 下列关于数据、信息、知识的说法,正确的是( )A、数字是数据的唯一表示形式 B、在任何地方看到数据都能明确其含义 C、信息是数据经过存储、分析及解释后所产生的意义 D、只要获取足够的信息,就能掌握丰富的知识2. 有关大数据的说法,下列正确的是 ( )A、大数据一般用于分析抽样数据 B、大数据采集的数据都是结构化数据 C、大数据更加注重事物的相关性 D、用大数据进行处理时,必须保证每个数据都准确无误3. 新冠疫情的出现给送餐机器人行业按下了“加速键”,隔离酒店采用机器人送餐,可以减少感染风险。下列关于人工智能说法不正确是( )A、送餐机器人属于符号主义研究方法的人工智能 B、跨领域人工智能不仅依赖于已有规则,而且专注于知识和技能的获取 C、人工智能技术提高了生产力,创造出了全新产品和服务 D、随着人工智能的发展,机器人会取代高度重复的工作人员,同时也会产生新的工作岗位4. 以下关于信息系统说法不正确的是 ( )A、信息系统是指由硬件软件设施、通信网络、数据和用户构成的人机交互系统。 B、数据处理系统具有统一规划的数据库,信息高度集中,供各类用户共享 C、信息系统规范了工作流程,提高了工作效率 D、对外部环境的依赖是信息系统最大的局限性5. 以下关于计算机软硬件说法正确的是 ( )A、中央处理器(CPU)主要由运算器和控制器组成 B、断电后,只读存储器(ROM)中的信息会丢失 C、计算机软件可分为系统软件、应用软件和工具软件 D、常用的计算机操作系统有Windows、iOS、Android等6. 射频识别(RFID)技术目前已普遍应用于社会各个领域。关于射频识别技术,下列说法不正确的是 ( )A、射频识别需要两大基本要素: 电子标签和 RFID 读写器 B、二代身份证、银行卡等内置的电子标签属于无源标签 C、射频识别技术是物联网的关键技术 D、NFC 技术由RFID 演变而来,是一种远距离高频的无线电技术7. 下列Python表达式的值为True的是 ( )A、not(3>2 or 'a'>'b') B、len('python') == max([2, 6, 1, 4, 7]) C、'3'+'2' > '13'+'12' D、7%8 == 1 or 19//5 == 4.58. 下列代码的输出结果是 ( )
s=['seashell', 'gold', 'brown', 'purple', 'tomato']
print(s[2][1:4])
A、gold B、row C、gol D、rown9. 异或运算时要求把参与运算的数转换为二进制数再进行按位运算,在Python中异或运算符号用“^”表示,则Python表达式13^5的值是 ( )A、5 B、8 C、13 D、1810. 有如下程序:a = input('输入小写字母组成的字符:')
for i in a:
n = ord(i)+1 #(字符a的ASCII码为97)
h = ''
for j in range(8):
h = str(abs(n%2- 1))+h
n = n//2
print(h, end=' ')
若输入小写字母“ab ”得到的结果是 ( )
A、0011101 0011100 B、1100010 0011100 C、10011101 10011100 D、00011101 0001110011. 某加密程序的代码如下:def encrypt(code, key):
code_new = ''
for i in range(len(code)):
code_new = code[(i+key)%len(code)] + code_new
return code_new
code = input('请输入加密字符串:')
key = int(input('请输入偏移位数:'))
print(encrypt(code, key))
当输入“Python”和“3”后,程序输出的结果是 ( )
A、 mvqelk B、 sbwkrq C、 honPyt D、 tyPnoh12. 有如下 Python 程序。from random import randint
a=[0]*6
for i in range(6):
a[i]=randint(1, 10)
for i in range(6):
if a[i]%2==0 and i%2== 0:
a[i] += 1
elif i%2==1:
a[i]=a[i]+a[i- 1]
print(a)
程序运行后,输出结果可能是 ( )
A、[8, 11, 7, 3, 11, 14] B、 [9, 13, 7, 13, 11, 14] C、[9, 8, 11, 13, 7, 15] D、 [9, 13, 7, 13, 10, 8]二、非选择题(本大题共4小题,6+6+7+7,共26分。)
-
13. 某传感器实验要实现如下功能:micro:bit通过传感器dht11获取温湿度,通过串口与计算机传送数据,当用户在计算机上输入字符“T”,在micro:bit的LED阵列上显示温度,输入字符“H”,则显示湿度。
micro:bit中烧录如下代码:
from microbit import
import dht11
while True:
temp, hum=dht11.read (pin1)
if uart.any:
incni'ng-str (uart.readal1 O, "UTE-8'》
incoming=incoming.strip('n')
if incoming='T':
display .show (temp)
① :
display.show (hum)
else:
display.scroll ('err')
在计算机端的Python程序如下:
import serial, time
ser=serial.Serial( )
ser.baudrate= 115200
ser.port='COM3'
②
while True:
select=input( )
ser.write(select.encode( ))
#打开串口
回答下列问题:
(1)、温湿度传感器接在 micro:bit 的 引脚上。(2)、要实现设定功能,请完善上述划线处代码。①②
(3)、在完善上述代码后发现系统不能正常工作,其原因是。14. 罗马数字是阿拉伯数字传入之前使用的一种数码。罗马数字采用七个罗马字母作基本数字,即Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。具体的记数方法为:
①相同的数字连写,所表示的数等于这些数字相加得到的数,如Ⅲ=3;
②小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数,如Ⅷ=8、Ⅻ=12;
③单个小的数字(限于Ⅰ、X和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如Ⅳ=4、Ⅸ=9
王老师结合上述规则,在7个基本数字基础上新增了部分常用数字,并设计了一个将罗马数字和阿拉伯数字进行相互转换的程序,运行界面如图所示:
实现该功能的程序代码如下:
num=[1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
roma={1000: 'M', 900: 'CM', 500: 'D', 400: 'CD', 100: 'C', 90: 'XC', 50: 'L', 40: 'XL', 10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I'}
s=input('输入一个罗马数字: ')result1=0
①
for i in range(13):
while s[k:k+len(roma[num[i]])]==roma[num[i]]:
result1 += num[i]
print('阿拉伯数字是:',result1)
n=int(input('输入一个阿拉伯数字:'))
result2=''
for i in range(13):
while n>=num[i]:
result2 = result2 + roma[num[i]]
②
print('罗马数字是:',result2)
根据以上代码,回答下列问题:
(1)、“roma”的数据结构类型是。(2)、要实现数字转换,请完善上述程序的划线处代码。①②
(3)、上述程序中加框处代码有误,请改正。15. 某中学为更好组织高三学生参加某高校的三位一体招生考试(该高校三位一体招生学业水平考试成绩折算如下:各科学考等级按A=10分、B=9分、C=8、D=6分进行折算),统计了所有学生学业水平成绩情况,并保存在“学考成绩.xlsx”中,如图a所示。用Python读取“学考成绩.xlsx”文件,并计算每个学生的折算分,筛选出各班“A总数”最多的前5条数据,导出到“各班前5名统计.xlsx”文件中。同时为直观展示各班折算分92分以上人数对比,生成图b所示图表。图 a
图 b
(1)、在对表格进行整理时发现,表格中关于“德乐蕊”的记录,可能存在的数据问题是 (选填:A .数据缺失/B .数据异常/C .逻辑错误/D .格式不一致)。(2)、“各班前5名统计.xlsx”文件中共有 位学生数据。(3)、请在下述程序的划线处填上合适的代码。Python 程序代码如下:
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
df=pd.read_excel('学考成绩.xlsx')
#正常显示汉字
df.折算分=
#对df以“班级”为主要关键字升序、“A总数”为次要关键词降序进行排序
df_sort=df.sort_values(['班级', 'A 总数'], ascending=[True, False])
result=df_sort.head(5)
for i in range(2, 7):
result=result.append(df_sort[ ].head(5), ignore_index=True) result.to_excel('各班前5名统计.xlsx')
df=df[df.折算分>=92]
df_count=df.groupby('班级').count( )
#修改“折算分”列名为“上线人数”
df_count = df_count.rename(columns={'折算分':'上线人数'})
x=df count.indexy=
plt.figure(figsize=(8, 4))
plt.bar(x, y, label='上线人数')
plt.ylim(15, 30)
plt.legend( )
plt.show( )
16. 利用Flask和Sqlite模块,编写相应的Python程序与网页代码,来模拟用户登录验证过程。功能是:运行Python程序,启动浏览器并输入相应网址,在网页中输入用户名、密码,与数据库中的数据进行比对,若正确则在浏览器中显示成功信息,否则显示“用户名或密码错误!”。存储用户名、密码的数据表中共有三个字段,依次表示序号、用户名、密码。input.html网页与success.html网页内容如下:<html><head><title>输入账号密码</title></head> <body>
<form action="/deal_request" method="get">
请输入账号:<input type="text" name="usr" ><br>
请输入密码:<input type="password" name="psd"><br> <input type="submit" value="提交" />
</form>
</body></html>
<html><head><title>Welcome</title></head>
<body>
<h1>登录成功!</h1><br>
<h1>欢迎你: ① </h1><br>
</body></html>
编写的 Python 程序如下:
from flask import Flask, render_template, request
import sqlite3
② = Flask(_name_)
@app.route('/')
def input():
return render_template('input.html')
@app.route('/deal_request', methods = ['GET'])
def deal_request():
get_usr = request.args.get('usr')
get_psd = request.args.get('psd')
if check(get_usr, get_psd):
return render_template('succes.html', name=get_usr)
else:
return '用户名或密码错误!'
def check(name, psd):
db=sqlite3.connect('login.db')
cur= ③ #创建游标对象
cur.execute('select * from users')
data=cur.fetchall()
for rec in data: #比对用户名与密码
if rec[ 1]==name and rec[2]==psd:
return True
else:
return False
if _name_ == '_main_':
app.run(host=' 127.0.0. 1 ', port=5000, debug=False)
请完成下列题目:
(1)、在浏览器中输入地址:http://127.0.0. 1:5000 ,则访问的网页是。(2)、若登录成功后,在浏览器中文字“欢迎你:”的后面显示当前用户名,则划线①处的代码是 。(3)、要实现上述功能,完善划线②、③处代码。②③
(4)、若本机IP地址为192.168.0.1,若要使同网段内其他计算机可以访问上述服务,则需将加框处的IP地址改为。