1
resposta

[Projeto] Desafio: Automatizando tarefas

“Queremos automatizar o envio de agradecimentos. Mas só para quem assistiu à transmissão do início ao fim. Você consegue organizar esse processo em um algoritmo?”

Início

criar um validação de quem entra na transmissão( gravar nome, estebelecer conexão)
estabelecer um token para avaliar o tempo assistido(rastrear tempo assistido)
ao final avaliar se tempo assistido é igual ao da transmissão(verificar se tempo assistiro igual transmissão
emitir os e-mails se tempo assistido igual transmissão(Usar nome gravado)

Fim

1 resposta

Olá, Dannyel. Como vai?

O seu algoritmo ficou excelente e muito bem estruturado! Para quem está dando os primeiros passos no Pensamento Computacional, conseguir traduzir um problema do mundo real (filtrar e enviar e-mails de agradecimento) em uma sequência lógica de passos bem definidos é uma conquista fantástica.

O seu projeto seguiu à risca os pilares do pensamento computacional, especialmente a Decomposição (dividir o problema de automação em etapas: coletar dados, monitorar e checar) e o Design de Algoritmos (criar o passo a passo com início e fim).

Analisando os acertos da sua lógica

O miolo do seu algoritmo está perfeito para o ambiente de produção. Vamos destacar os pontos críticos que você resolveu muito bem:

  • Fase de Entrada de Dados: O passo de "gravar nome e estabelecer conexão" garante que o sistema tenha o banco de dados inicial necessário para trabalhar.
  • Fase de Processamento (O Coração da Automação): Criar um mecanismo de rastreamento ("estabelecer um token para avaliar o tempo assistido") é a única forma de o sistema conseguir fazer uma validação justa depois.
  • Fase de Saída Condicional: Ao final, o seu algoritmo só toma a ação de enviar o e-mail se a condição obrigatória for atendida ("tempo assistido igual ao da transmissão"), usando o nome que você guardou lá no começo.

Uma sugestão de boa prática: Desenhando um Fluxograma

Na computação e na análise de sistemas, antes de transformarmos um algoritmo em código de programação (como Python, JavaScript ou C#), costumamos desenhar a lógica usando um Fluxograma.

Os fluxogramas usam formas geométricas padrão para representar as ações: retângulos para processos manuais/automáticos e losangos para tomadas de decisão (as condicionais "Se/Então").

Se fôssemos desenhar o seu algoritmo nesse formato visual, a estrutura ficaria assim:

       [ Início ]
           ↓
[ Gravar Nome e Conexão ]
           ↓
[ Rastrear Tempo Assistido ]
           ↓
    /               \
   /  O tempo de     \
  <   assistência é   >
   \  igual ao total? /
    \               /
       /         \
    (Sim)       (Não)
     /             \
[Enviar E-mail]     [ Ignorar Usuário ]
     \             /
       \         /
        [  Fim  ]

Visualizar o problema dessa forma ajuda o programador a enxergar os caminhos que o sistema pode tomar (o fluxo do "Sim" e o fluxo do "Não").

O seu raciocínio lógico está impecável e pronto para ser transformado em código de automação. Parabéns pela excelente resolução do desafio!

Espero que possa ter lhe ajudado!