浙江省湖州市三贤联盟2021-2022学年高二上学期期中信息技术试题(文字版,含答案)

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

浙江省湖州市三贤联盟2021-2022学年高二上学期期中信息技术试题(文字版,含答案)

资源简介

绝密★考试结束前
2021 学年第一学期湖州市三贤联盟期中联考
高二年级技术学科 试题
考生须知:
1.本卷共 13 页满分 100 分,考试时间 90 分钟。
2.答题前,在答题卷指定区域填写班级、姓名、考场号、座位号及准考证号并填涂相应数字。
3.所有答案必须写在答题纸上,写在试卷上无效。
4. 考试结束后,只需上交答题纸。
第一部分 信息技术(共 50 分)
一、选择题(本大题共 12 小题,每小题 2 分,共 24 分,每小题列出的四个备选项中只有一个是符 合题目要求的,不选、错选、多选均不得分)
1.下列有关数据和信息的说法,正确的是
A.数据只有收集后才存在
B.数据可以是一串数字,经过解释后具有一定的意义,这个意义就是信息 C.数据也是可以被捏造的,捏造出来的数据无法承载任何信息
D.相同的数据得到的信息一定是相同的
2.为了保障数据的安全,下列做法正确的是
①定期备份数据库 ②安装磁盘阵列系统
③安装防火墙系统 ④对数据进行加密
⑤安装杀毒软件
A.①②④ B.①②③ C.①②③④ D.①②③④⑤
3.下列有关 n 进制数 120 的说法,正确的是 A.该数转换成十进制后一定是偶数 B.该数转换成十进制后可能小于 10
C.该 n 进制至少包含 3 个数码
D.该 n 进制数去掉最低位的“0”后,其对应的十进制值扩大 n 倍
4.输入法是一种重要的数据收集方式,通过对某用户常用词组的分析可以大致得到该用户的 基本信息,下列说法不.正.确.的是
A.采用语音输入或者手写输入就可以避免个人信息通过这种方式被收集
B.只要计算机不联网,就无法通过这种方式泄露个人信息
C.在法律允许范围内该种方式直观的体现了人人都是数据的生产者
D.通过联网更新后,越来越多新的词组可以被记忆以达到快速录入的目的,从而提高录入速度
5.为了保障数据传输过程中数据的安全,人们往往采用多种方式来隐藏数据或者伪装数据。其中 一种常用的办法就是把数据插入到一幅图像中,通过把真实数据以二进制的形式插入到图像
中,这样即使被截获,表面看起来就是一幅图像。下列几组数据中最有可能存在隐藏数据的是
6. 在抗击疫情的战斗中,大数据技术充分发挥了其数据量大、速度快、类型多等优势,特别是在
对密切接触者的判断和查找中发挥了巨大的作用,下列发现密切接触者的场景中没.有.体现大数
据技术应用的是
A.利用手机基站获取的定位信息 B.利用购票、乘车信息获取的出行信息
C.利用药店纸质登记的个人联系信息 D.利用人脸识别获取的商店进出信息
7.某算法用伪代码描述如下: 输入两个互不相等的正整数 A 和 B
10:If A(CA,AB,BC)
输出 A 和 B
Else
返回到标号 10 的行继续执行
下列有关上述算的法说法,正确的是
A.该算法违反了算法有穷性原则 B.该算法实现了找出 A 和 B 中的最大值 A C.该算法属于分支结构 D.该算法无法使用流程图来描述
8.会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算,而浮点数在精度和 运算所消耗的时间上有所欠缺,为了解决这个问题,一般采用 BCD 码来应对高精确度的计算。 BCD 码种类很多,其中压缩的 8421BCD 码是最简单的编码方式,采用 4 位二进制数表示 1 位十进 制数,根据每个位置上的权值 8、4、2、1 来表示十进制数(如十进制数 8 用压缩 8421BCD 码表 示为 1000BCD),如果对十进制数 123 采用压缩的 8421BCD 码进行编码的结果是 A.000100100011BCD B.100100011BCD
C.1111011BCD D.01111011BCD
9.以下流程图表示的算法是将十进制整数 n(n≥0)转换成二进制形式空白处填写正确的是
A.①n<>0 ②s=’0’ ③s=’’ ④n=0 B.①n<>0 ②s=’’ ③s=’0’ ④n<>0 C.①n=0 ②s=’0’ ③s=’’ ④n=0 D.①n=0 ②s=’’ ③s=’0’ ④n<>0
10.有如下程序段:
def f(a,b):
if a>b:
return a-b return a+b
x1=int(input("请输入第一个数")) x2=int(input("请输入第二个数")) print(f(f(x1,x2),f(x2,x1)))
当键盘输入 12 和 13 后,程序输出的结果是
A.重复调用出错 B.50 C.24 D.26
11.查找素数能够很好的体现出计算机解决某些数学问题的速度优势,除了计算机性能以外,设计 更加简单的算法也能够提高计算机解决某些问题的速度。某种素数算法就是通过“开关”的思 想,例如求 100 以内的所有素数,采用列表来表示[1,1,1,1,……,1,1,1],列表的索引值表示
0-99 中的每个数,1 表示“开”即为素数(先假设都为素数),从 2(0 和 1 不是素数)开始, 因为索引 2 号对应的值为 1,则 2 是素数,再将后面能够被 2 整除的索引对应的值都改为 0,依 次类推……以下程序就是采用这种思路编写的输出 1000 以内的所有素数的程序:
lst1=[] #存放每个数的开关 lst2=[] #存放找到的素数 lst1=[1]*1000 #初始化开关列表 for i in range(2,1000):
if lst1[i]==1:
lst2.append(i)
lst1[j]=0
print(lst2) #输出所有 1000 以内的素数 上述程序横线处的合适代码为
A. if lst1[j]%i==0: B. if lst1[i]%i==0:
C. for j in range(i,1000,i): D. for j in range(i+1,1000,i):
12.有如下程序段:
import random #导入随机数模块
n=random.randint(0,100) #产生 0-100 之间的随机整数,包含 0 和 100 m=n;k=0;s=''
while n!=1:
for i in range(2,n+1):
if n % i==0 :
k=i n=n//k s=s+str(k)+'*' break
print(m,'=',s[0:len(s)-1])
上述程序执行后,输出结果不.可.能.的是
A.67=67 B.34=2*17
C.54=2*3*3*3 D.20=2*3*4
二、非选择题(本大题共 4 小题,其中第 13 小题 5 分,第 14 小题 6 分,第 15 小题 6 分,第 16 小 题 9 分,共 26 分)
13.信息的加密一直是一种保障信息安全的手段,其中最简单的一种加密方法就是采用密钥加密。 如下是对小写字母利用密钥加密的基本算法:
①输入密钥 a(0②设置 i 的初值为 0,s1 的初值为空串
③获取待加密字符串 s 的第 i 个字母 c
④按字母表顺序用字母 c 后面第 a 个字母代替字母 c;如果字母 c 后面第 a 个字母超出 了“z”,则返回“a”后再按次序后移 (说明:字母“z”后移 2 位应该变为“b”)
⑤将加密完成的字母 c 连接到 s1 中
⑥i 增加 1
⑦如果 i 的值小于等于待加密字符串 s 的长度-1,则返回第③步,否则输出密文字符串
s1
(1)如果密钥为 3,那么采用该算法对字符串‘axz’加密后的密文应该是 ;同样,采用 该算法获得密文为‘happy’,密钥为 5,则加密前的原文是 。
(2)如果要将此算法改为对应的解密算法,仅需改动第 步(仅 1 个步骤,不考虑原算法其 它步骤中“加密”字样的修改),改为:

14. 技术学科一共包含 2 门学科——信息技术和通用技术,这就需要我们关注学科的平衡,而衡量 某位学生学科平衡的重要指标就是学科吻合度,我们采用信息技术与通用技术的得分差来判断(分 差每 3 分为一级:分差 0 到 3 分(不含 3 分),表示“0 级偏差”;分差 3 到 6 分(不含 6 分),表示 “1 级偏差”,分差 6 到 9 分(不含 9 分),表示“2 级偏差”……分差最高为 50 分,最后一级分差
48 到 50(含 50 分),表示“16 级偏差”),计算每位学生的吻合度偏差值。根据题意,请回答下列 问题:
第 14 题图:xxx 班技术模拟测试得分表
(1)(多选题)为了后续程序处理,我们需要把数据读入到程序中,每个学生一条记录,用 python
存储学生测试得分数据下列可行的是(以前两条记录为例)( ) A.students=[[0901,50,32],[ 0902,50,45],……] B.students={'0901':['50', '32'], '0902':['50', '45'],……} C.students={0901:['50', '32'], 0902:['50', ' 45'],……} D.students=[['0901', '50', '32'],['0902', '50', '45'],……]
(2)编写函数 f(xx,ty)实现传入信息得分和通用得分,返回吻合度级别(返回示例:'1 级偏差')
(3)完成程序填空:
students={'0901':[50,82],'0902':[50,95],……} #(以前两条记录为例)
for i in students.keys():
xx=
ty=
print(i,':',f(xx,ty))
15.图像的存储和处理在计算机内部的是采用二进制的形式,一幅图像常常由分辨率、颜色深度的 方式来存储,Python 的 PIL 模块能够直接读取图像中每个像素点的颜色信息,一般采用 RGB(红:
0~255,绿:0~255,蓝:0~255)的方式表示颜色。现有一幅红.字.白.底.图像 1.bmp,基本信息如下:
1.bmp
#程序段 1:
from PIL import Image import numpy as np
import matplotlib.pyplot as plt img=np.array(Image.open('1.bmp').convert("L"))
rows,cols=img.shape#获取图像的行数和列数
for i in range(rows):
for j in range(cols):
if img[i,j]>128:
img[i,j]=0 #设置为黑色
else:
img[i,j]=1 #设置为白色
plt.figure("1.bmp")
plt.imshow(img,cmap="gray") #以灰度模式显示
plt.axis("off")
plt.show()
1.bmp 属性截图 说明:以上程序段 1 实现将 1.bmp 以黑底白字显示 请根据以上信息回答下列问题:
(1)程序段 1 运行过程中,变量 j 的值范围是 ;
(2)程序段 2 调试时出现“IndexError: index 128 is out of bounds for axis 1 with size 128” 的提示,则上述程序出现这个错误的语句是( )
A. rows,cols=img.shape B. for i in range(rows)
C. img[i,j],img[i,cols-j]=img[i,cols-j],img[i,j] D. plt.imshow(img,cmap="gray")
应该修改为:
#程序段 2:
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt img=np.array(Image.open('1.bmp').convert("L")) rows,cols=img.shape
for i in range(rows):
for j in range(cols//2):
img[i,j],img[i,cols-j]=img[i,cols-j],img[i,j]
plt.figure("hh") plt.imshow(img,cmap="gray") plt.axis("off")
plt.show()
(3)将第(2)题表述的错误修改正确后,程序段 2 运行后图片呈现的内容:

16.超市收银系统一般由收银机、条码称及数据服务器组成,收银机通过扫描条形码来录入购物信 息, 打印购物小票进行结算。超市的商品一般分为两种类型:计件商品和计重商品,商品的条
形码信息中还需要包含商品类别识别码,用于识别商品类型。某次购物条码图和清单如下:
条码图 购物结算小票
(1)根据以上条码图和购物小票信息,如果客户购买了 1kg 仔排,条码秤打印出来的条码编
码是 。
(2)购物结算清单中的下列信息来自数据服务器的是(多选题)( )
A.商品名称 B.商品单价 C.会员积分 D.商品重量 E.商品总金额
(3)
以上是解决这个问题而设计的一种算法,该算法中①处该填写 , 该算法中②处填写( )
A.ty!=’01’ B. ty==’01’ C. ty!=01 D. ty==01
(4)根据此算法,编写如下代码实现收银机功能(用输入字符串’end’模拟“结算”按钮,用 键盘输入条形编码模拟扫描输入,把购物清单输出到文本文件 list.txt 模拟打印购物清单):
sp={} #商品信息字典
#此处代码功能从数据服务器中获取商品信息字典 sp,sp 的结构为{'商品货号':'商品名称,商品单价'}
alljg=0.0 #保存结算总金额
sn=input('请输入商品条形码:')
#######################################################
#完成购物清单文本文件头处理 f=open('list.txt', 'r+')#打开文本文件 list.txt f.truncate()#清空文本文件内容
f.write('货号\t\t 商品名称\t 数量\t 单价\t 金额\n')
########################################################
while ③ : ty=sn[0:2]#获取商品类型 hn=sn[2:7]#获取商品货号 if hn in sp:
mc=sp[hn].split(', ')[0]#获取商品名称 dj=float(sp[hn].split(', ')[1])#获取商品单价 if ty!= '01':
sl=1.0 jg=dj
else:
sl=float(sn[12:14]+'. '+sn[14:17])

print('{:<10s}{:<20s}{:^10.3f}*{:^10.2f}={:^10.2f}'.format(hn, mc, sl, dj, jg))
#按格式输出内容,主要目的保持输出的内容上下按类别对齐
f.write(hn + '\t\t' + mc + '\t' + str(sl) + '*\t' + str(dj) + '=\t' + str(jg) + '\n')
# 往文本文件中写入购物记录信息
alljg+=jg else:
print('商品货号有误,请核对后重新输入')

print('小计:{:.2f}'.format(alljg))
f.write('---------------------------------------\n')#文本文件输出分割线
f.write('小计:'+str(alljg))#往文本文件中写入总计信息
f.close#关闭 list.txt 文件
程序中划线③处代码应填 程序中划线④处代码应填
程序中划线⑤处代码应填2021学年第一学期湖州市三贤联盟期中联考
高二年级技术学科试题
第一部分信息技术(共50分)
一、选择题(本大题共12小题,每小题2分,共24分,每小题列出的四个备选项中只有一个是符 合题目要求的,不选、错选、多选均不得分)
1. 下列有关数据和信息的说法,正确的是( )
A. 数据只有收集后才存在
B. 数据可以是一串数字,经过解释后具有一定的意义,这个意义就是信息
C. 数据也是可以被捏造的,捏造出来的数据无法承载任何信息
D. 相同的数据得到的信息一定是相同的
【答案】B
2. 为了保障数据的安全,下列做法正确的是( )
①定期备份数据库 ②安装磁盘阵列系统 ③安装防火墙系统 ④对数据进行加密 ⑤安装杀毒软件
A. ①②④ B. ①②③ C. ①②③④ D. ①②③④⑤
【答案】D
3. 下列有关 n 进制数 120 的说法,正确的是( )
A. 该数转换成十进制后一定是偶数 B. 该数转换成十进制后可能小于10
C. 该n进制至少包含3个数码 D. 该n进制数去掉最低位的“0”后,其对应的十进制值扩大n倍
【答案】C
4. 输入法是一种重要的数据收集方式,通过对某用户常用词组的分析可以大致得到该用户的 基本信息,下列说法不正确的是( )
A 采用语音输入或者手写输入就可以避免个人信息通过这种方式被收集
B. 只要计算机不联网,就无法通过这种方式泄露个人信息
C. 在法律允许范围内该种方式直观的体现了人人都是数据的生产者
D. 通过联网更新后,越来越多新的词组可以被记忆以达到快速录入的目的,从而提高录入速度
【答案】A
5. 为了保障数据传输过程中数据的安全,人们往往采用多种方式来隐藏数据或者伪装数据。其中 一种常用的办法就是把数据插入到一幅图像中,通过把真实数据以二进制的形式插入到图像中,这样即使被截获,表面看起来就是一幅图像。下列几组数据中最有可能存在隐藏数据的是( )
A. B. C. D.
【答案】D
6. 在抗击疫情的战斗中,大数据技术充分发挥了其数据量大、速度快、类型多等优势,特别是在对密切接触者的判断和查找中发挥了巨大的作用,下列发现密切接触者的场景中没有体现大数据技术应用的是( )
A. 利用手机基站获取的定位信息 B. 利用购票、乘车信息获取的出行信息
C. 利用药店纸质登记的个人联系信息 D. 利用人脸识别获取的商店进出信息
【答案】C
7. 某算法用伪代码描述如下:
输入两个互不相等的正整数 A 和 B 10:If A下列有关上述算的法说法,正确的是( )
A. 该算法违反了算法有穷性原则 B. 该算法实现了找出 A 和 B 中的最大值 A
C. 该算法属于分支结构 D. 该算法无法使用流程图来描述
【答案】A
8. 会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算,而浮点数在精度和 运算所消耗的时间上有所欠缺,为了解决这个问题,一般采用 BCD 码来应对高精确度的计算。 BCD 码种类很多,其中压缩的 8421BCD 码是最简单的编码方式,采用 4 位二进制数表示 1 位十进 制数,根据每个位置上的权值 8、4、2、1 来表示十进制数(如十进制数 8 用压缩 8421BCD 码表 示为 1000BCD),如果对十进制数 123 采用压缩的 8421BCD 码进行编码的结果是( )
A. 000100100011BCD B. 100100011BCD C. 1111011BCD D. 01111011BCD
【答案】A
9. 以下流程图表示的算法是将十进制整数 n(n≥0)转换成二进制形式空白处填写正确的是( )
A. ①n<>0 ②s=’0’ ③s=’’ ④n=0
B. ①n<>0 ②s=’’ ③s=’0’ ④n<>0
C. ①n=0 ②s=’0’ ③s=’’ ④n=0
D. ①n=0 ②s=’’ ③s=’0’ ④n<>0
【答案】B
10. 有如下程序段:
def f(a,b):
if a>b:
return a-b return a+b
x1=int(input("请输入第一个数"))
x2=int(input("请输入第二个数"))
print(f(f(x1,x2),f(x2,x1)))
当键盘输入12和13后,程序输出的结果是( )
A. 重复调用出错 B. 50 C. 24 D. 26
【答案】C
11. 查找素数能够很好的体现出计算机解决某些数学问题的速度优势,除了计算机性能以外,设计 更加简单的算法也能够提高计算机解决某些问题的速度。某种素数算法就是通过“开关”的思 想,例如求 100 以内的所有素数,采用列表来表示[1,1,1,1,……,1,1,1],列表的索引值表示0-99 中的每个数,1表示“开”即为素数(先假设都为素数),从 2(0 和 1 不是素数)开始, 因为索引2号对应的值为1,则2是素数,再将后面能够被2整除的索引对应的值都改为0,依次类推……以下程序就是采用这种思路编写的输出 1000 以内的所有素数的程序:
lst1=[] #存放每个数的开关
lst2=[] #存放找到的素数
lst1=[1]*1000 #初始化开关列表
for i in range(2,1000):
if lst1[i]==1:
lst2.append(i)
__________________________
lst1[j]=0
print(lst2) #输出所有 1000 以内的素数
上述程序横线处的合适代码为( )
A. if lst1[j]%i==0: B. if lst1[i]%i==0: C. for j in range(i,1000,i): D. for j in range(i+1,1000,i):
【答案】C
12. 有如下程序段:
import random #导入随机数模块
n=random.randint(0,100) #产生0-100之间的随机整数,包含0和 100 m=n;k=0;s=''
while n!=1:
for i in range(2,n+1):
if n % i==0 :
k=i n=n//k s=s+str(k)+'*'
break
print(m,'=',s[0:len(s)-1])
上述程序执行后,输出结果不可能的是( )
A. 67=67 B. 34=2*17 C. 54=2*3*3*3 D. 20=2*3*4
【答案】D
二、非选择题(本大题共4小题,其中第13小题5分,第14小题6分,第15小题6分,第16题9分,共26分)
13. 信息的加密一直是一种保障信息安全的手段,其中最简单的一种加密方法就是采用密钥加密。 如下是对小写字母利用密钥加密的基本算法:
①输入密钥 a(0(1)如果密钥为3,那么采用该算法对字符串‘axz’加密后的密文应该是_____;同样,采用该算法获得密文为‘happy’,密钥为5,则加密前的原文是_____。
(2)如果要将此算法改为对应的解密算法,仅需改动第______步(仅1个步骤,不考虑原算法其它步骤中“加密”字样的修改),改为:____________。
【答案】 ①. dac ②. cvkkt ③. ④ ④. 按字母表顺序用字母c前面第a个字母代替字母c;如果字母c前面第a个字母超出了“a”,则返回“z”后再按次序前移
14. 技术学科一共包含2门学科——信息技术和通用技术,这就需要我们关注学科的平衡,而衡量某位学生学科平衡的重要指标就是学科吻合度,我们采用信息技术与通用技术的得分差来判断(分差每3分为一级:分差0 到3分(不含3分),表示“0级偏差”;分差3到6分(不含6分),表示“1级偏差”,分差6到9分(不含9分),表示“2级偏差”……分差最高为50分,最后一级分差48到50(含50分),表示“16级偏差”),计算每位学生的吻合度偏差值。根据题意,请回答下列问题:
xxx班技术模拟测试得分表
(1)为了后续程序处理,我们需要把数据读入到程序中,每个学生一条记录,用python存储学生测试得分数据下列可行的是(以前两条记录为例)( )
A. students=[[0901,50,32],[ 0902,50,45],……]
B. students={'0901':['50', '32'], '0902':['50', '45'],……}
C. students={0901:['50', '32'], 0902:['50', ' 45'],……}
D. students=[['0901', '50', '32'],['0902', '50', '45'],……]
(2)编写函数f(xx,ty)实现传入信息得分和通用得分,返回吻合度级别(返回示例:'1 级偏差')_______
(3)完成程序填空:
students={'0901':[50,82],'0902':[50,95],……} #(以前两条记录为例)
for i in students.keys():
xx=____________
ty=____________
print(i,':',f(xx,ty))
【答案】 ①. BD ②. ③. students[i][0] ④. students[i][1]
15. 图像的存储和处理在计算机内部的是采用二进制的形式,一幅图像常常由分辨率、颜色深度的方式来存储,Python的PIL模块能够直接读取图像中每个像素点的颜色信息,一般采用 RGB(红:0~255,绿:0~255,蓝:0~255)的方式表示颜色。现有一幅红字白底图像1.bmp,基本信息如下:
1bmp
1.bmp属性截图
#程序段 1: from PIL import Image import numpy as np import matplotlib.pyplot as plt img=np.array(Image.open('1.bmp').convert("L")) rows,cols=img.shape#获取图像的行数和列数 for i in range(rows): for j in range(cols): if img[i,j]>128: img[i,j]=0 #设置为黑色 else: img[i,j]=1 #设置为白色 plt.figure("1.bmp") plt.imshow(img,cmap="gray") #以灰度模式显示 plt.axis("off") plt.show()
说明:以上程序段1实现将1.bmp 以黑底白字显示
请根据以上信息回答下列问题:
(1)程序段1运行过程中,变量j的值范围是______;
(2)程序段2调试时出现“IndexError: index 128 is out of bounds for axis 1 with size 128”的提示,则上述程序出现这个错误的语句是( )
A. rows,cols=img.shape B. for i in range(rows)
C. img[i,j],img[i,cols-j]=img[i,cols-j],img[i,j] D. plt.imshow(img,cmap="gray")
应该修改为:___________
#程序段 2: from PIL import Image import numpy as np import matplotlib.pyplot as plt img=np.array(Image.open('1.bmp').convert("L")) rows,cols=img.shape for i in range(rows): for j in range(cols//2): img[i,j],img[i,cols-j]=img[i,cols-j],img[i,j] plt.figure("hh") plt.imshow(img,cmap="gray") plt.axis("off") plt.show()
(3)将第(2)题表述错误修改正确后,程序段2运行后图片呈现的内容:_________。
【答案】 ①. 0≤j〈128 或0≤j≤127或采用开闭区间的写法等等价描述 ②. C ③. img[i,j],img[i,cols-j-1]=img[i,cols-j-1],img[i,j] ④. 实现原图像的水平翻转并以灰度模式显示
16. 超市收银系统一般由收银机、条码称及数据服务器组成,收银机通过扫描条形码来录入购物信 息, 打印购物小票进行结算。超市的商品一般分为两种类型:计件商品和计重商品,商品的条形码信息中还需要包含商品类别识别码,用于识别商品类型。某次购物条码图和清单如下:
(1)根据以上条码图和购物小票信息,如果客户购买了 1kg 仔排,条码秤打印出来条码编码是_____。
(2)购物结算清单中的下列信息来自数据服务器的是(多选题)( )
A.商品名称 B.商品单价 C.会员积分 D.商品重量 E.商品总金额
(3)
以上是解决这个问题而设计的一种算法,该算法中①处该填写_____, 该算法中②处填写( )
A.ty!=’01’ B. ty==’01’ C. ty!=01 D. ty==01
(4)根据此算法,编写如下代码实现收银机功能(用输入字符串’end’模拟“结算”按钮,用键盘输入条形编码模拟扫描输入,把购物清单输出到文本文件listtxt模拟打印购物清单):
sp={} #商品信息字典
#此处代码功能从数据服务器中获取商品信息字典 sp,sp 的结构为{'商品货号':'商品名称,商品单价'}
alljg=0.0 #保存结算总金额
sn=input('请输入商品条形码:')
#######################################################
#完成购物清单文本文件头处理 f=open('list.txt',
'r+')#打开文本文件 list.txt f.truncate()#清空文
本文件内容
f.write('货号\t\t 商品名称\t 数量\t 单价\t 金额\n')
########################################################
while③
ty=sn[0:2]#获取商品类型
hn=sn[2:7]#获取商品货号
if hn in sp:
mc=sp[hn].split(', ')[0]#获取商品名称
dj=float(sp[hn].split(', ')[1])#获取商品单价 if
ty!= '01':
sl=1.0
jg=dj
else:
sl=float(sn[12:14]+'. '+sn[14:17])

print('{:<10s}{:<20s}{:^10.3f}*{:^10.2f}={:^10.2f}'.format(hn, mc, sl, dj, jg))
#按格式输出内容,主要目的保持输出的内容上下按类别对齐
f.write(hn + '\t\t' + mc + '\t' + str(sl) + '*\t' + str(dj) + '=\t' + str(jg) + '\n')
# 往文本文件中写入购物记录信息
alljg+=jg
else:
print('商品货号有误,请核对后重新输入')

print('小计:{:.2f}'.format(alljg))
f.write('---------------------------------------\n')#文本文件输出分割线
f.write('小计:'+str(alljg))#往文本文件中写入总计信息
f.close#关闭 list.txt 文件
程序中划线③处代码应填 ___________
程序中划线④处代码应填____________
程序中划线⑤处代码应填__________
【答案】 ①. 01255700439601000 ②. ABC ③. 商品库中存在对应的货号hn ④. B ⑤. sn!='end' ⑥. jg=float(sn[7:10]+'.'+sn[10:12])或等价答案 ⑦. sn=input('请输入商品条形码:')第一部分:信息技术
一、选择题:(共 12小题,每小题 2分,合计 24分)
题号 1 2 3 4 5 6 7 8 9 10 11 12
答案 B D C A D C A A B C C D
二、非选择题(13小题 5分,14小题 6分,15小题 6 分,16小题 9分,合计 26 分)
13.(1) dac (1 分)、 cvkkt (1 分) (2) ④ (1 分)、
④按字母表顺序用字母 c前面第 a 个字母代替字母 c;如果字母 c前面第 a 个字母超出了“a”,则返
回“z”后再按次序前移 (2分,往前移动 1分,超出 a返回 z 1分)
14.(1) BD (2 分,漏选得 1 分,错选、多选不得分)
(2)def f(xx,ty):
return str(abs(xx-ty)//3)+'级偏差' 及其它等价答案
(2 分)
(3) students[i][0] (1分)、 students[i][1]- students[i][0] 或 students[i][1]-xx(1分)
15.(1) 0≤j〈128 或 0≤j≤127 或采用开闭区间的写法等等价描述 (1分)
(2) C (1分)、 img[i,j],img[i,cols-j-1]=img[i,cols-j-1],img[i,j] (2 分)
(3) 实现原图像的水平翻转并以灰度模式显示 (2分,水平翻转等价 1分,灰度模式等价 1分)
16.(1) 01255700439601000 (1分)
(2) ABC (2分,漏选得 1分,错选、多选不得分)
(3) 商品库中存在对应的货号 hn? (1分)、 B (1分)
(4)③ sn!= 'end' (1分)、④ jg=float(sn[7:10]+ ' . '+sn[10:12]) 或等价答案 (2分)、
⑤ sn = input('请输入商品条形码:') (1 分)
高二技术期中考试 技术参考答案 第 1 页 共 2 页

展开更多......

收起↑

资源列表