1
resposta

Desafio: Automatizando tarefas

Uma forma adequada de estruturar esse problema é pensar no algoritmo como um fluxo lógico que parte de dados bem definidos, aplica uma verificação objetiva e executa uma ação condicional.

Primeiramente, é necessário definir os dados de entrada. O algoritmo deve receber: (i) a lista de participantes do evento, contendo pelo menos nome e e-mail; (ii) os registros de acesso de cada participante (logs de entrada e saída na transmissão); e (iii) o horário oficial de início e término da live. Esses dados são essenciais para que seja possível verificar o comportamento de cada usuário durante o evento.

Em seguida, o algoritmo deve percorrer a lista de participantes, analisando individualmente cada pessoa. Para cada participante, ele deve recuperar seus registros de acesso e comparar com o período total da transmissão. A lógica de verificação consiste em identificar se o participante entrou até o início (ou próximo dele, considerando uma tolerância, se necessário) e permaneceu conectado até o final. Alternativamente, pode-se calcular o tempo total de permanência e verificar se ele corresponde a 100% (ou a um percentual mínimo aceitável) da duração do evento.

A partir dessa verificação, o algoritmo precisa tomar uma decisão condicional:

Se o participante assistiu à transmissão completa, ele é elegível para receber o e-mail de agradecimento;

Caso contrário, ele não deve receber esse e-mail (ou poderia receber outro tipo de comunicação, se desejado).

Por fim, a ação final do algoritmo é acionar um serviço de envio de e-mails para todos os participantes que atenderam ao critério definido. Esse envio pode ser feito imediatamente após o processamento ou armazenado em uma fila para disparo em lote.

Em termos gerais, o algoritmo segue uma estrutura clássica: entrada de dados → processamento com iteração e condição → tomada de decisão → execução de ação. Essa organização garante clareza, escalabilidade e facilidade de manutenção, além de permitir ajustes futuros, como inclusão de regras de tolerância ou personalização das mensagens.

1 resposta

Oi, Kelly, tudo bem?

Meus parabéns pela excelente estruturação do seu pensamento lógico! Você descreveu com muita clareza a "espinha dorsal" de um algoritmo eficiente: a sequência de entrada, processamento com iterações/condições e a saída (ação final).

Essa organização, como você bem mencionou, garante que o código seja escalável e fácil de manter. É exatamente esse tipo de pensamento analítico que transforma um problema complexo em uma solução elegante e funcional!

Continue com esse olhar crítico e estruturado nos seus próximos desafios.

Bons estudos!

Sucesso

Imagem da comunidade