学进去-教育应平等而普惠
排序:
限于篇幅仅展示1000道试题,请根据关键词精准搜索
某“有机蔬菜种植基地实时监测系统”的结构如图所示。Web服务器端程序采用Flask Web框架开发,利用与智能终端连接的传感器采集大棚内的温度、光照强度数据,每隔一段时间由智能终端经IOT模块发送到Web服务器。如果环境监测温度值超过系统设置的阈值,触发通风、喷水或加热设备调节至适宜温度,同时根据环境光照强度自动打开或关闭补光灯。请回答下列问题:

(1)根据该系统的功能要求,图中的①②处的设备分别为__________________(选填字母,A.执行器/B.路由器/C.传感器)
(2)该系统服务端程序采用Flask Web框架编写,服务器的IP地址是192.168.1.10,端口号为8080,网站功能页面规划如下表所示:

序号

访问地址

功能说明

1

/

实时显示最新数据

2

/input?tem=20&light=40

提交传感器数据

3

/search

查看显示某一天的历史数据

若要查看某一天的数据记录,在浏览器应输入的URL为_________
(3)该系统每隔一定时间采集大棚内的温度数据,如果超过适宜温度的范围会进行降温或升温的调节(适宜温度为tmin~tmax),计算一段时间内超过适宜温度的次数,列表变量s存储采集到的温度数据,下列程序正确的是_________
A.c=0

for i in s:

if   s[i]< tmin or s[i]> tmax:

c+=1


print("超过适宜温度的次数",c)
B.c=0

for i in range(len(s)):

if tmin<=s[i]<=tmax:

continue


c+=1
print("超过适宜温度的次数",c)
C.c=0;i=1

while i<=len(s):

if not(tmin<=s[i]<=tmax):


c+=1
i+=1
print("超过适宜温度的次数",c)
D.c=[0]*len(s)

for i in range(len(s)):

if not(s[i]>=tmin and s[i]<=tmax):

c[i]=1


print("超过适宜温度的次数",sum(c))
(4)在系统调试过程中,发现系统一直提示光线不足,简要说明系统中可能造成上述问题的原因________(本系统中,通信网络、传感器与智能终端的功能均不存在问题。)
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
学习完信息系统的搭建实例,小明想搭建一个智能盆栽浇灌系统。用micro:bit作为智能终端采集土壤湿度传感器的数据,利用继电器控制水泵做到智能浇水,同时通过 IoT 模块将数据上传至Web服务器,方便客户端实时查看。
(1)在搭建该信息系统前,需要进行前期准备的步骤依次为______(单选,填字母)。

①开发模式选择 ②概要设计 ③需求分析 ④详细设计 ⑤可行性分析

A. ③⑤②①④             B. ③⑤①②④             C. ③①⑤②④


(2)硬件搭建。智能盆栽浇灌系统的整体框架如下题图所示。

“智能终端”部分代码如下:

from microbit import *

import Obloq

# 设置服务器参数、WiFi 名称密码和当前盆栽的 uid,并连接 WiFi,代码略

while True:

       hum = pin1.read_analog()

       status, resp = Obloq.get("input?uid="+str(uid)+"&hum="+str(hum), 2000)

       if status == 200:

             if resp == '1': # 1 表示打开浇灌,0 表示关闭浇灌

                    pin12.write_digital(1)

                    sleep(8*1000)

                    pin12.write_digital(0)

             else:

                    pin12.write_digital(0)

       else:

             display.scroll(str(status))

       sleep(80*1000)


由以上代码可知,土壤湿度传感器接在智能终端的______口上,当盆栽需要浇水时,每次浇灌的时间为______秒。
(3)Web 服务器端程序使用 Flask 框架编写,部分代码如下。

#导入 flask 等相关的库,代码略

app = Flask(__name__)

@app.route('/input', methods=['GET'])

def insert():

       uid = request.args.get('uid') # 获取花盆编号值

       data = float( request.args.get('hum') ) # 获取土壤湿度值

       value = 300

       if data > value:

             water = 0

       else:

             water = 1

       #将接收到的数据存入数据库,代码略

       return str(water)

if __name__ == '__main__':

     app.run(host='192.168.1.200', port=8080)


由以上代码可知,该系统采用了______(选填:POST / GET)方式传递数据。盆栽的 uid为2,土壤湿度值为188,上传成功后,水泵______(选填:会/不会)浇灌盆栽,传输数据时使用的 URL是______(单选,填字母)。
A.http://192.168.1.200:8080/input&uid=2?data=188
B.http://192.168.1.200:8080/input&uid=2?hum=188
C.http://192.168.1.200:8080/input?uid=2&data=188
D.http://192.168.1.200:8080/input?uid=2&hum=188
(4)该系统在连续正常工作几个星期后,某一天小明忽然发现土壤很干,但系统一直未浇水,简要说明系统中可能造成上述问题的原因是______
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
某 Python 程序如下:

import random

numlist=[2,3,4,5]

s=""

for i in range(4):

       a=random.randint(i,numlist[i])

       s+=str(a)

print(s)

