Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

[Projeto] Desafio: Automatizando tarefas

Algoritmo para envio automático de agradecimento em evento online

Para automatizar o envio de e-mails de agradecimento apenas para quem participou de toda a transmissão ao vivo, é necessário criar um algoritmo que analise os dados de presença dos participantes e tome uma decisão com base no tempo assistido.

Dados de entrada

O algoritmo precisa receber as seguintes informações:

  • Lista de participantes do evento.
  • Nome de cada participante.
  • E-mail de cada participante.
  • Horário de entrada na transmissão.
  • Horário de saída da transmissão.
  • Horário de início do evento.
  • Horário de término do evento.
  • Duração total da transmissão.

Esses dados permitem calcular quanto tempo cada pessoa permaneceu no evento.

Verificação da presença completa

Para verificar se a pessoa participou de toda a transmissão, o algoritmo deve comparar o horário de entrada e saída do participante com o horário total do evento.

A regra pode ser definida da seguinte forma:

  • Se o participante entrou no início da transmissão e saiu apenas no final, considera-se presença completa.
  • Se o tempo de permanência for igual ou maior que a duração total do evento, o participante deve receber o e-mail de agradecimento.
  • Se o participante entrou atrasado ou saiu antes do fim, o e-mail não deve ser enviado.

Também é possível definir uma pequena tolerância, por exemplo, considerar presença completa se a pessoa assistiu a pelo menos 95% da transmissão, caso a plataforma registre pequenas quedas de conexão.

Decisão do algoritmo

A decisão principal é:

Se o participante assistiu à transmissão completa, enviar e-mail de agradecimento.

Caso contrário, não enviar o e-mail.

Algoritmo em linguagem natural

  1. Receber a lista de participantes do evento.

  2. Receber o horário de início e término da transmissão.

  3. Calcular a duração total do evento.

  4. Para cada participante da lista:

    • Verificar o horário de entrada.
    • Verificar o horário de saída.
    • Calcular o tempo total assistido.
    • Comparar o tempo assistido com a duração total da transmissão.
  5. Se o tempo assistido for igual ou maior ao tempo total do evento:

    • Enviar e-mail de agradecimento ao participante.
  6. Se o tempo assistido for menor que o tempo total do evento:

    • Não enviar o e-mail.
  7. Repetir o processo até que todos os participantes da lista sejam verificados.

  8. Finalizar o processamento.

Representação simples do fluxo

Início

Receber lista de participantes

Receber horários de início e fim da transmissão

Calcular duração total do evento

Selecionar participante da lista

Calcular tempo assistido

O tempo assistido é igual ou maior que a duração total?

Se sim: enviar e-mail de agradecimento

Se não: não enviar e-mail

Há mais participantes na lista?

Se sim: repetir o processo

Se não: finalizar

Exemplo prático

Imagine que a transmissão começou às 19h e terminou às 21h, totalizando 2 horas de evento.

  • Participante A entrou às 19h e saiu às 21h: recebe o e-mail de agradecimento.
  • Participante B entrou às 19h30 e saiu às 21h: não recebe, pois entrou após o início.
  • Participante C entrou às 19h e saiu às 20h40: não recebe, pois saiu antes do final.

Dessa forma, o algoritmo garante que o envio do e-mail seja feito apenas para quem realmente acompanhou toda a transmissão, reduzindo o trabalho manual e tornando o processo mais organizado e confiável.