Author Topic: simulacion de cola en una linea de cajas de supermercado  (Read 13978 times)

hackerits

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
simulacion de cola en una linea de cajas de supermercado
« on: Marzo 10, 2007, 10:26:21 pm »
bueno me encargaron como trabajo de la unidad de colas en la materia de estructura de datos este programa del cual solo llevo una clase incompleta apenas lo empeze  y ya me atore con los tiempos de espera
 
este es el enunciado
escriba un programa que simule una linea de caja del supermercado. la linea es una cola de espera . los clientes llegan en intervalos enteros al azar , de 1 a 4 minutos Obviamente, las velocidades necesitan equilibrarse.si la velocidad de llegada promedio es mayor que la velocidad promedio de servicio, la cola crecera de forma indefinida.inclusive tratandose de velocidades euilibradas, el azar todavia pude causar lineas largas.

Ejecute la simulacion del supermercado para un dia  de 12 horas(720 minutos) utilizando el sig. algoritmo.

1. escoja un numero al azar entre 1 y 4 para determinar el minuto en el cual llega el primer cliente .

2. en el momento de llegada del primer cliente :

a)determine el tiempo de srvicio para ese cliente(entero al azar entre 1 y 4)

b) empieze a darle servicio al cliente;
c)
programe el tiempo de llegada del siguiente cliente(entero ... ),añadido al tiempo actual

3. para cada minuto del dia:
  a. si llega el siguiente cliente:
    1. pongalo en la cola.
    2. programe el tiempo de llegada del siguiente cliente (entero...)añadido al tiempo actual

b. si termina  el tiempo de servicio del cliente:
   1.  digalo asi (imprima sale cliente+ numero de cliente )
   2. retirelo de la cola para darle servicio al sigguiente cliente.
   3. determine el tiempo de terminacion del servicio (entero ....)añadido al t.a

ejecute la simulacion durante 720 minutos y guarde los resultados en un archivo


bueno yo hice la clase clientes esto es lo que llevo  a ver si me podrian ayudar  melo pideron pal dia 14 de marzo apenas lo comenze hoy espero me den sugerencias de como hacerlo porque la verdad ya me atore con esto gracias por su ayuda

public class Clientes {
   
   //tiempos de llegada y servicio del cliente 1
   int tiempoLlegadaC1;
   int tiempoServicioC1;
   // tiempos de llegada y servicio de los demas clientes
   int tiempoLlegadaDm;
   int tiempoServicioDm;
   int tiempoLlegada;
   int tiempoServicio;
   ////////////////////////////
   // esto pienso que me puede servir para limitar en que momento deve cerrar la caja
   int dia;
    int minTransc;

    public Clientes() {
       dia = 720;
       minTransc=0;
    }
    int [][] Clientes = new int[3][2];
   
    public void  servicioYLlegada(){
       for (int i = 0; i<Clientes.length; i++){
           for (int j = 0; j<Clientes.length; j++){
                 
          // tiempo llegada del primer cliente
       tiempoLlegadaC1=(int)(Math.random()*4)+1;
       // tiempo de servicio del primer cliente
       tiempoServicioC1=(int)(Math.random()*4)+1;
       
   
          Clientes[0][0]=tiempoLlegadaC1;
         Clientes[0][1]=tiempoServicioC1;
       
       
         // tiempo de llegada de llegada y servicio de los demas clientes
         tiempoLlegadaDm=(int)(Math.random()*4)+1;
         tiempoServicioDm=(int)(Math.random()*4)+1;
        
         tiempoLlegadaDm = Clientes[0];
          tiempoServicioDm = Clientes[1];   
                 
          //tiempo espera por clientes
                  if(tiempoLlegadaDm<Clientes[0])
                     tiempoEspera=
       
       minTransc += tiempoLlegada;
       
       
       }
       }
       
       
       
    }
   
   
}


// esta solo la hice para verificar que esta bien lo que estoy haciendo
class test{
   public static void main(String args[]) {
       
       Clientes obj = new Clientes();
       
       obj.servicioYLlegada();
       System.out.print(obj.tiempoLlegada+"tiempo llegada cliente 1"+obj.tiempoLlegadaC1);
       System.out.println(obj.Clientes);
       
    }
}


hackerits

  • Newbie
  • *
  • Posts: 12
  • Karma: 0
    • View Profile
Re: simulacion de cola en una linea de cajas de supermercado
« Reply #1 on: Marzo 12, 2007, 08:39:37 pm »
SOLO QUIERO QUE ME AYUDEN CON ESA PARTE DEL CODIGO LA QUE POSTTE DE LA CLASE CLIENTES NO PUEDO ASIGNALES LOS TIEMPOS DE ESPERA EN LA COLA A CADA CLIENTE Y AHORA ME SURGIO OTRA COSA LOS CLIENTES TIENEN QUE SER OBJETOS  ESTO LO TENGO QUE HACER ALGO ASI COMO CLIENTES  C1= CLIENTES(); PERO ENTOCES COMO LE ENVIARIA LOS VALORES DE LLEGADA Y SERVICIO Y TIEMPO DE ESPERA A CADA CLIENTE

chuidiang

  • Administrator
  • Hero Member
  • *****
  • Posts: 4973
  • Karma: 12
    • View Profile
    • Apuntes de programación
Re: simulacion de cola en una linea de cajas de supermercado
« Reply #2 on: Marzo 12, 2007, 10:22:13 pm »
Hola:

A la clase Cliente ( o Clientes ) ponle métodos para guardar esos tiempos

Code: [Select]
public class Clientes
{
   private long tiempo;
   public void setTiempo (long nuevoTiempo)
   {
        tiempo = nuevoTiempo;
   }
}

así, después del new, puedes ponerle el tiempo

Code: [Select]
Clientes c1 = new Clientes();
c1.setTiempo ( ... );
Se bueno.