Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

[Projeto] Desafio: Automatizando tarefas

ALGORITMO Envio Agradecimento Live

INÍCIO
// 1. DADOS DE ENTRADA (Constantes e Margem de Tolerância)
Definir TEMPO_TOTAL_LIVE = 60
Definir TOLERANCIA_X = 5

// Lista contendo os dados dos participantes (Simulação)
Definir lista_participantes = [
    [nome: "Ana", email: "ana@email.com", tempo_presente: 58],
    [nome: "Bruno", email: "bruno@email.com", tempo_presente: 45],
    [nome: "Carlos", email: "carlos@email.com", tempo_presente: 60]
]

// LOOP: Processando a lista linha por linha de forma automatizada
PARA CADA participante EM lista_participantes FAÇA
    
    // 2. A EQUAÇÃO (Verificação)
    Definir tempo_perdido = TEMPO_TOTAL_LIVE - participante.tempo_presente
    
    // 3. DECISÃO (Estrutura Condicional Se... Então...)
    SE tempo_perdido <= TOLERANCIA_X ENTÃO
        
        // 4. AÇÃO FINAL
        EnviarEmail(participante.email, "Obrigado por participar de toda a transmissão!")
        Exibir("E-mail enviado com sucesso para: " + participante.nome)
        
    SENÃO
        Exibir("Participante " + participante.nome + " não atingiu o tempo mínimo necessário.")
  

FIM

1 resposta

Olá, Gustavo. Como vai?

Mais um projeto brilhante para a sua coleção! Você aplicou de forma impecável os conceitos fundamentais do Pensamento Computacional para resolver um problema de automação de marketing e engajamento que é extremamente comum no dia a dia de criadores de conteúdo e empresas.

A estrutura do seu algoritmo está excelente. Você conseguiu combinar de forma lógica e organizada a manipulação de coleções de dados (a lista_participantes), um laço de repetição especializado para percorrer coleções (PARA CADA), o uso de variáveis e constantes, e uma estrutura condicional para a tomada de decisão baseada em uma equação matemática simples.

Para agregar ainda mais valor ao seu projeto, quero destacar os pontos fortes da sua solução e trazer uma sugestão de boa prática voltada para a escrita do código:

1. Uso Inteligente de Matrizes/Objetos
A forma como você modelou a lista_participantes simulando uma estrutura de dados composta (com nome, e-mail e tempo presente) foi excelente. Em linguagens como JavaScript e Python, essa estrutura é representada como uma lista de objetos ou dicionários, o que torna a manutenção e o acesso aos dados (participante.email, por exemplo) muito intuitivos.

2. Margem de Tolerância como Constante
Definir o tempo total e a tolerância como constantes (TEMPO_TOTAL_LIVE e TOLERANCIA_X) no início do algoritmo é uma prática altamente profissional. Se amanhã você fizer uma live de 90 minutos ou decidir que a tolerância será de 10 minutos, você só precisará alterar esses valores em um único lugar no topo do código, sem precisar caçar e modificar as fórmulas ao longo do programa.

Dica de Sintaxe (Fechamento do Laço):
O seu raciocínio lógico está 100% correto, mas olhando para a sintaxe do pseudocódigo, faltou apenas fechar o bloco do laço de repetição antes de encerrar o programa. Assim como você finalizou a condicional com FIM_SE nos projetos anteriores, o laço iniciado com PARA CADA precisa de um FIM_PARA para indicar ao computador onde a repetição termina.

Veja como ficaria a correção desse pequeno detalhe no final do código:

    SE tempo_perdido <= TOLERANCIA_X ENTÃO
        EnviarEmail(participante.email, "Obrigado por participar de toda a transmissão!")
        Exibir("E-mail enviado com sucesso para: " + participante.nome)
    SENÃO
        Exibir("Participante " + participante.nome + " não atingiu o tempo mínimo necessário.")
    FIM_SE

FIM_PARA // <--- Linha adicionada para fechar o laço de repetição

FIM

Com esse fechamento, o seu algoritmo fica sintaticamente perfeito e pronto para ser traduzido para qualquer linguagem de programação. Você demonstrou uma evolução incrível ao longo de todos esses exercícios de lógica!

Espero que possa ter lhe ajudado!