Pascal/Turbo Pascal - simulacion

 
Vista:

simulacion

Publicado por matias (3 intervenciones) el 23/11/2005 00:29:15
Hola,
Estamos realizando una simulacion de una estación de servicios, la cual se compone de 4 surtidores (implementados con colas dinamicas). El ingreso de autos es en tiempo aleatorio. La pregunta es...como hacer para que los autos "sepan" a que cola ir. O sea, como hacer para que el auto elija la cola con menos autos.
Desde ya gracias.!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:simulacion

Publicado por Roberto Garcia (56 intervenciones) el 23/11/2005 18:53:27
Pues asi a simple vista, sin saber nada mas del problemaa te diria que le
asocies a cada una de las colas un contador, por ejemplo

ContCola1,ContCola2, ContCola3, ContCola4: integer;

Claro que esto te daria un efecto como de ciclo, es decir el primer auto se pone en la cola 1 el segundo en la cola 2 el tercero en la 3 y el cuarto en la 4, luego el quinto en la 1 el sexto en al 2 y asi sucecivamente.

Si esto no importa colo usarias una variable que te indique a que cola se debe de ir, por ejemplo

CualCola:integer;

Esta variable la inicializas en 1

Cuando llege un auto lo metes en la cola CualCola e incrementas el valor de la variable CulaCola verificando que cuando cola sea mayor que 4, la vuelves a inicializar en 1.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:simulacion

Publicado por Carlos Guimaraenz (265 intervenciones) el 24/11/2005 00:59:55
Hola Matías! Otra idea que se me ocurre, y teniendo en cuenta que los vehículos tendrán tiempos de carga diferentes, es que para cada cola lleves un contador de la cantidad de vehículos en espera, y en base a ésto crear una función que determine y devuelva la cola con menor cantidad de vehículos.
Un ejemplo:
Tenemos un array de colas, por lo que al llegar un vehículo haríamos algo así:

ColaConveniente := VerColaConveniente(colas);
Encolar(vehiculo, ColaConveniente);
ContadorSurtidor [ColaConveniente] := ContadorSurtidor [ColaConveniente] + 1;

Cuando el vehículo sale, se le resta 1 al contador correspondiente.
La función VerColaConveniente es una simple función buscando un mínimo, y el procedimiento Encolar agrega el vehículo entrante a la cola del surtidor más conveniente.

Espero que funcione, cualquier duda aquí estamos. Un abrazo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar