Alguém me dá uma luz do que fazer pra resolver esse problema, eu não tenho ideia de como começar
Escreva um programa que simule a distribuição de senhas de atendimento a um grupo de pessoas.
Cada pessoa pode receber uma senha prioritária ou uma senha normal. O programa deve obedecer os seguintes critérios:
- Existe apenas um atendente
- 1 pessoa com senha normal deve ser atendida a cada 3 pessoas com senha prioritária
- Não havendo prioridades, as pessoas com senha normal podem ser atendidas
Eu não to pedindo a resposta, quero apenas uma explicação do que tenho que fazer
A medida que as pessoas vão chegando, elas pegam uma senha e vão para a fila.
Você vai olhar pra essa fila e ver se tem alguma pessoa com senha prioritária.
A primeira prioritária que encontrar, vai chamar.
Depois vai ver se tem uma segunda prioritária, se tiver, vai chamar.
Depois vai ver se tem uma terceira prioritária, se tiver, vai chamar.
Como chamou 3 prioritários em sequência, o próximo a ser chamado é alguém de prioridade normal.
1 curtida
Complementando.
Utilize um contador. Sempre que chegar em 3 prioritários, zere o contador e passe para alguém de prioridade normal. Sempre após este com prioridade normal, verifique a existência e alguém com senha prioritária antes de chamar novamente um outro normal.
Neste caso, para facilidade pode criar duas filas usando FIFO (Constuindo pilhas e filas fifo lifo java) onde a idéia é o primeiro que chega é o primeiro a ser chamado.
Criando duas listas você pode usar a mesma regra e verificar nas duas filas (uma de normal e uma de prioritário)
2 curtidas