[Examen Julio 2014][Ejercicio 3]

[Examen Julio 2014][Ejercicio 3]

de Andres Bello Ureta -
Número de respuestas: 2
LETRA: https://eva.fing.edu.uy/pluginfile.php/77323/mod_folder/content/0/2014/Sol2014JUL.pdf?forcedownload=1
Hola,
Tengo una duda con respecto a la solución que se plantea.
En el monitor "Maquinaria" se utilizan las variables trabajando y esperando. No me doy cuenta la necesidad de la 2da. Puesto que se podría hacer:
type Maquinaria Monitor of
procedure usar()
trabajando ++
si no esta prendida
si trabajando distinto de tres
espero.wait
       espero.signal
sino
estado = prendida
espero.signal
fin si
fin si
fin
begin
trabajando = 0
estado = apagada
end

El pseudo esta bien? O al no diferenciar los que están esperando con los que están trabajando me estoy salteando algo?
Gracias!



En respuesta a Andres Bello Ureta

Re: [Examen Julio 2014][Ejercicio 3]

de Gustavo Brown -

No es necesario usar 2 variables, se puede hacer como mostras en tu código. No te estas salteando nada porque si estas esperando es porque no hay nadie trabajando.

Tampoco quita ni suma puntos que en la solución uses 2 variables o 1.

Saludos,
  Gustavo