浙江省台州市八校 2021-2022学年高二下学期信息技术期末联考试卷

试卷更新日期:2022-07-28 类型:期末考试

一、选择题(本大题共12小题,每小题2分,共24分)

  • 1. 下列关于数据、信息和知识及大数据的说法正确的是(    )
    A、信息的价值是相对的, 对于不同的人群、不同的时间, 其价值可能有所不同 B、大数据改变的不仅是数据,还有人们的思维,大数据强调对事物因果关系的探求  C、互联网技术的发展,加速了数据的传输与处理, 计算机不再是数据处理的主要工具 D、知识的获得是人利用自身已有的知识对信息进行加工重构得到新知,知识就是对信息的积累
  • 2. 下列关于人工智能的说法不正确的是(    )
    A、深度学习是联结主义的典型代表 B、图灵测试是测试机器是否具有智能的一种方法 C、依赖于领域知识和数据的人工智能称为跨领域人工智能 D、人工智能技术对经济发展、社会进步都有巨大的推动作用
  • 3. 阅读下列材料, 回答下面小题。

    智能农业大棚通过传感器、控制器、网络设施和计算机程序来实现大棚的自动化管理。例如,自动温度控制系统中的温度传感器每隔一定时间采集大棚中的温度,一旦温度超过预设的最高温度40℃,控制系统会启动通风和喷水系统实现降温;如果温度低于预设的最低温度18℃,控制系统会启动加热器,给大棚升温。

    (1)、关于信息系统下列说法正确的是(    )
    A、信息系统本质上是一个工作系统, 信息系统无法处理复杂问题 B、信息系统由五个关键要素组成,分别是硬件、软件、数据、通信网络和传感器 C、计算机硬件主要由运算器、控制器、存储器、输入设备和输出设备五大部件组成 D、安装防火墙能够防止黑客或病毒入侵系统, 因此无需再安装防病毒软件和系统丁
    (2)、用算法来解决上述问题,以下说法不正确的是(    )
    A、可以通过抽象与建模、设计算法、描述算法三步来解决问题 B、根据传感器获取的值, 需要进行不同的处理,这是通过控制转移来实现的 C、自动温度控制系统进行温度控制的算法只能使用流程图来描述 D、该智能农业大棚的网络设施中可能需要无线路由器进行数据通讯
  • 4. 某网吧的网络拓扑结构如下图所示。

    该网络中①②处的设备依次为(    )

    A、路由器  交换机 B、交换机  路由器 C、防火墙  交换机 D、防火墙  路由器
  • 5. 在日常幻灯片(如使用PowerPoint制作的讲稿)的放映中,可以通过超链接的方式进行幻灯片之间的任意跳转。与这种幻灯片的组织方式相似的数据结构是(    )
    A、链表 B、队列 C、 D、
  • 6. 在某餐厅点餐系统中,利用队列来储存当前正在排队顾客的编号,head指向队首元素,tail指向队尾元素的下一个位置,若tail=head+3,则现在排队的顾客数量为(    )
    A、2 B、3 C、4 D、5
  • 7. 下列 Python 表达式中值最小的是(    )
    A、2**2+5%13//9 B、8//3*7/2 C、len(range(7))/3 D、int("1"+"4")//abs(-7)
  • 8. 使用Python语言对SQLite数据库进行操作,实现创建名为my.db的数据库文件以及user表的语句如下。

    ①import sqlite3;

    ②conn.commit( );

    ③c.execute(sql);

    ④c.close( );⑤conn.close();

    ⑥c = conn.cursor( );

    ⑦conn = sqlite3.connect("my.db")

    ⑧sql = "CREATE TABLE user(username TEXT,password TEXT)"

    语句执行的先后顺序正确的是(    )

    A、①⑦②⑧③④⑤⑥ B、①②⑦⑥⑧③④⑤ C、①②⑦③⑥⑧④⑤ D、①⑦⑥⑧③②④⑤
  • 9. 某 Python 程序段如下:

    b = [[92,2],[98,4],[91,1],[88,0],[95,3]]

    head=0

    p=0

    while b[p][1]!=head:

      print(b[p][0],end=",")

      p=b[p][1]

    print(b[p][0])

    运行该程序段, 输出的内容为(    )

    A、88,91,92,95,98 B、98,95,88,92,91 C、92,91,98,95,88 D、98,95,92,91,88
  • 10. 有如下 Python 程序段:

    c = "1/23//45///6"

    t = ""

    flag = True

    s=0

    for i in range(len(c)):

      if c[i]=="/":

        if flag:

          s+=int(t)

          t=""

          flag = not flag

        else:

    t+=c[i]

    执行上述程序段后,变量s的值是(      )

    A、1 B、24 C、69 D、480
  • 11. 有如下 Python 程序段:

    import random

    a = [8,6,1,3,2,9]

    k = random.randint(1,3)

    for i in range(k,k+2):

      if a[i]<a[i-1]:

        a[i],a[i-1]=a[i-1],a[i]

    执行该程序段后,a 对象的内容不可能是(      )

    A、[6, 1, 8, 3, 2, 9] B、[8, 6, 1, 2, 3, 9] C、[8, 1, 3, 6, 2, 9] D、[6, 9, 1, 3, 2, 8]

