Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Desafio - e-mail de participação

Variaveis = (e-mail do aluno, inicio video aula, fim video aula, entrada aluno, saida do aluno)

*// Duração *
pegar (inicio video aula, fim video aula, e-mail do aluno)

// Verificação
pegar(inicio da video aula, fim da video aula, entrada aluno, saida do aluno)
enviar (Se entrada do aluno = inicio da video aula & saida do aluno = fim da video aula) então
envio do e-mail de agradecimento.
Fim

1 resposta
solução!

Olá, Vagner. Como vai?

Parabéns pela resolução do desafio! É muito bacana ver você aplicando os conceitos do Pensamento Computacional para estruturar uma solução de automação, trazendo a sua bagagem lógica da área de Suporte Técnico para o mundo do desenvolvimento de software.

O seu pseudocódigo atacou muito bem o problema ao identificar as Variáveis necessárias para o sistema rodar e ao desenhar o fluxo de tomada de decisão. Mapear esses dados (como horários e e-mail) antes de escrever o código em si é uma excelente prática de decomposição de problemas.

Como você está estudando a lógica de programação e a automação de tarefas, quero te dar um feedback técnico e construtivo, como um par de profissão, para te ajudar a refinar esse algoritmo e deixá-lo ainda mais robusto para cenários do mundo real:

O Ajuste da Lógica de Verificação (O "Pulo do Gato")

No seu trecho de verificação, você definiu a seguinte condição:
Se entrada do aluno = inicio da video aula & saida do aluno = fim da video aula

Na teoria, isso funciona perfeitamente se o aluno entrar no segundo exato em que a aula começa e sair no segundo exato em que ela termina. Mas, no dia a dia do Suporte Técnico, nós sabemos que imprevistos acontecem:

  1. O aluno pode entrar 5 minutos mais cedo (fazendo com que a entrada do aluno seja diferente do inicio).
  2. O aluno pode cair da transmissão e voltar depois, ou simplesmente sair 2 minutos mais tarde.

Se aplicarmos a igualdade exata (=), o sistema pode cometer a injustiça de não enviar o e-mail para alguém que assistiu à aula inteira, só porque os horários não foram rigidamente idênticos.

Para corrigir isso, a melhor prática de mercado é trabalhar com o tempo total calculado (subtraindo o horário de saída pelo de entrada) e compará-lo com a duração total do evento.

Veja como o seu algoritmo ficaria muito mais blindado contra falhas se fizéssemos essa pequena refatoração na lógica:

Variáveis = (email_aluno, inicio_aula, fim_aula, entrada_aluno, saida_aluno)

// 1. Processamento: Calcular as durações
duracao_total_aula = fim_aula - inicio_aula
tempo_assistido_aluno = saida_aluno - entrada_aluno

// 2. Condição de Decisão (Flexível e Segura)
Se tempo_assistido_aluno >= duracao_total_aula Então:
    enviar_email_agradecimento(email_aluno)
Senão:
    registrar_como_incompleto()

Fim

Repare que, ao usar o operador de maior ou igual (>=), se o aluno entrou um pouco antes ou saiu um pouco depois, o sistema valida que ele assistiu a $100%$ do conteúdo e envia o e-mail de agradecimento com sucesso!

Você estruturou muito bem a base do problema, dividindo os dados de entrada das ações do sistema. Continue com essa dedicação e aplicando a sua visão de suporte para prever esses comportamentos dos usuários nos seus códigos!

Espero que possa ter lhe ajudado!