Utilize os conhecimentos sobre algoritmos para construir uma solução em linguagem natural, com etapas claras e executáveis. Considere:
1. Quais são os dados de entrada necessários?
- Tempo total de duração do evento, com início e fim da transmissão;
- Listagem de participantes inscritos, contendo nome, e-mail e registro de acesso com horário de entrada e de saída.
2. Como o algoritmo pode verificar a condição de presença completa?
Antes de verificarmos a presença completa, seria interessante, realizar uma filtragem dos inscritos que não compareceram. A partir disso, teríamos dois grupos:
Grupo A: tempo de permanência do participante > 0
Grupo B: tempo de permanência do participante = 0
A partir da definição dos participantes do Grupo A, é necessário definir exatamente o que seria uma presença completa. Por exemplo, é possível considerar um tempo de permanência igual ou superior a 90% ou ainda um tempo de tolerância após o início da transmissão.
Entretanto, como foi dito no enunciado que apenas receberiam o e-mail de agradecimento aos participantes que participaram do evento do início ao fim, vamos considerar o tempo de permanência de 98%, visto que:
Contempla os participantes que perderam alguns minutos do início da transmissão;
Contempla os participantes que saíram alguns minutos do final da transmissão;
Contempla os participantes que durante o evento tiveram algum problema em sua conexão.
A partir da definição dessa regra de corte, deve-se comparar se o tempo de permanência é igual ou maior a 98% do tempo de duração do evento.
3. Que decisão precisa ser tomada com base nesses dados?
Se o tempo de permanência é igual ou maior a 98% do tempo de duração do evento, o sistema libera o disparo do e-mail;
Senão, o sistema ignora o participante para essa ação específica.
4. Qual deve ser a ação final?
- Início
- Determinar o início e o fim do evento
- Definir a regra de corte para o tempo de permanência (Definido aqui em 98%)
- Receber a lista de participantes, com nome, e-mail e registros de acesso
- Filtrar o tempo de permanência do participante
Se o tempo de permanência do participante for maior do que 0, armazenar na lista de aptos a receber o e-mail de agradecimento
Senão, ignorar o participante nesta ação específica
Localizar registro de entrada e saída dos participantes aptos
Verificar se o tempo de tolerância é maior ou igual à regra de corte
Se o tempo de permanência é igual ou maior a 98% do tempo de duração do evento, o sistema deve liberar o disparo do e-mail
Senão, ignorar o participante nesta ação específica
- Repetir até o fim da lista
- Fim