Sunteți pe pagina 1din 2

Ejercicios con semforos

1.

Considrese el caso de un parque pblico que dispone de tres puertas de acceso. El


acceso por cada una de las puertas del parque, est controlada por un torno
independiente, que enva un evento propio a una aplicacin de computador que debe
contarlas y proporcionar en cualquier instante el nmero total de visitantes que han
entrado en el parque.
La solucin concurrente inicial que se propone, se basa en las siguientes ideas:
Los eventos que genera cada torno van a ser gestionados por un proceso
independiente.
Los procesos de control de los tornos se ejecutan de forma concurrente.
En el programa existe una variable global entera cuenta" que representa el nmero
el nmero de visitantes que ha entrado en el parque.
Cuando la actividad de los tornos ha concluido proporciona la informacin sobre el
nmero de visitantes que se han producido.

2.

En un pabelln de deportes existen 10 pistas para jugar al baloncesto. Para jugar un


encuentro se precisa de un baln. Existe una caja donde estn todos los balones. A la
hora convenida, el delegado del campo pone 8 balones en dicha caja. Cuando dos
equipos quieran jugar un partido mandan a un representante ala caja a por un baln. Si
en la caja hay algn baln, el jugador lo coge y puede desarrollarse el partido. Si por el
contrario no hay ningn baln en la caja, el partido debe esperar hasta que alguien deje
un baln. Cuando se ha terminado un encuentro, uno de los jugadores debe devolver el
baln. Si cuando va a la caja se encuentra con algn jugador que espera un baln,
simplemente selo da y se vuelve con sus compaeros. Ahora el jugador que esperaba el
baln lo toma y puede jugar su partido. Por el contrario, si cuando se va a dejar un baln
en la cesta no hay nadie esperando un baln, simplemente lo deposita en la cesta y
contina.

3.

En torno a una mesa hay cuatro personas: tres fumadores y un proveedor. Cada
fumador fuma cigarrillos uno detrs de otro. Para poder fumarse un cigarrillo se
necesitan tres ingredientes: papel, tabaco y cerillas. A uno de los fumadores le falta el
papel (pero tiene tabaco y cerillas, a otro el tabaco (pero tiene papel y cerillas) y a otro
las cerillas (pero tiene papel y tabaco). El proveedor tiene una cantidad infinita de los tres
ingredientes.
Inicialmente, el proveedor coloca uno de los ingredientes en la mesa, escogidos al azar.
El fumador al que le falta el ingrediente coge lo que hay en la mesa, la un cigarrillo y se
lo fuma. Cuando termina, se lo indica al proveedor. El proveedor entonces coloca otro
ingrediente y el ciclo se repite una y otra vez.

Pgina 1 de 2

4.

Una barbera funciona con una sala de capacidad limitada. Si no hay clientes, el barbero
se va a dormir. Si un cliente entra en la tienda y el local est lleno, entonces el cliente
deja la tienda. Si el barbero est ocupado, pero hay sitio, entonces el cliente entra en la
sala y espera su turno. Si el barbero est durmiendo, el cliente le despierta. Escribe un
programa que coordine al barbero y a los clientes.

5.

En una cadena de montaje existe un robot encargado de colocar productos en una


cadena de montaje. Otros robots, retiran los productos de la cadena de montaje para
realizar su empaquetado. Finalmente, se quiere llevar un control del total de productos
empaquetados.
Modelar utilizando semforos el sistema descrito con las siguientes indicaciones:
Existe un robot colocador y 3 empaquetadores.
Los productos son colocados de uno en uno en la cadena, y solamente en
posiciones libres (se puede considerar que en la cadena de montaje caben un
mximo N de elementos). Si no hay posiciones libres el robot colocador tendr que
esperar hasta que algn producto sea retirado de la cadena.
Los robots empaquetadores comprueban si hay algn elemento en la cadena. Si
hay algn producto lo retiran de la cadena (slo 1 producto cada vez) y la posicin
queda libre para colocar nuevos productos, en caso contrario se quedan a la
espera de que haya nuevos productos.
Los robots empaquetadores pueden funcionar a la vez.
Tanto el colocador como los empaquetadores nunca acaban.
Cada vez que un robot empaquetador procesa un producto, la cuenta total de
productos empaquetados debe aumentar y mostrarse un mensaje por pantalla.

Pgina 2 de 2

S-ar putea să vă placă și