Está en la página 1de 6

PROYECTO FINAL

ASIGNATURA:
Programacin Avanzada
2do Semestre

TEMA:
El Barbero Dormiln

ELABORADO POR:
(Integrantes del equipo)
Martnez Coronel Luis Gilberto
Viurquez Galaviz Eduardo
Arihana Fernanda Silva Boudewyn
Uries Bentez

Profesor:
Emilio Quiroz

Fecha de entrega:
17/MAYO/13

Pag. 1/6

OBJETIVO
-

Objetivo general: La creacin de un programa en Visual Studio 2012, con


el lenguaje C++. Usando las libreras aprendidas en clase, como <thread>
que es para anexar hilos en el cdigo.

Objetivos especficos:
Crear un programa que resuelva el problema clsico, llamado El
Barbero dormiln. Donde el barbero realiza unas funciones y los
clientes otras diferentes.

El barbero estar dormido mientras no est ningn cliente, si


entra un cliente, este ser despertado y se pondr a trabajar.

Cuando el barbero termina con el ltimo cliente, vuelve a su silla


hasta ser despertado por un nuevo cliente.

Si un cliente llega y el barbero est trabajando, deber esperar


en una silla de espera hasta que el barbero termine.

Si un cliente llega y las sillas de clientes estn todas ocupadas,


se va a otra barbera (no entra).

Pag. 2/6

Descripcin del problema y resultados esperados de la


simulacin.
Descripcin:
El modelo del barbero es uno de los problemas clsicos de la
sincronizacin de procesos. La solucin implica el uso varias funciones y
objetos de exclusin mutua para proteger la seccin crtica.
Problema:
El problema consiste en una barbera en la que trabaja un barbero que
tiene un nico silln de barbero y varias sillas para esperar (En el caso de
nuestro cdigo, tiene 6). Cuando no hay clientes, el barbero se sienta en una
silla y duerme. Cuando llega un nuevo cliente, ste o bien despierta al
barbero o si el barbero est afeitando a otro cliente se sienta en una silla
(o se va si todas las sillas estn ocupadas por clientes esperando). El
problema consiste en realizar la actividad del barbero sin que ocurran
condiciones de carrera. Aqu se debe usar la lgica para lograr un cdigo que
compile y corra bien, de lo contrario, la barbera no funcionara perfecta y el
barbero siempre dormir.
Resultados esperados:
Se espera que al hacer la simulacin del programa, se logre el objetivo
ya planteado, la creacin del programa, que resuelva el problema y se logre
aprender el uso de hilos, y todo lo visto durante el semestre.
Pag. 3/6

Se espera que al compilar el cdigo, abra la ventana, de una


bienvenida, y empiece a correr el programa de forma automtica, usando
hilos, mutex y tiempos.

Un ejemplo prctico sera el de la televisin: digamos que un hermano


este viendo un programa de televisin que no le gusta al otro hermano
entonces el otro hermano debe de esperar que termine el programa para
que pueda cambia al programa que le guste.

Modelo de simulacin con diagrama de Petri

Pag. 4/6

Documentacin de resultados y conclusiones


Documentacin de resultados:
Insertado en un archivo adjunto en forma de text.t
Conclusin:

Pag. 5/6

En este proyecto pudimos aprender a utilizar a fondo:


-

Microsoft Visual Studio 2012, y sus diferentes aplicaciones como:


o Las funciones.
o Las variables.
o Las diferentes libreras pero sobre todo aprendimos como usar
hilos, mutex y tiempos.
La conclusin de EL PROBLEMA DEL BARBERO DORMILON ya

habiendo hablado acerca del tema es que es de suma importancia y de


inters conocer este tipo de problemas y no solo eso sino tambin conocer
las soluciones para poder resolverlos. Adems es requisito indispensable que
tenemos que conocer como futuros ingenieros en Mecatrnica, la resolucin
de problemas de una forma rpida y sencilla, automatizar

Referencias bibliogrficas utilizadas


-

http://thebarbersleeperanddiningphilosophers.blogspot.mx/

http://erbaba.blogspot.mx/2012/08/problemas-clasicos-barbero-dormilon.html

http://mx.answers.yahoo.com/question/index?qid=20090713133615AA6KFR5

Pag. 6/6