Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ninená

Barbeiro dorminhoco

Recommended Posts

Alguém sabe como fazer este algoritmo?Pode ser em Pascal também.A barbearia tem: · um barbeiro · uma cadeira de barbeiro · algumas cadeiras para os fregueses esperarem Se o movimento estiver fraco (nenhum freguês), o barbeiro senta na sua cadeira e dorme; Quando um freguês chega no salão vazio, ele tem que acordar o barbeiro; Se outros fregueses chegam enquanto o barbeiro está ocupado, eles: · Sentam na cadeira de espera · Vão embora, se não houver cadeira vazia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

lllllooollllll um algoritmo tem que ser algo mais concreto!!!! Se tivesses dito que ao introduzir dados dava as seguintes saidas quote]· Sentam na cadeira de espera · Vão embora, se não houver cadeira vazia.ai sim agora dessa maneira como dizes as pessoas que te querem ajudar é que vão saber os dados que tu queres por ?? :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara antes de td, isso é um jogo?tipo é um jogo só em código s/ Imagens, isso tem algum Loop algo do tipo sei lá cara pq oq você qr está meio duvidoso!?pelo menos p/ mim. Explique esse algoritmo ai agente pode te ajudar!?abraços e boa semana!?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estive pesquisando e encontrei a seguinte solução para essa situação:

 

1. Programa Principal

Barbeiro.inicia ( )

Cliente.inicia ( )

 

2. Barbeiro.inicia ( … )

enquanto Barbearia.aberta ( )

{

Se Clientes.quantidade ( ) = 0

{

dorme ( )

} senão {

Se Não atendendo ( )

{

Clientes.getMutex ( ).lock ( )

Cliente = Clientes.dequeue ( )

Clientes.getMutex ( ).unlock ( )

atende (Cliente)

}

}

}

 

3. Cliente.inicia ( … )

enquanto Barbearia.aberta ( )

{

Se Clientes.quantidade ( ) = Barbearia.capacidade ( )

{

sair ( )

} senão {

Clientes.getMutex ( ).lock ( )

Clientes.enqueue (this)

Clientes.getMutex ( ).unlock ( )

Se Barbeiro.dormindo ( )

{

Barbeiro.acorda ( )

}

}

}

 

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

BRHrother, essa doeu! O mortinho se revirou na tumba. :lol:

 

3790125716f2a03c3090o.jpg

 

Brincadeira, só pra descontrair.

 

Legal colaborar, mas é bom dar uma conferida na data da última postagem e compartilhar seus conhecimentos em tópicos mais recentes.

 

 

Abraços ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.