1
resposta

Desafio: Automatizando tarefas - Envio de agradecimento pela presença online

início
// Preparar os dados
carregar(ListaParticipantes, InicioTransmissao, FimTransmissao, Tolerancia) //Tolerância de 30s para momentos de desconexão

para cada participante em ListaParticipantes:
// Normalizar sessões e remover inválidas
sessoes = filtrar(participante.Sessoes, entrada < saida)

// Mesclar sessões sobrepostas (opcional)
sessoes = mesclar(sessoes)

// Verificação direta: existe sessão que cobre todo o evento?
se existe sessao em sessoes tal que
sessao.entrada <= InicioTransmissao + Tolerancia
e sessao.saida >= FimTransmissao - Tolerancia:
enviarEmailAgradecimento(participante.Email, participante.Nome)
registrar(participante.ID, "ENVIADO")

senao:
// Alternativa simples: somar tempo assistido
tempoAssistido = somarDuracoes(sessoes)
duracaoEvento = FimTransmissao - InicioTransmissao
se tempoAssistido >= duracaoEvento - Tolerancia:
enviarEmailAgradecimento(participante.Email, participante.Nome)
registrar(participante.ID, "ENVIADO")
senao:
registrar(participante.ID, "NAO_ENVIADO", tempoAssistido)
fim

1 resposta

Oi, Aristoteles! Como vai?

Ficou muito interessante como você pensou em duas estratégias diferentes para validar a presença: uma verificando cobertura completa da sessão e outra somando o tempo assistido.

Isso mostra um raciocínio bem estruturado e próximo de soluções reais, principalmente ao considerar tolerância para desconexões e a normalização das sessões.

Uma dica interessante para o futuro é usar estruturas que simplificam validações, como verificar diretamente com some em JavaScript. Veja este exemplo:


let sessoes = [{entrada: 0, saida: 100}, {entrada: 120, saida: 200}];
let inicio = 0;
let fim = 200;

let participou = sessoes.some(s => s.entrada <= inicio && s.saida >= fim);

console.log(participou);

Esse código percorre a lista e retorna verdadeiro se alguma sessão cobre todo o evento, deixando a verificação mais direta e legível.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!