Oi João Vinicius, tudo bem?
Achei sua abordagem com o QR Code muito criativa! É uma solução prática que vemos acontecendo bastante em eventos presenciais e transmissões ao vivo para garantir que a pessoa estava lá naquele momento específico.
Pra exercitarmos ainda mais a lógica algorítmica, gostaria de propor uma reflexão sobre a regra do desafio: "assistiu à transmissão do início ao fim".
Vamos analisar o cenário do QR Code:
Se o código aparecer apenas no final, existe a possibilidade de alguém entrar na transmissão nos últimos 5 minutos, escanear o código e receber o certificado, mesmo sem ter assistido ao começo, certo?
Pra garantir a presença completa via algoritmo (focando nos dados que o computador processa), geralmente olhamos para os registros de tempo (logs).
Que tal tentarmos ajustar sua lógica considerando o tempo? Algo assim:
1. Dados de entrada
Além do nome e e-mail, o sistema precisaria saber:
- Horário que a pessoa entrou na sala.
- Horário que a pessoa saiu da sala.
- Duração total do evento.
2. Verificação
O cálculo seria: (Horário de Saída - Horário de Entrada) é igual ou maior que a Duração Total?
Dessa forma, o seu algoritmo cobre a exigência de ter assistido "do início ao fim", blindando contra quem chegou apenas no finalzinho.
O que acha dessa linha de raciocínio?
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!