quarta-feira, 1 de julho de 2020

Esperando na fila

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!

Nenhum comentário:

Postar um comentário

(Série) Controle financeiro com Python: Listando operações

Estou trabalhando numa forma diferente de acompanhar os investimentos , ao invés de usar uma planilha financeira, usando o Python . Melhor f...