• 1、某排序算法排序过程如图所示,由图可知,该算法的时间复杂度为(   )

    A、O(n) B、O(n2) C、O(log2n) D、O(2n)
  • 2、下列Python表达式运算后,结果不为“C”是(   )
    A、ord("A"+2) B、chr(ord("B")+1) C、"China"[0:1] D、{1:"B",2:"C"}[2]
  • 3、某声音文件经过MP3格式压缩后的属性如图所示:

    以下说法不正确的是(   )

    A、将选中部分声音进行“裁剪”操作后,声音的总时间将被减少到2秒 B、该声音文件的大小约为315KB C、若未压缩前该文件小大为1.35MB,则该声音的量化位数为16位 D、将该文件还原为WAVE格式,可得到无损的原文件
  • 4、使用UltraEdit软件观察某字符串内码如图所示:

    下列说法正确的是(  )

    A、该字符串中所有的ASCII码占用了10个字节的空间 B、将字符“1”的内码与字符“a”内码进行异域运算后可得到字符“n”的内码 C、由“1”的内码是31H,可得“10”的内码是3AH D、由图可知,计算机内部使用的是十六进制编码
  • 5、阅读下列材料,请回答问题。

    2022卡塔尔世界杯将首次正式使用半自动越位识别(SAOT)系统。该系统使用 12 个专用摄像头来跟踪每名球员的29个数据点位,以此计算每一个球员的确切位置。同时,世界杯还使用了传感器足球,球内放置有惯性测量单元(IMU)传感器,其以每秒500次的频率将足球数据发送到视频操作室,从而可以非常精确地检测踢球点。该系统可为视频裁判快速提供自动越位警报,当视频裁判与现场裁判确认越位后,系统将生成3D动画,以最佳视角将越位画面在赛场大屏上进行播放。

    (1)、关于半自动越位识别(SAOT)系统,下列说法正确的是(   )
    A、该系统属于符号主义人工智能 B、该系统使用的摄像头属于输入设备 C、该系统生成的 3D 动画属于模拟数据 D、该系统使用的网络属于局域网
    (2)、关于该系统中相关的足球数据,下列说法正确的是(   )
    A、足球数据是已经产生的不可改变的数据,属于静态数据 B、视频裁判根据足球数据分析越位产生的原因告诫运动员避免越位再次发生 C、系统根据足球数据生成 3D 动画,这使用了 VR 技术 D、IMU 以每秒 500 频次将足球数据传到视频操作室,这说明大数据产生的速度非常快
    (3)、下列做法不利于该信息系统安全的是(   )
    A、将系统生成的3D动画在互联网上发布 B、对系统中的视频裁判开放所有权限以便他们能观察到所有数据 C、给每一位视频操作室人员分配一个绑定的“人脸识别”帐号 D、系统后台管理员注销某位“提前透露世界杯比赛结果”的内部操作人员帐号
  • 6、一款智力玩具,有x种颜色的n个不同直径的同心圆盘(x<n)。将圆盘串在倒T字型支架上,垂直俯视,直径不大于上方的圆盘将被遮挡,现从上方依次取走一片圆盘,记下能看到的颜色。最后说出取走几片圆盘后看到颜色种数最多,并说出颜色。某人取了6片5种颜色的圆盘随机叠放,如图a所示。他编写了如下程序来验证自己的结果是否正确,程序运行结果如图b所示。

    请回答下列问题:

    (1)、函数pop的功能是
    (2)、实现上述功能的部分程序如下页所示、请在划线处填入合适的代码。

    随机选取n个圆盘,其半径与颜色分别存储在列表r和color中并输出,如图b所示,

    r = [9,3,6,4,8,5], color = ['红','紫','蓝','绿','橙','红']。

    n = 1en(r)

    f= { }    # f中键为颜色,值为该颜色的可见数量,如: {" 蓝":2}

    def pop(top, cnum, rad):

        while top!= -1 and rad >= r[z[top]]:

            f[color[z[top]]] -= 1

            if   ①  

                cnum -= 1

            top -= 1

        return top, cnum

    z=[-1]*n

    top = -1

    cnum=cmax=0

    for i in range(n):

        top, cnum = pop(top, cnum, p[i])

        top += 1

          ②  

        if color[z[top]] not in f:

            if[color[z[top]]= 1

            cnum+= 1

        else :

            f[color[z[top]] += 1

        if cnum >= cmax:

            cmax = cnum

            res = dict(f)    #将此时的f另存到res中

            m=  ③  

    s=""

    for i in res:

        if res[i] > 0:

            s +=i

    print("拿走", m, "片后,可看到圆盘的颜色种数最多,分别为: ", s)

  • 7、为鼓励绿色出行,某市推出了优惠方案:乘一次地铁后可以获得一张优惠券,在有效期45分钟内(含)可免费搭乘一次公交车。 有效期指乘公交车与乘地铁的开始时刻之差。搭乘公交车时,可以使用优惠券则一定会使用,如果有多张优惠券满足条件,则优先消费获得最早的优惠券。有人用Python编写程序计算出行的费用。他的某次出行过程如图a所示,程序运行结果如图b所示。

    请回答下列问题:

    (1)、请在划线处填入合适的代码。

    def Ctime(t):

        #自定义函数Ctime功能为将时间转为分钟计存入变量s,代码略。

        return S

    读取出行记录,存储在列表a中,a[i][0]、a[i][1]、a[i][2]依次存储交通工具类型、票价、乘坐开始时刻。交通工具类型a[i][0]值为0表示地铁,1表示公交车。代码略。

    n = len(a)

    for i in range(n):

        a[i][2] = Ctime(a[i][2])

    for i in range(n - 1):

        for j in range(n - 1, i, -1):

            if 

                a[j], a[j - 1] = a[j - 1],a[j]

    #输出出行记录,代码略。

    total = 0

    head=tail=0

    q = [-1]*n

    for i in range(n)

        if a[i][0]==0

            total+= a[i][1]

              ①  

             tail+= 1

        else:

            while head < tail and q[head] < a[i][2] - 45:

               head += 1

            if    ② 

               total += a[i][1]

            else:

               print(a[i][2], "时刻使用了优惠券")

                 ③  

    print("总共花费为:", total)

    (2)、程序中加框处代码有错,请改正。
    (3)、该程序主要应用的数据结构类型是(选填:队列/栈/链表/二叉树)。
  • 8、有一个24小时自助图书馆的图书管理系统,该系统分为借书还书、读者管理和查询三个模块,为读者提供自助借还图书、申办借阅卡、图书查询等服务。
    (1)、在搭建图书管理系统前,需确定该系统采用以上三个模块以及相应的软硬件配置和数据存储管理方式等。这一过程属于(单选,填字母: A .需求分析/B .概要设计/C .详细设计/D .系统调试Y。)
    (2)、图书管理系统采用RFID技术采集借阅卡的信息,所使用到的设备如图a所示。

    其过程包括以下步骤:①读写器向电子标签发送射频信号;②读写器采集电子标签的信息并解码;③读写器将相关信息传输到服务器;④电子标签向读写器发送编码信息。上述步骤正确的顺序是

    (3)、将图书管理系统数据库中各书籍类别的借阅数据导出为文件“books.xlsx",部分界面如图b所示。

    输入年龄,现需统计该年龄读者阅读最多的书籍类别(输出前三种)。程序运行结果如图c所示。实现上述功能的程序代码如下,请补充方框处的代码(可以使用一条或多条语句)。

    import pandas as pd

    age = int(input("请输入要查询的年龄: "))

    age_ list = [[1, 12], [13, 18], [19, 45], [46, 59],[60,150]]

    for i in range(len(age_ list)):

        if age_ list[i][0] <= age <= age_ 1ist[1][1]:/

            break

    df = pd. read_ excel("books. xlsx")

    age_ col = df. columns[i + 2]     #获取年龄age对应的列名

    df = df. drop("月份",axis=1)

    print(age,"岁看得最多的前三类为: \n", list(res . index))

  • 9、有如下程序段:

    from random import randint

    s ="python"

    k = randint(1, 4)

    for i in range(k):

        j=i+1

        while j < len(s) and s[j] > s[i]:

            j+=1

        if j < len(s):

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

        else:

            s = s[:1en(s) - 1]

    print(s)

    执行该程序段后,s的值不可能是(    )

    A、"py” B、"pyo" C、”pytn" D、"pyton"
  • 10、将链表中的奇数节点和偶数节点分别排在一起,奇数节点和偶数节点的相对顺序不变。如原始链表为 , 新链表为。部分程序如下:

    #读入链表,存储在列表a中,head存储链表的头节点

    odd = head

    even = a[odd][1]

    tmp = even

    while a[odd][1] != -1 and a[even][1] != -1:

       

    a[odd][1] = tmp

    上述程序段中方框处可选的语句为:

    ①odd = a[odd][1]

    ②even = a[even][1]

    ③a[odd][1] = a[even][1]

    ④a[even][1] = a[odd][1]

    则方框处语句依次为(    )

    A、①③②④ B、①②③④ C、③②④① D、③①④②
  • 11、丑数是指不能被2、3、5以外的质数整除的数。判断丑数的自定义函数程序如下:

    def ugly(n):

        for i in[2,3,5]:

            while n % i==0:

                n=n//i

        return n == 1

    若调用执行自定义函数ugly(30),下列说法正确的是(    )

    A、函数返回值为False B、方框处程序应用了迭代算法 C、该程序的时间复杂度为为0(n2) D、条件语句n%i==0执行了3次
  • 12、数学表达式3/ (5*2)可用二叉树表示,如图所示。下列关于该二叉树的说法,正确的是(    )

    A、是完全二叉树 B、叶子节点数为2 C、前序遍历结果为352*/ D、用数组表示为
  • 13、用Python算法控制结构描述:空气质量指数AQI值大于100,小于等于150称为轻度污染;大于150称为中度以上污染。设M为AQI值,Z为污染程度。下列选项正确的是(    )
    A、 B、 C、 D、
  • 14、已知列表a=[2,3,4,5],要将列表a更新为[1,2,3,4,5],则下列可实现该功能的操作是(    )
    A、a="1”+ a B、a.append(1) C、a=[1]+a D、a=1+ a
  • 15、下列关于信息的安全与防护的说法,不正确的是(    )
    A、异地容灾是一种保护数据安全的措施 B、数据加密是为了提高数据自身的完整性 C、防火墙可以是由硬件和软件组成的复杂系统 D、身份认证技术能够有效防止数据资源被非授权使用
  • 16、下列关于大数据的说法,正确的是(    )
    A、因为数据量大,所以数据的产生速度慢 B、随着时间的流逝,流数据的价值随之提高 C、大数据由于量太大,因此只做抽样样本分析 D、通过商品的关联性,可以为客户提供精确推荐
  • 17、阅读下列有关材料,回答问题。

    某校打造智慧食堂,引入了智能结算系统。管理员通过网页平台进行师生账户管理、菜品管理、查询记录。师生在用餐前仅需将盛有菜的碗碟放到结算台,结算台的读写器读取碗碟中的电子标签信息并计算价格,摄像头采集到人脸信息,结算台的软件将人脸信息和消费价格一同发送给服务器,服务器进行人脸识别并返回扣费结果至结算台。

    (1)、下列关于信息系统的说法,正确的是(    )
    A、该系统对任何外部环境都无依赖 B、该系统中餐盘里的标签属于无源电子标签 C、管理员对该系统管理采用的是C/S网络架构 D、摄像头采集人脸过程实现了数字信号转模拟信号
    (2)、下列关于人脸识别的说法,正确的是(    )
    A、采用了深度学习 B、基于问题引导下的学习 C、应用了知识库和推理引擎 D、不需要借助数据进行学习
    (3)、下列关于数据的说法,不正确的是(    )
    A、采集到的人脸图像属于结构化数据 B、系统中所有数据以二进制形式存储 C、该系统中的账户数据存储在数据库中 D、数据发送到服务端时需遵守TCP/IP协议
    (4)、查询菜品信息的部分程序如下:

    @app. route(" /index" )

    def menu_ _list():

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

        cur = conn. cursor( )

        cur. execute("select * from menus")

        food = cur. fetchall()

        cur.close()

        conn. close()

        return render_ template("list.html", food = food)

    下列说法不正确的是(    )

    A、连接的数据库文件名是db. db B、查询的数据表名是food C、当前视图函数是menu_ list() D、当前路由是"/index"
  • 18、某校对高一新生按分班考试总分进行平行分班,具体分班规则如下:将高一年级学生按女生在前、男生在后分别按总分进行降序排序,然后按名次序号进行蛇形分班,例如分成6个班的分班示意如图a所示。

    实现上述功能的Python程序如下,程序运行结果如图b所示。回答下列问题:

    #从文件15. csv中读取学生分班数据(已按考号升序排序),保存在列表d中

    #其中d[0]数据为['考号','姓名','性别','总分'],变量w存储女生人数,代码略

    n=len (d) ; bj=[0]*n

    for i in range (n):

        b j[i]=i

    for i in range(1, n+1):

        for j in :   #①

            if d[bj[j]][2]==d[bj[j+1]][2] and int (d[bj[j]][3])<int (d[bj[j+1]][3]):

                bj[j], bj[j+1]=bj[j+1], bj[j]

               #②

                bj[j], bj[j+1]=bj[j+1], bj[j]

    cla=0;k=1

    for i in range(1, n) :

        cla+=k

        if   ③  

            cla=12;k=- 1

        elif cla>12:

            cla=12;k=-1

        elif cla<1:

            cla=1; k=1

        d[bj[i]]. append (cla)

    for i in range(n) :

        print (d[bj[i]])

    no=input ("请输入查找的学生考号:(输入End结束) ")

    while no!="End":

        i=1; j=n-1

        while i<=j:

            m=(i+j)//2

            if d[m] [0]==no:

                print("学号: "+no+" "+d[m] [1]+"同学在"+str(d[m] [4])+"班")

               break

            elif   ④  

                i=m+1

            else:

                j=m-1

    if i>j:

        print ("没有找到该同学)

    no=input ("请输入查找的学生考号: (输入End结束) ")

    (1)、女生名次序号为100的同学按上述规则分班到班(共12个班)。
    (2)、程序中加框处①代码(填:能/不能)替换为range(n-i-1,0, -1)。
    (3)、程序中加框处②代码有错误,请改正。
    (4)、在划线处③④填入正确的代码。

  • 19、小吴编写基于Flask Web框架的蔬菜温室智能灌溉控制系统。系统框架如图a所示。该信息系统实现:

    ①蔬菜温室A中共安装5个采集点,使用智能终端与传感器采集温度、湿度和灌溉阀门每天浇水量等数据,并将数据上传至服务器;

    ②服务器接收数据后,将数据存储在与程序同文件夹的数据库文件中;

    ③服务器每次存储数据后,读取数据库中最近上传的100条数据记录,计算平均湿度,若平均湿度小于50,且温室中5个阀门总共浇水量未超过当天需浇水总量L,则发送浇灌指令。

    (1)、数据库设计。

    该系统数据存储在data. db数据库文件,名为m_ tb的数据表中,表中有五个字段id、tim、deg、tem和wat,如图b所示。最近6条记录数据如图c所示,其中第1条记录中“A5”表示温室A的5号采集点,“36”为本次采集的湿度值,“490”为本采集点阀门当前累计的浇水量(阀门每天凌晨重置为0)。

    结合图c数据记录,当截止到2022 -9-1013:06:00 时,温室A总浇水量(填数字) (提示:温室总浇水量=最近所有阀门浇水量之和)。

    (2)、数据采集与传输。

    ①系统的采集点使用智能终端连接传感器采集数据,并采用无线技术接入网络,并以GET形式提交数据,则该传输过程中使用的网络协议主要有(多选,填字母:A .TCP/IP协议/ B .FTP 协议/C .HTTP协议/D .Telnet协议)。

    ②若id为Al的采集点某次采集如下数据:湿度值为45,阀门浇水量为500,需用URL格式为:ttp://10.1.0.8:88/s?d=45&w=50O&id=A1将采集数据上传到服务器。为实现上述功能,小吴在智能终端编写的Python程序段如下。

    #导入相关的模块库与无线连接设置,代码略

    IP="10.1.0. 8"; PORT="88"

    0bloq. httpConfig(IP, PORT)

    while True:

        d=pin0. read_ _analog()    #读取湿度值

        w=pinl. read_ analog()     #读取浇水量

        s_ get=  ▲ 

        errno, resp=0bloq. get (s_ get, 10000)

        if errno == 200:    #errno的值为200表示数据传输成功

           if resp==' open':

               pin8. write_ _digital(1)   #打开浇水的阀门

            else:

               pin8. write_ _digital (0)   #关闭浇水的阀门

    sleep (1000*60)

    请在  ▲  处选填如下代码,能实现传输数据功能的代码是(单选,填字母)

    A .s?d=45&w=500&id=A1

    B .”s?d=d&w =w&id=A1 '

    C .”s?d=str (d) &w=str (w) &id=A1"

    D . "s?d="+str (d)+" &w="+str (w)+ " &id=A1"

    (3)、数据处理。

    服务器每次接收到上传的数据后,立刻读取数据库中该温室最近100条的当天数据记录,计算平均湿度,若平均湿度小于50,且5个阀门总出水量未超过当天需浇水总量L,则发送浇灌指令。服务器实现上述功能的部分Python程序如下,请在划线处填入合适的代码。

    #导入相关的模块库,代码略

    app=Flask(_ name_ )

    db=sqli te3. connect("”)

    L=3000   #变量L存储温室当天需浇水总量

    @app. route("/s")

    def index ():

        s_ id=request. args. get("id")   #获取监测点编号

        s_ d=int (request. args. get("d"))   #获取湿度值

        s_ w=int (request. args. get("w"))   #获取当前出水量

        s_ t=str (datetime. now())[:10]   #获取当天日期

    #存储本次采集的各数据至data. db,代码略

    cur=db. cursor ()

    cur. execute("SELECT * FROM m_tb where tim like '"+s_ .t+"%'")    #执行数据库命令

    rec=cur. fetchall()#从数据库中读取当天的数据记录

    cur. close () ;db. close()

    deg=0;wat=[0]*6;i=0

    for arr in rec[::-1]:

        deg=deg+arr[2]

        w=  ②  

        if wat[w]==0:

            wat[w]=arr[4]

        i=i+1

        if i==100:

            break

    deg=deg/i;sum_ w=0

    for i in range(1, 6):

        sum_ w=sum_ w+wat[i]

    if   ③  

        return" open'

    else:

        return"close"

    app. run(host="10.1. 0.8", port=88)

  • 20、年级举行趣味运动会,每班派出10名运动员参加三个项目的比拼。每个项目前六名可以得分,第一名6分,第二名5分……依次类推,第六名1分。若出现成绩相同时,用对应得分之和除以同分个数后,将所得均分分给同分者。例如第一名和第二名同分,则前两名的得分均为5.5分(即(6+5)/2)。

    现有趣味运动会原始成绩表如图a所示,其中每个项目参赛人数均不少于10人,编写Python程序计算每个项目的前六名得分及各班总分,并以柱形图呈现各班总分情况,如图b所示。

    matplotib模块绘图barh)函数及其参数如下表所示:

    函数名及用法

    功能

    barh(y轴数据序列,x轴数据序列,其它参数缺省)

    绘制水平柱形图

    (1)、实现上述功能的Python程序如下,请在划线处填入合适的代码。

    def score(fslist):

        jf=[0]*len(fslist)

        i=1; c=6; same=1; st=0

          ①  

        while i<len(fslist):

            if fslist[i]!=fslist[i-1]:

                for j in range(  ②  ):

                     jf[j]=round (sumfs/ same, 2)

                st=i ; same=1 ; sumfs=0

            else:

                same+=1

            if c>0:

                c-=1

            sumf s=sumfs+c

            if   ③  :

                break

            i+=1

        if st==0:    #处理全体同分的情况

           jf=[round (21/len(fslist), 2)]*1en(fslist)

        return jf

    import pandas as pd

    import matplotlib. pyplot as plt

    plt. rcParams[" font. sans-serif"]=[" KaiTi", "SimHei", "FangSong"]   #设置中文字体

    df=pd, read_ excel("dbw. xlsx")

    item=["赶猪","投篮","跳绳"]

    #创建仅有列标题的DataFrame对象df1

    df1=pd. DataFrame (columns=["项目","班级","姓名","成绩","得分"])

    for i in range(3) :

        dfi tem=  ▲        #筛选出同一项目的所有记录

        dfitem=dfitem. sort_ _values ("成绩", ascending=False)

        lst=list (dfitem ["成绩"])    #把“成绩”列数据转为列表存储

        dfitem["得分"]=score(lst)     #计算得分

        df1=pd. concat ([df1, dfitem])    #合并赋分后的项目记录

    dfbj=df1. groupby ("班级", as_ index=False)    #按班级分类,保持原索引

    dfzf=dfbj["得分"]. sum( )   #计算各班级总分

    plt. barh(  ④  )    #绘制如图b所示柱形图

    plt. ylabel("班级")    #y轴标签为“班级”

    plt. title("‘趣味运动会’各班总分对比")

    plt. show( )

    (2)、请在  ▲  处选填如下代码(   )(单选,填字母)
    A、df[df.项目==i] B、df[df.项目=="赶猪"] C、df[df.项目==item[i]] D、df[df.项目==item[i+1]]
上一页 166 167 168 169 170 下一页 跳转