Oi, Jefferson.
A construção de algoritmos é um passo fundamental pra transformar problemas complexos em processos que o computador consegue executar. Você trouxe duas abordagens interessantes: uma focada em horários fixos de entrada e saída e outra baseada em verificações contínuas durante o evento. Ambas são válidas, dependendo de como os dados são coletados pelo sistema.
Pra tornar o seu raciocínio ainda mais estruturado, podemos detalhar esse processo seguindo a lógica do pensamento computacional.
1. Dados Necessários (Entrada)
- Lista de participantes: Nome e endereço de e-mail.
- Dados de conexão: Horário em que o usuário entrou e horário em que saiu.
- Referência do evento: Horário oficial de início e horário oficial de término da transmissão.
2. Processamento e lógica
O ponto central aqui é a comparação. O algoritmo precisa subtrair o horário de entrada do horário de saída para encontrar o tempo total de permanência e comparar esse valor com a duração do evento.
3. Passo a passo do algoritmo
- Definir a duração total da transmissão (exemplo: 120 minutos).
- Acessar a lista com os dados de todos os inscritos.
- Para cada participante da lista, realizar as seguintes subetapas:
- Calcular a diferença entre o horário de saída e o horário de entrada.
- Verificar se esse resultado é igual ou superior à duração total definida no passo 1.
- Se a condição for verdadeira, enviar o e-mail de agradecimento para o endereço cadastrado.
- Caso contrário, ignorar e passar para o próximo nome da lista.
- Finalizar o processo após percorrer todos os nomes.
Diferença entre as suas abordagens:
A sua segunda sugestão (verificações de tempo em tempo) é muito útil para evitar que alguém apenas entre no início e volte no final para simular presença. Em sistemas reais de transmissão, chamamos isso de heartbeat (batimento cardíaco): o sistema checa a cada 5 ou 10 minutos se o usuário ainda está com a aba aberta.
Se você utilizar essa lógica de "verificação constante", o algoritmo mudaria levemente:
- O sistema conta quantas vezes o usuário estava "Online" durante as checagens.
- Se o número de presenças confirmadas for igual ao número total de checagens feitas, o e-mail é enviado.
Essa é uma forma bastante segura de garantir que o objetivo de "assistir do início ao fim" foi cumprido.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!