Se você não tem saudades de ficar numa fila, aguardando seu atendimento, eu entendo. Também não sinto.
Mas, uma vez, tive que aguardar atendimento para atualização do documento de habilitação e percebi uma certa constância no som que anunciava o próximo a ser recebido.
No ensino médio, a gente aprende um dos mais clássicos fenômenos da física, que foi o modelo utilizado na postagem sobre
planejamento de viagem.
O Movimento Retilíneo e Uniforme, conhecido pelos íntimos como MRU, não serve apenas para explicar movimento, também é um modelo facilmente ajustado em eventos temporais quando a mudança de estado do evento acontece de forma constante. A taxa em que o evento muda podemos chamar de velocidade. No cálculo, isso é uma derivada primeira da posição no tempo.
Resumindo, acredito que já tenha visto a seguinte expressão matemática:
Maldosamente lembrada como sorvete, esta expressão representa a função de posição (dada por X) em qualquer instante (dado por t) conhecendo sua posição de partida (dada por Xo) e sua velocidade (dada por V) desde que seja esta constante.
Prefiro a forma de função, mas você pode utilizar da forma que achar mais conveniente.
E a fila?
Bem, na fila a gente também pode utilizar X para dizer nossa posição, ou o número da ficha do nosso atendimento.
Xo será o último número chamado, que está sento atendido no momento em que você faz a verificação, e
V a taxa de chamadas por segundo, ou minuto, dependendo da unidade de tempo que você queira utilizar.
(por segundo talvez não faça sentido numa fila, e por hora talvez você não queira nem esperar)
Vou utilizar o tempo em minutos. De modo que minha função vai ficar:
Se você quer saber o tempo, precisa de todas as outras informações. Além disso, vai preferir utilizar a função da seguinte forma:
E é essa que vai para o algoritmo.
Sabendo, sua ficha, a ficha atual e a taxa de atendimento, rapidamente você pode calcular, ou melhor, ter uma estimativa razoável, considerando que a taxa de atendimento seja constante, de quanto tempo deve esperar até chegar sua vez de ser atendido.
Nessa fila superdivertida, utilizei a calculadora e o cronômetro para estimar a taxa de atendimento e fazer a previsão, mas vamos utilizar o Python por aqui. E sim, seria possível programar pelo celular.
https://colab.research.google.com/drive/1r12-RgJ-A1TlGMz8oWbpRrA9SrFgpbmk?usp=sharing
O link leva para o colab, onde você pode alterar o código se prefeir.
Um exemplo pode ser visto na imagem seguinte:
É isso! Até breve!