Dilema Filosofos
-
Upload
german-a-fernandez-perez -
Category
Documents
-
view
149 -
download
4
Transcript of Dilema Filosofos
Dilema de la cena de la cena de los filósofos
Datos de entrada
Reglas :
Restricción de cantidad de filósofos que cenan 2 Cantidad de filósofos que meditan 3
ALGORITMO Y SEUDOCODIGO :
Este algoritmo se desarrolla para mostrar en pantalla la solución del dilema de la cena de los filósofos indicando que filósofos deben tomar los palos chinos para cenar, indica los filósofos que deben cenar y además indican cuando deben soltar los palos chinos.
La solución planteada para este problema consiste en la elaboración de ciclos con condiciones y formulas simples matematicas, las cuales no permitirán determinar el orden de cena para los filosofos
Declaración de variables
Int a=0;
Int b=0;
Int i=0;
Int j= 0;
Cuerpo del programa
for(j=0;j<5;j++)
a=0;
b=0;
i=0;
Ciclo que permite determinar la cantidad de veces que el procedimiento se aplicara
for(i=0;i<5;i++)
Comparaciones lógicas
Si(a==0){ primer recorido
Operaciones dentro de la comparación
A=a+1 determina con el valor de a que filosofo debe tomar los palos chinos y debe cenar
B=a+2 determina con el valor de b que filosofo debe tomar los palos chinos y debe cenar con a
Se muestra la impresión por pantalla de el numero del filosofo debe tomar la cena y su acompañante.
I++ incremento que permite validar la cantidad de veces que se ejecuta el ciclo de comparaciones
_______________________________________________________
Si la comparación 1 (a==0 ) no es verdadera entra la segunda comparación.
Si(a==1){ segunda comparación
Operaciones dentro de la comparación
A=a+1 determina con el valor de a que filosofo debe tomar los palos chinos y debe cenar
B=a+2 determina con el valor de b que filosofo debe tomar los palos chinos y debe cenar con a
Se muestra la impresión por pantalla de el numero del filosofo debe tomar la cena y su acompañante.
I++ incremento que permite validar la cantidad de veces que se ejecuta el ciclo de comparaciones
_______________________________________________________
Si la comparación 2 (a==1 ) no es verdadera entra la segunda comparación.
Si(a==2){ tercera comparación
Operaciones dentro de la comparación
A=a+1 determina con el valor de a que filosofo debe tomar los palos chinos y debe cenar
B=a+2 determina con el valor de b que filosofo debe tomar los palos chinos y debe cenar con a
Se muestra la impresión por pantalla de el numero del filosofo debe tomar la cena y su acompañante.
I++ incremento que permite validar la cantidad de veces que se ejecuta el ciclo de comparaciones
_______________________________________________________
Si la comparación (a==2) no es verdadera entra la segunda comparación.
Si(a==3){ segunda comparación
Operaciones dentro de la comparación
A=a+1 determina con el valor de a que filosofo debe tomar los palos chinos y debe cenar
B=a-3 determina con el valor de b que filosofo debe tomar los palos chinos y debe cenar con a
Se muestra la impresión por pantalla de el numero del filosofo debe tomar la cena y su acompañante.
I++ incremento que permite validar la cantidad de veces que se ejecuta el ciclo de comparaciones
__________________________________________________________
Si la comparación (a==3) no es verdadera entra la segunda comparación.
Si(a==4){ segunda comparación
Operaciones dentro de la comparación
A=a+1 determina con el valor de a que filosofo debe tomar los palos chinos y debe cenar
B=a-3 determina con el valor de b que filosofo debe tomar los palos chinos y debe cenar con a
Se muestra la impresión por pantalla de el numero del filosofo debe tomar la cena y su acompañante.
I++;
Incremento que permite validar la cantidad de veces que se realizan las comparciones
Con esta comparación debe terminar el algoritmo dando inicio al siclo nuevamente hasta el límite determinado en el ciclo que es 5.
J++;
Este incremento permite que el conteo se reinicie co el fin de repetir las comparaciones ya mencionadas.
Salida
se muestra por pantalla los filósofos que deben tomar los palitos para cenar y luego de cenar los deben soltar.
DIAGRAMA DE FLUJO