-夹饼Kanaly 2020-11-05 22:31
浏览 90

编写一个程序允许用户预测一家超市在各种情况下的结账排队的状态,使用Python语言,要求如下

为了简单起见,本程序添加如下限制:

1、一个收银员只负责一个结帐队列

2、每位顾客拥有相同数目的商品等待结账,并且需要相同的服务时间。

3、新顾客到达结账台的概率不会随着时间而变化。

 

另:程序的输入的如下:

1、模拟程序需要计算总体的运行时间。

2、为单个的顾客提供服务所需要的分钟数。

3、在下一分钟,新顾客到达收款台前排队的概率。

程序的输出是,当时间用完的时候,所服务的顾客的总数,排队中剩下的顾客的数目,以及一位顾客的平均等待时间。

 

 

 

假设系统的用户界面如下:

 

 

欢迎来到教育超市

请输入整体的运行时间:60

请输入每个顾客的平均服务时间:3

请输入在下一分钟新顾客到达的概率:0.2

 

收银员的服务汇总情况

服务的顾客总数:

队列中剩下的顾客数目:

顾客的平均等待时间:

 

 

 

建议的类定义如下:

另关键类的运行伪代码如下

MarketMode:

 for each minute of the simulation:

Ask the Customer class to generate a new customer.

If  a  Customer is generated:

 Cashier.addCustomer( customer)

 Cashier.serveCustomers( current time)

 Return cashier’s  results.

 

Customer中的serveCustomer的伪代码

If  currentCustomer is none.

If   The queen is empty

            return

        else

            Current customer =quee.pop()

totalCustomer Waittime=totalCustomerWaitTime + currentTime

 – currentCustomer.arrivalTime ()

Increment  customerServed

                CurrentCustomer. Serve()

 if currentCustomer .amountOfServiceNeeded ()==0

currentCustomer= None.

 

 

写完程序后请思考如下话题并做简短的设计说明。

  1. 在一天的不同时段该如何设置收银员数量?
  2. 顾客最大的排队时长是多少?

 

求给出思路和框架 作业题 实在不知道如何下手 这里需要考虑写哪些东西呢?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
    • ¥50 需求一个up主付费课程
    • ¥20 模型在y分布之外的数据上预测能力不好如何解决
    • ¥15 processing提取音乐节奏
    • ¥15 gg加速器加速游戏时,提示不是x86架构
    • ¥15 python按要求编写程序
    • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
    • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
    • ¥15 opencv图像处理,需要四个处理结果图
    • ¥15 无线移动边缘计算系统中的系统模型