学进去-教育应平等而普惠
试题
类型:操作题
难度系数:0.15
所属科目:高中信息技术
某奶茶店收到了n杯奶茶的订单,这n杯奶茶分别经过甲、乙两个工序加工,并且必须先在甲工序加工后才可以进行乙工序。为了使得总加工时间最短,我们可以将这n杯奶茶分为两类:
第一类:甲工序的加工时长少于乙工序的加工时长。
第二类:甲工序的加工时长不少于乙工序的加工时长。
第一类应将在甲工序花费时间少的产品排在前面,第二类应将在乙工序花费时间少的产品排在后面,然后先处理所有第一类产品,再处理第二类产品。可以证明,这样排序后所有奶茶加工完成花费的总时间最少。
如:有4杯奶茶的订单,它们在甲工序的加工时长分别为2、3、5、1,在乙工序的加工时长分别为3、1、2、5,将奶茶分类、排序、合并、计算时长的过程如图所示,最后得出总时长为12。(每杯奶茶在乙工序开始加工需同时满足它甲工序加工完并且乙工序已加工完上一个产品这两个条件)

编写程序模拟奶茶店对这n杯奶茶的处理过程,计算总加工时间。
请回答下列问题:
(1)由题意可知,若3杯奶茶在甲工序加工时长分别为3、1、3,乙工序加工时长分别为2、4、3,则总加工时长为_______
(2)小李先编写了如下将第一类产品排序的函数:
def order1(a,b): #参数a、b的元素分别表示每杯奶茶在甲乙两道工序的加工时长。

ans=[0]*100

idx=[0]*100

tmp1=[];tmp2=[]

for i in range(len(a)):

                _______

          idx[a[i]]=b[i]   #原始序号排序后会跑到第b[i]位置上

for i in range(len(ans)):

            while ans[i]>0:

                            _________

                    tmp2.append(idx[i])

                    ans[i]-=1

return tmp1,tmp2


请在划线处填入合适的代码。
(3)小方编写了将第二类产品排序的函数:
def order2(a,b): #参数a、b的元素分别表示每杯奶茶在甲乙两道工序的加工时长。
            #代码略
小张结合前两位同学的程序,计算产品加工总时长。请在划线处填入合适的代码。读取n杯奶茶在甲乙两道工序加工的时间,根据题目要求分为两类,第一类在甲乙两道工序加工的时间分别存储在列表a1和列表b1中,并通过order1()函数排序,第二类在甲乙两道工序加工的时间分别存储在列表a2和列表b2中,并通过order2()函数排序,代码略。

‘’’#代码略

a=a1+a2

b=b1+b2

n= len(a)

ta,tb=0,0     #ta为甲加工时间,tb为乙加工时间

for i in range (n) :

ta+=a[i]

if       ______ :

tb=ta


                     _______

print("总加工时长最短为:",tb)

编辑解析赚收入
收藏
|
有奖纠错

同类型试题

优质答疑

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

用户名称
2019-09-19
我要答疑
编写解析
解析:

奖学金将在审核通过后自动发放到帐

提交
我要答疑
我要答疑:
提交