试题

试题 试卷

logo

题型:综合题 题类: 难易度:困难

浙江百校2023年9月高三信息技术起点调研测试卷

某医院的团体体检流程如下:

编号登记:为n位体检者设置体检编号1~n。

体检呼叫:体检项目处空闲时呼叫下一个体检者(编号小的优先),若多个项目同时呼叫,体 检者到优先级小的项目处体检。仅考虑常规体检项目,各个项目的优先级及体检时间如表1所示:

前去体检:各个体检项目之间相互独立,互不影响;病人排队体检和体检完毕到下一科室之 间没有时间延迟。

(1)、某日下午,仅1个团队4人(分别用编号1,2,3,4表示)参加体检 ,开始体检后第5分钟,4在检查 (填写项目名称)项目。
(2)、定义如下lst(n)函数,生成n人体检队列 。若体检人数为4人,则 que生成结果如表2所示。

deflst(n):

    que=[]

   

        que.append(temp)

    return que

若加框处语句改为:

则执行语句lst(4),que的生成结果 (选填:是/否)相同。

(3)、用 python程序模拟一个10人团队参加体检的流程。程序运行后,体检完成顺序如图1所示:

Python部分程序如下 , 请在划线处填入合适的代码。

n=10

head=0

que=lst(n)

tail=10

dis=[['B超', 12],[ '心电图' , 5],['抽血', 2],['尿常规' , 2],['C14检测', 2],['胸透' , 2], ['一般常规(身高体重血压)', 1]]

t=[-1]*7         #t记录各个项目当前体检的开始时间

f=[-1]*7         #f记录各个项目当前体检人员编号

def jh(num):

    global tail            #global能够实现在自定义函数中改变公共变量tail

    p=head

    while p<tail:

        if que[p][0]not in fand num not in que[p][1]:  #p体检者等待中且未体检num项目

            que[p][1].append(num)

           

            t[num]=time

            if len(que[p][1])==7:

                temp=que[p]

                    for i in range(p , tail-1):

                        que[i]=que[i+1]

                    que[tail-1]=temp

                    tail-=1

                break

        p=p+1

time=0

while tail! =head:

    i=0

    while i<7:

        if t[i]==-1:

            jh(i)

        elif  :

            t[i]=-1

            f[i]=-1

            i-=1

        i+=1

    time+=1

print('体检完成顺序:')

for i in range(  ):       #按体检完成顺序输出体检者及其的体检项目顺序

    item= que[i][1]

    s= '  '

    for j in item:

        s+=dis[j][0]+'→'

    print('编号%d:%s'%(que[i][0], s[:-1]))

举一反三
返回首页

试题篮