1
resposta

Desafio: Automatizando tarefas

// 1. Configuração e Entrada de Dados
Definir duracao_total_evento = 120 // Exemplo: evento durou 120 minutos
Obter lista_de_participantes // Uma lista contendo os dados de cada pessoa (nome, email, minutos_assistidos)

// 2. Início do Processamento (Laço de Repetição)
Para cada 'participante' dentro da 'lista_de_participantes' faça:

// 3. Verificação da Condição e Decisão
Se (participante.minutos_assistidos >= duracao_total_evento) então:
    
    // 4. Ação Final
    preparar_mensagem = "Olá " + participante.nome + ", obrigado por assistir até o final!"
    enviar_email(participante.email, preparar_mensagem)
    exibir "E-mail enviado com sucesso para: " + participante.nome
    
Senao:
    // Caso não tenha assistido tudo, não fazemos nada e pulamos para o próximo
    exibir "Participação incompleta. E-mail não enviado para: " + participante.nome
    
Fim Se

Fim Para

exibir "Processamento da lista concluído!"

1 resposta

Oi, Paulo!

Meus parabéns por concluir o desafio de automatizando tarefas. É excelente ver como você transpôs a lógica do pensamento computacional para uma estrutura que já se assemelha muito a um código real, utilizando comentários e indentação para organizar o fluxo.

Sua resolução demonstra um domínio muito bom sobre a decomposição de problemas e a construção de algoritmos. Ao definir variáveis claras, como duracao_total_evento, e utilizar uma estrutura de repetição para percorrer a lista, você criou uma solução escalável. Essa lógica de "filtragem" é fundamental no desenvolvimento de sistemas que lidam com grandes volumes de dados, garantindo que a ação final seja executada apenas quando os critérios de negócio são plenamente atendidos.

Destaquei os pontos fundamentais da sua estratégia:

  • Estruturação por etapas: A divisão em Configuração, Processamento e Ação Final torna o algoritmo extremamente fácil de ser traduzido para linguagens como Python ou JavaScript.
  • Lógica de comparação: O uso do operador >= é uma escolha inteligente, pois previne erros caso o tempo registrado de um participante seja ligeiramente superior à duração nominal do evento por questões de arredondamento.
  • Feedback do sistema: Incluir mensagens de log ("E-mail enviado" ou "Participação incompleta") é uma excelente prática para monitorar o comportamento da automação enquanto ela é executada.

Para elevar ainda mais o nível da sua solução, vale notar um detalhe sobre a abstração: em sistemas reais, os horários de entrada e saída podem ser dados em formato de hora (ex: 14:05 e 16:05). Nesses casos, o seu algoritmo precisaria de uma etapa extra para calcular a diferença entre esses tempos antes de realizar a comparação. Você pode explorar mais sobre como organizar esses fluxos lógicos no guia sobre Fundamentos do Pensamento Computacional.

Conseguiu perceber como essa mesma estrutura de "Para cada item -> Se condição -> Ação" é o que permite automatizar desde envios de e-mails até cobranças de assinaturas em plataformas de streaming?

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