Peso que, com essa nova escrita, deve resolver o problema apontado para cada participante da lista:
Início do processo.
Receber lista de participantes.
Calcular o tempo assistido:
tempo_assistido = horário_saida - horário_entrada
Calcular o tempo total do evento:
tempo_total = horário_fim - horário_início
Verificar condição de presença completa:
Se tempo_assistido ≥ tempo_total
(ou ≥ 90%, se quiser tolerância mais realista)
Se a condição for verdadeira:
Enviar e-mail de agradecimento.
e. Senão:
Não enviar e-mail.
@Otavio, boa observação. Faz sentido ajustar a condição para tempo conectado ≥ tempo total do evento, considerando que o participante pode entrar antes ou sair depois do horário oficial. Isso torna o algoritmo mais robusto.
@Herley, entendo o ponto e ele é relevante no contexto de experiência do usuário. Porém, neste caso específico, o algoritmo está baseado apenas no critério de presença completa definido no enunciado.
Como evolução, poderíamos, sim, pensar em regras mais inclusivas ou segmentações diferentes de comunicação, mas isso exigiria uma definição adicional de negócio.