1
resposta

Desafio: Automatizando tarefas

Para gerar o envio do e-mail apenas para os participantes, seria necessário dados de entrada como nome completo, e-mail (Validador de e-mail), hora de entrada e hora de saída.

Também seria necessário hora de início da transmissão e fim da transmissão.

Ao final, a automatização validaria as informações, nome (para e-mail personalizado), e-mail, horários de entrada e fim dos participantes e horário de início e fim da transmissão.

Se participante entrou somente no final = tempo de permanecia < que o tempo total da transmissão, não enviar e-mail.
Se participante entrou e saiu em seguida = tempo de permanecia < que o tempo total da transmissão, não enviar e-mail.

Se participante entrou e permaneceu até o final = tempo de permanecia = ou > que o tempo total definido da transmissão, enviar o e-mail com nome e agradecimentos.

Por ser uma transmissão online, dependendo do tempo total cabe também analisar e adicionar aos parâmetros tempo mínimo definido para o total de tempo da transmissão para margem de erro (Falta de conexão, falhas técnicas e etc...), suponhamos em uma transmissão de 1 hora haverá 20 minutos de tolerância a ausência, dessa forma, diminuímos a chance de um ingressante ficar sem seu e-mail de agradecimentos por fatores fora do seu controle.

Assim o sistema terá validação de dados, validação de tempo, calculo de permanência e margem de erro o envio será realizado apenas no grupo que se enquadra aos parâmetros definidos, além de demonstrar o quão é importante a experiência do usuário. (Eu não gostaria de ficar 2 horas em uma transmissão importante, para no fim ser desconsiderada por ter uma falha de conexão de 5 minutos).

1 resposta

Olá, Ana. Como vai?

Seu raciocínio é um exemplo perfeito de Pensamento Computacional aplicado a um problema do mundo real! Você não apenas identificou a necessidade de automatização, mas utilizou os pilares fundamentais da lógica para construir a solução: Decomposição (separar os dados necessários), Reconhecimento de Padrões (quem deve ou não receber o e-mail) e Algoritmos (o passo a passo da validação).

O ponto mais alto da sua análise foi a inclusão da Margem de Erro por Tolerância. Em programação e UX (User Experience), isso é o que chamamos de tornar o sistema robusto e resiliente. Se fôssemos rígidos demais (tempo de permanência EXATAMENTE igual ao tempo de transmissão), qualquer oscilação de internet frustraria o usuário, como você bem observou.


Estruturando a Lógica (Pseudocódigo)

Para visualizar como isso funcionaria no "cérebro" do computador, poderíamos estruturar sua lógica assim:

  1. Entrada: TempoEntrada, TempoSaida, TempoTotalTransmissao, Tolerancia.
  2. Cálculo: Permanencia = TempoSaida - TempoEntrada.
  3. Condição: * SE Permanencia >= (TempoTotalTransmissao - Tolerancia):
  • Enviar e-mail personalizado ("Olá [Nome]...").
  • SENÃO:
  • Não enviar ou enviar convite para assistir à gravação.

Por que isso é importante?

  • Escalabilidade: Imagine fazer essa conferência manual para 5.000 pessoas. Seria impossível. Com essa lógica, o computador faz em milissegundos.
  • Experiência do Usuário (UX): Ao prever falhas de conexão, você humaniza o algoritmo. A tecnologia passa a trabalhar para o usuário, e não contra ele.

Sua abordagem demonstra que você já entendeu que programar não é apenas escrever código, mas sim desenhar soluções que façam sentido para as pessoas.

Parabéns pelo excelente desenvolvimento do desafio! Ficou muito profissional.

Espero que possa ter lhe ajudado!