Solucionado (ver solução)

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!

Solucionado
(ver solução)
1
resposta

[Sugestão] PROPOSTA DE SOLUÇÃO DO DESAFIO DO ALGORITMO DE AUTOMAÇÃO DE TAREFAS

Desafio: Automatizando tarefas

Você está trabalhando como pessoa desenvolvedora júnior em uma equipe que está criando um sistema para auxiliar no controle de presença em eventos online. O time precisa de um algoritmo que processe a lista de participantes e envie um e-mail de agradecimento apenas para quem participou de toda a transmissão ao vivo.

“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?”

Utilize os conhecimentos sobre algoritmos para construir uma solução em linguagem natural, com etapas claras e executáveis.

Considere:

Quais são os dados de entrada necessários?
Como o algoritmo pode verificar a condição de presença completa?
Que decisão precisa ser tomada com base nesses dados?
Qual deve ser a ação final?
Para saber mais detalhes sobre uma solução para esse desafio, clique na Opinião da Pessoa Instrutora.

1 resposta
solução!

SEGUE O ALGORTIMO PROPOSTO EM LINGUAGEM PSEUDOCODIGO:

Pseudocódigo: Envio de Agradecimento aos Participantes

A - Dados de entrada necessários

Para cada participante do evento, precisamos de:

  • Nome do participante
  • E-mail do participante
  • Horário de início da transmissão (horário oficial do evento)
  • Horário de término da transmissão (horário oficial do evento)
  • Horário de entrada do participante na transmissão
  • Horário de saída do participante da transmissão

B- Pseudocódigo

INÍCIO

// Etapa 1: Definir os dados do evento

DEFINIR horario_inicio_evento
DEFINIR horario_fim_evento

// Etapa 2: Obter a lista de participantes

LISTA participantes = [ (nome, email, horario_entrada, horario_saida), ... ]

// Etapa 3: Processar cada participante da lista

PARA CADA participante EM participantes FAÇA

    // Etapa 4: Verificar a condição de presença completa
    
    SE (participante.horario_entrada <= horario_inicio_evento) E
       (participante.horario_saida >= horario_fim_evento) ENTÃO

        // Etapa 5: Decisão - presença completa confirmada
        
        presenca_completa = VERDADEIRO

    SENÃO

        // Presença incompleta ou parcial
        
        presenca_completa = FALSO

    FIM SE

    // Etapa 6: Ação final - enviar e-mail apenas se presença for completa	
    
    SE presenca_completa = VERDADEIRO ENTÃO
    
        ENVIAR (e-mail de agradecimento, participante.email)
        REGISTRAR  (E-mail enviado para " + participante.nome)
        
    SENÃO
    
        REGISTRAR participante.nome + " não participou da transmissão completa - e-mail não enviado"
        
    FIM SE

FIM PARA CADA

FIM

C- Explicação da lógica

  1. **Dados de entrada: **cada participante precisa ter registrado o horário em que entrou e o horário em que saiu da transmissão, além dos horários oficiais de início e fim do evento (referência de comparação).

  2. Verificação da condição: a presença completa só é confirmada quando duas condições são verdadeiras ao mesmo tempo:

  • o participante entrou antes ou exatamente no horário de início;
  • o participante saiu depois ou exatamente no horário de término.

Se qualquer uma dessas condições falhar, considera-se presença parcial.

  1. Decisão (estrutura condicional): o algoritmo usa uma estrutura

     SE...SENÃO para classificar cada participante em "presença completa" ou "presença incompleta".
    
  2. Ação final: apenas participantes marcados como presença completa recebem o e-mail de agradecimento; os demais são apenas registrados em log, sem envio de e-mail.