Pascal/Turbo Pascal - LISTAS, PILAS Y COLAS

 
Vista:

LISTAS, PILAS Y COLAS

Publicado por nsr (3 intervenciones) el 15/12/2006 12:13:42
Hola tengo una gran duda sobre como comenzar a realizar esta práctica, ¿me podéis ayudar? Muchas gracias por vuestra ayuda. El problema es que no se me ocurre como empezar a plantear el problema.

Se desea implementar un programa que simule la entrada y salida de coches a un garaje con las siguientes características:

- El Garaje "P" está situado entre la calle "A" y la calle "B". Tiene un único carril donde los coches aparcan en línea. El carril tiene espacio para X coches. Los coches entran por el extremo derecho (calle "A"), aparcan lo más a la izquierda que pueden y cuando abandonan el garaje, salen por el extremo izquierdo (la calle "B"). Cada vez que un coche sale del garaje, todos los coches que están más a la derecha se mueven una posición hacia delante, de forma que todas las posiciones libres están situadas en la parte derecha del garaje.

- Si el garaje está lleno y llega otro coche, éste tendrá que esperar en la calle "A" a que se libere un espacio en el garaje. Si llega otro coche más antes de que se libere un espacio en el garaje, se colocará detrás del que llego anteriormente y esperará también. Por supuesto, cuando se libere un espacio en el garaje, entrará primero a ocupar ese espacio el coche que más tiempo lleve esperando, es decir, el primero que llego, después el segundo y así sucesivamente.

Por último, es importante saber que la calle "A" es de una única dirección y además no tiene salida, así que los coches una vez que aparquen en ella a la espera de que se libere un sitio no pueden irse hasta que se les asigne un sitio en el garaje y aparquen en él.

El programa implementado deberá tener las siguientes opciones:
1.- Introducir tamaño del parking.
2.- Simular entrada de un coche.
3.- Simular salida de un coche.
4.- Imprimir garaje.
5.- Imprimir calle "A".
6.- Imprimir calle "B".

Nota: Cada vez que se realice un movimiento de un coche se deberá mostrar por pantalla le estado del garaje y las calles "A" y "B".
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