二、非选择题(本大题共4小题,5+6+7+8,共26分)

  • 12. 小王要对这10篇作文随机抽取1篇进行分词处理,并进行频率统计,在统计频率时需要去除单个的文字,请回答下列各题。文章收集后存放目录如图a所示,生成的词云如图b所示。

       

    import import import

    pandas as pd

    os,jieba,re,random,wordcloud

    matplotlib.pyplot as plt

    from PIL import Image

    wzdir = "./2021 浙江高考满分作文/"

    wz = os.listdir(wzdir) #获得文件夹中所有文件的名称列表

    wzrd =    ①       

    f=open(wzdir+wzrd[0],encoding="utf-8")

    dd=f.read ()

    f.close()

    #使用正则表达式去除文章中的标点符号

    ss = re.sub("[、,。:“”;?\n]","",dd)

    wb = jieba.lcut(ss,cut_all=True)

    word = {}

    for i in wb:

      t =i.strip()

      if len(t)>1:

        if t in word:

          word[t]+=1

        else:

               ②    

          wc = wordcloud.WordCloud(font_path="msyh.ttc", width=800, height=600) wc.background_color="white"

          wc.fit_words (word)

          img = wc.to_array()

          plt.rcParams['font.sans-serif']=['SimHei'] plt.figure()

          plt.imshow(img)

          plt.axis(False)

          plt.title(wzrd[0].split(".")[0])

        ③  

    #支持中文显示

    (1)、为实现上述功能①处代码为                            
    A、random.sample(wz,1) B、random.shuffle(wz) C、random.randint(1,10)
    (2)、请将②③处代码补充完整

  • 13. 小王开发基于Python的FlaskWeb框架开发室内光线强度监测信息系统,系统程序及相关的子系统都部署在Web服务器端,网站框架如图所示。

    该系统的客户端无需专门的应用程序,用户工作界面通过浏览器来实现,应用程序基本上都集中于服务器端。

    (1)、由上述材料可知,服务器端的IP地址为 , 该系统的实现架构属于(选填:C/S 架构、B/S架构)。
    (2)、实现上述系统的服务器端Python程序如下:

    from flask import Flask, render_template,request    #导入Flask库函数

    app=Flask(_name_)

    @app.route("/")

    def index():

    #获取采集的数据并存储到列表变量 data,代码略

    return render_template("index.html",data= )

    @app.route("/ ",methods=["GET"])       #数据采集子页面路由命令

    def get():

    id=int(request.args.get("id")) d=float( )

    #获取 URL 中“id=1”后的数据“1”

    #变量 d 存储采集到的光线数据

    #打开数据库, 并将接收的数据存储到数据库中,代码略

    return "数据存储成功! "

    #其他系统子页面路由, 代码略

    if _name_=='_main_':

    app.run ( )

  • 14. 某数据压缩方法描述如下:

    ①原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;②原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个为0,第2个为0;③原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个为0,第2个为重复数的个数,第3个为该数本身。

    根据上述压缩方法,对应的解压缩方法示例如图所示。

    小明学习了Python的PIL、matplotlib和numpy等模块知识后,现有图像文件“台州.bmp”,该文件的颜色模式为RGB,将该图像文件的每个像素点转换成灰度值(值为整数)后,使用上述压缩方法进行压缩并保存为文本文件。颜色RGB值转灰度值的公式如下:

    灰度值=0.299×红色颜色分量+0.587×绿色颜色分量+0.114×蓝色颜色分量

    (1)、如果压缩数据为“23,0,21,66,0,0,77,0,5,0”,则解压缩数据的个数是
    (2)、实现上述功能的Python程序如下。请在划线处填入合适代码。

    from PIL import Image

    import numpy as np

    import matplotlib.pyplot as plt

    img = np.array(Image.open("台州.bmp"))

    row,cols,rgb = img.shape

    s=[]

    for i in range(row):

    for j in range(cols):

    r,g,b = img[i,j]

    hdz =

    s.append(hdz)

    ss = []:j = 0

    while j<len(s)-1:

    if s[j]!=s[j+1]:

    if s[j]!=0:

    ss.append(s[j])

    else:

    ss.extend()    #extend 函数用于在列表末尾一次性追加另一个序列中的多个值

    j+=1

    else:

    c = s[j]

    for k in range(j+1,len(s)) :

    if c!=s[k]:

    break

    else:

    ss.extend([0,k-j,s[j]])

    j=k

    if j!=len(s):

    ss.append(s[j])

    f = open("台州 255.txt","w+")

    f.write(",".join(map(str,ss)))

    f.close()

  • 15. 为四则运算式“6+(8-2)*2÷3”转逆波兰表达“682-2*3÷+”设计算法,编程实现。

    分析:在数学运算表达式中,运算符总是置于与之相关的两个运算对象之间,在计算结果时,要考虑括号、运算符号的优先性。为了程序实现的方便,波兰逻辑学家J.Lukasiewicz提出了另一种表示法,将运算符置于其运算对象之后,没有括号,不用考虑运算符号的优先性。这种表达式称为后缀表达式,又叫逆波兰表达式。

    如表达式“682-2*3÷+”是四则运算式“6+(8-2)*2÷3”的逆波兰表达式。为了处理方便, 规定表达式中的数均为小于 10 的正整数, 运算符为+ - * ÷。

    ⑴抽象建模

    设计两个栈bds、fh,栈bds用来存放表达式,栈fh用来暂时存放运算符。从左往右扫描四则运算式,遇到数字时,入栈bds;遇到运算符号时,根据运算符号的优先级设计进栈与出栈。

    四则运算式“6+(8-2)*2÷3”转换规则的模拟过程如表1所示:

    表 1

    结合表1的操作过程,用栈bds和栈fh记录每个操作后的栈内情况(见下图),那么在操作2中栈fh里有内容为(请从栈底到栈顶顺序书写)。

    ⑵设计算法

    基于问题的抽象与建模,解决该问题的主要算法描述如下:

    从左往右遍历四则运算式s(设中间变量为ch):

    1)当ch是数字,直接入栈bds;

    2)当ch是运算符:

    a.若ch为左括号时,直接入栈fh;

    b.若ch为右括号时,则将栈fh元素弹出,压入栈bds,直到遇到左括号(左括号只弹出,不压入栈bds);

    c.若ch为其它运算符时,如果运算符ch优先级大于栈fh中栈顶元素的优先级(或栈fh为空),直接入栈fh;否则,将栈fh元素依次弹出,并压入栈bds,直到运算符ch优先级大于栈fh中栈顶元素的优先级(或栈fh为空);

    3)将栈bds中元素依次出栈,即为该四则运算s的后缀表达式。

    ⑶编写程序

    实现上述功能的 Python 代码如下,请在划线处填入合适代码。

    yxj = {"+":1,"-":1,"*":2,"÷":2} #运算规则的优先级

    s = input("请输入四则运算式: ")

    fh = [""]*100  #存储运算符

    topfh = -1

    bds = [""]*100 #存储表达式

    top=-1

    for ch in s:

    if ch.isdigit():   #字符串只包含数字则返回 True 否则返回 False

    top+=1

    bds[top]=ch

    elif ch == "(":

    topfh +=1

    fh[topfh]=ch

    elif ch == ")":

    while True:

    tmp = fh[topfh]

    topfh-=1

    if tmp=="(":

    top+=1

    bds[top]=tmp

    elif ch in yxj:

    if topfh==-1 or fh[topfh]=="(":

    topfh += 1

    fh[topfh]=ch

    elif :

    topfh+=1

    fh[topfh]=ch

    else:

    while fh[topfh]!="(" and topfh!=-1:

    if yxj[fh[topfh]]>=yxj[ch]:

    top+=1

    bds[top]=fh[topfh]

    topfh-=1

    else:

    break

    topfh+=1

    while topfh!=-1:

    top+=1

    bds[top]=fh[topfh]

    topfh-=1

    print("后缀表达式:","".join(bds[:top+1]))