O objetivo é enviar um e-mail de agradecimento para participantes que assistiram à maior parte da transmissão, respeitando uma tolerância de atraso e saída antecipada.
- Dados de entrada necessários
- Lista de participantes do evento
- Para cada participante:
- Nome
- Horário de entrada na transmissão
- Horário de saída da transmissão
- Horário oficial de início da transmissão
- Horário oficial de término da transmissão
- Tempo mínimo de audiência permitido (exemplo: 90% da duração total)
- Tolerância de atraso na entrada (exemplo: até 5 minutos)
- Tolerância de saída antecipada (exemplo: até 5 minutos)
- Cálculos iniciais
- Calcular a duração total da transmissão
- duração_total = horário_término − horário_início
- Para cada participante:
- Calcular o tempo assistido
- tempo_assistido = horário_saida − horário_entrada
- Verificação da condição de presença válida
Para cada participante, verificar se:
- O horário de entrada é maior ou igual ao horário de início menos a tolerância definida
- O horário de saída é menor ou igual ao horário de término mais a tolerância definida
- O tempo assistido é maior ou igual ao tempo mínimo de audiência definido
- Decisão baseada nos dados
- Se todas as condições forem atendidas:
- Marcar o participante como elegível
- Senão:
- Não considerar o participante para o envio do e-mail
- Ação final
- Enviar o e-mail de agradecimento apenas para os participantes elegíveis
- Finalizar o processo
O que foi levado em consideração aqui:
- Participantes que acompanharam praticamente todo o evento recebem o agradecimento
- Pequenos atrasos ou saídas antecipadas não prejudicam quem realmente participou
- A regra é justa, clara e facilmente ajustável no sistema
Pseudocódigo
INÍCIO
// Definição dos horários oficiais do evento
definir HORARIO_INICIO_EVENTO
definir HORARIO_FIM_EVENTO
// Regras de tolerância e audiência mínima
definir TOLERANCIA_ENTRADA = 5 minutos
definir TOLERANCIA_SAIDA = 5 minutos
definir PERCENTUAL_MINIMO_AUDIENCIA = 90%
// Cálculo da duração total da transmissão
calcular DURACAO_TOTAL = HORARIO_FIM_EVENTO - HORARIO_INICIO_EVENTO
// Percorre todos os participantes
para cada PARTICIPANTE na LISTA_DE_PARTICIPANTES faça
// Coleta os horários do participante
obter HORA_ENTRADA do PARTICIPANTE
obter HORA_SAIDA do PARTICIPANTE
// Calcula o tempo e percentual assistido
calcular TEMPO_ASSISTIDO = HORA_SAIDA - HORA_ENTRADA
calcular PERCENTUAL_ASSISTIDO = (TEMPO_ASSISTIDO / DURACAO_TOTAL) * 100
// Verifica se o participante atende às regras de presença
se (HORA_ENTRADA <= HORARIO_INICIO_EVENTO + TOLERANCIA_ENTRADA) E
(HORA_SAIDA >= HORARIO_FIM_EVENTO - TOLERANCIA_SAIDA) E
(PERCENTUAL_ASSISTIDO >= PERCENTUAL_MINIMO_AUDIENCIA) então
// Ação final: envio do e-mail
enviar EMAIL_DE_AGRADECIMENTO para PARTICIPANTE
fim se
fim para
FIM