程序运行后,输出的结果不可能是(     

A.0223B.2143C.2314D.2345
类型:选择题
难度系数:较难0.4
收藏
纠错
详情
有如下Python程序段:
import random
key=random.randint(10,30)
a=[29,25,22,18,15,10]
i=0
j=len(a)-1
n=0
while i<=j:
       n=n+1
       m=(i+j+1)//2
       if key < a[m]:
             i=m+1
       else:
             j=m-1
print(n)
执行该程序段,下列说法正确的是( )
A.若key值为18,变量i的值为2
B.若key值为25,则语句m=(i+j+1)//2需要执行2次
C.对于任意key值,输出的值都不可能为2
D.对于任意key值,程序运行后,变量j的值可能为5
类型:选择题
难度系数:较难0.4
收藏
纠错
详情
某银行网点有5个窗口,银行最少要保持3个窗口营业,另2个窗口初始为备用状态。客户按批次进入大厅,每个客户的业务办理时间为1个单位,银行每过1个时间单位就允许下一批客户进入。对于进入银行的客户,如果某窗口正空闲,则可上前办理业务,反之,若所有窗口均有客户,他便会排在最短的队伍后面。当平均每个营业窗口前的队伍人数大于等于7人时(队伍包括正在办理业务的客户在内),银行可临时将备用窗口中一个或两个改为营业窗口,当所有窗口平均客户少于7人时,将立即停用一个营业窗口转为备用,窗口平均人数若继续减少至以上情况,可再停止一个营业窗口,但最多只能有两个窗口为备用状态。
现模拟该银行排队程序,效果如下图所示,输出10个人各自的等待时间单位:

输出格式描述: (客户编号:等待的时间)
(1)实现上述功能的Python程序如下,请在划线处填入合适的代码。

mins=3       #常用窗口3个

maxs=5       #最多可开设5个窗口

lims=7       #正常服务时每个窗口平均等待的最多人数

tm=int(input("请输入客户共多少批: "))

ps= list(map(int ,input("输入每批客户人数"). split(",")))

# list(map(int,["1","2","3"]) )返回:[1, 2, 3]

sw= mins

if len(ps)! = tm:

print("输入有误! " )

pid, cnt=0,0

head, tail=0,0

qe=[[0,0]]* 1000       #创建等待队列

def updatetime(s):

for j in range( len(s)):

s[j][1]+= 1

for i in range(tm):

for j in range(sw):        #将轮到的人进行出队

if ________ :

print(f’({qe[ head][0]} :{qe[ head][1]})',end=")   #按格式出队输出

head += 1

cnt-=1

#人数减少后,检查人数和窗口数是否符合要求并按照要求减少窗口,代码略

if head!= tail:

________   #更新等待队列里每个人的等待时间

for j in range (ps[i]) :

pid+= 1

qe[tail]=[pid,0]

tail += 1

cnt += 1

while _________ :

sw += 1

while cnt>0:

#最后一批人进入银行后,程序只需要处理等待队列剩余人员到出队和窗口的减少,直至人数为0,代码略。


(2)共有3批客户,分别为22人、23人、21人,则输出结果中,第4个人等待时间单位是____
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
现有一小块矿石,质量不超过 200g,现用托盘天平来称重,已知砝码规格有50g,20g,10g,5g,2g,1g ,共 6 种规格,每种规格的砝码数量均满足需求,游码置于标尺零刻度位置且无需拨动,将该矿石放至托盘天平左盘,不断往右盘加砝码(注:先大后小),直至平衡。根据输入的矿石质量(注:只考虑正整数),输出平衡时所需的各规格砝码数量。
该程序运行的部分界面如下图所示,请在程序划线处填入合适的代码(每空2分)。

ore = int(input("请输入矿石质量:"))
weights = [50,20,10,5,2,1] #砝码规格
num = [0] * len(weights) #初始化所需的各规格砝码数量
res =_________              
i = 0
while ore > 0:

num[i] = ore // weights[i]

_________              

i += 1

for i in range(len(num)):

if _________              :

res = res + str(weights[i]) + "g:" + str(num[i]) + "个;"


print(res[:-1])
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
下列有关大数据的说法,不正确的是(        
A.大数据要分析的是抽样数据,而不是全体数据
B.大数据的速度快不仅指数据产生的速度快,还指数据处理的速度快
C.大数据不再追求个别数据的精确性,允许数据混杂
D.大数据价值密度的高低与数据总量的大小成反比
类型:选择题
难度系数:较难0.4
收藏
纠错
详情
“石头剪刀布”是一个不需要任何道具即可解决争议的游戏。多人石头剪刀布规则:
①游戏中,石头胜剪刀,剪刀胜布,布胜石头;
②当前参与人中,如果出现1种或3种手势时,为平局,继续游戏;
③当前参与人中,如果出现2种手势时,依据规则①出局;
④当前参与人中,只剩下1位,则为赢家,游戏结束。
(1)主程序。输入参与游戏人数,初始化参与游戏人手势状态,统计手势种类,依据规则进行游戏。相关状态说明如图a所示,三种手势呈正时针环状,当1种手势未出现时,下一个手势为赢,再下一个为输。运行结果如图所示。请在程序中划线处填入合适的代码。

图a                                          图b


n=int (input("请输入参加人数: "))
hand=[9]*n                    #设置手势的初始状态为9
cnt=[0]*4                           #存储各类手势的人数,出局0、石头1、剪刀2、布3
while True:
       redo()                    #为对未出局人员随机生成手势状态,并输出
       cnt=counter 0             #分类统计各类手势的人数
lost=0
if cnt[1]==0 and cnt[2]>0 and cnt[3]>0 : lost=3 ; win=2
if cnt[2]==0 and cnt[3]>0 and cnt[1]>0 : lost=1 ; win=3
if cnt[3]==0 and cnt[1]>0 and cnt[2]>0 : lost=2 ; win=1
if lost>0:
       print("\n出局:", end=' ')
       out (lost)
       cnt[lost] = 0
if ____:             #只剩下1位赢家,输出获胜编号,游戏结束
       print("\n结果:", hand)
       for i in range(n):
              if hand[i]>0 :
                    print("\n获胜编号: ",i)
       break
(2)编写redo函数。功能为对未出局人员随机生成手势状态,并输出。
from random import randint
def redo ():
       for i in range (n):
             if ____ :                    #剩余参与人员随机生成手势状态
                    hand[i]=randint (1,3)
       print("\n开始:", hand, end=' ')
(3)编写counter函数。功能为分类统计各类状态人数,存储在列表s中,并返回列表,程序如下。
def counter() :
       s=[0]*4
       for i in range(n) :
              j=hand[i]
              s[j]= ___             #分类计数
       return s
(4)编写out函数。功能为把手势k设置为出局,并在对应位置输出为“^”,未出局者输出为“”,程序如下。
def out (k) :                    #出局
for i in range (n) :
       if ____:
              hand[i]=0
              print("^", end=' ')
       else:
              print(' ', end=' ')
(5)加框部分修改为采用循环结构,程序如下。
for i in range(1,4):
       win = i%3+1                    #赢手势号
       lost = ____       #输手势号
       if cnt[i]==0 and cnt[win]>0       and cnt[lost]>0:        #只 出现2种手势
             print("\n出局:", end=' ')
              out (lost)
             cnt[lost] = 0
(6)某轮参与人员各类状态如列表[1,3,1,3,1,3,3,3],则经过本轮后出局人数为 ____
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
排队。已有一个n*n的方阵,为快速整队,使方阵变得整齐,有如下要求:
①整队后按身高每行从左到右升序
②整队时,可以让学生离开使得该行按身高升序,但不能让学生交换位置
③每行在符合要求的情况下,保持人数最多
④最后根据各个行的人数,寻找值i,人数大于等于i的行的数量大于等于i,i尽量大,组成一个i*i的最大方阵。
小明编写程序,按要求确定每行的最长长度,再寻找值i,并输出组成的最大方阵i*i的大小。方阵的身高数据已按每行存储在和代码文件同一个位置的“身高.csv”文件中,如图a所示数据,运行后结果如图b。

(1)若数据如图c所示,程序运行后输出:组成的最大方阵大小为_______
(2)实现上述功能的Python程序如下,请在划线处填入合适的代码。
(3)加框处代码有误,请改正。_______
def readfile(filename):#读取文件

f=open (filename,encoding='utf-8')

line=f.readline();t=[]


while line:

’’’代码l将line以逗号为分隔符分割,并将里面的每个元素转换为整型代码2将a转换为列表,例如1ine="156,167,182”,运行上述代码1,2后存入a的为[156,167,182]’’’

a=map(int,line.split(",")) #代码1

a=list(a)     #代码2

t.append (a); line=f. readline()


return t
def max_cd(i,b,k):   #计算k中到索引i处为止的最长升序序列的元素个数并返回

for j in range(i-l.-1,-1):#枚举索引i的元素放在索引 0-i-1哪个元素之后最优

if:

b[i]=b[j]+1

return b[i]


t= ___#读取文件
c=[]
for k in t:

b={} #b中键为索引,值表示在列表k中到该索引为止最长升序序列的元素个数

Max=0

for i in range(len(k)):#b中键值对赋初值

__

for i in range(len(k)):

b[i]=max_cd(i, b,k)

if b[i]>Max:

Max=b[i]

c. append (Max)


for i in range (len(t),0,-1):

count=0

for j in c:

if j>=i:

count+=1

if count>=i:

___


print("组成的最大方阵大小为”,i,"*",i)
类型:操作题
难度系数:较难0.4
收藏
纠错
详情
有如下Python程序段:
s="bbccbcc";key="bc";new="cb"
i=0
while i<=len (s)-len (key):

if s[i:i+len(key)]==key:

s=s[:i]+new+s[i+len(key):]

i=0

else:

i=i+1


执行该程序段后,变量s的值为(     
A.ccbbcbcB.cccbbbbC.ccccbbbD.ccccbbbb
类型:选择题
难度系数:较难0.4
收藏
纠错
详情
首页
上一页
下一页
尾页