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

Exercício

const participantes = [
    { nome: "Alice", pontuacao: 85 },
    { nome: "Bob", pontuacao: 70 },
    { nome: "Charlie", pontuacao: 45 }
];
function sortearParticipante(participantes) {
    const indiceSorteado = Math.floor(Math.random() * participantes.length);
    return participantes[indiceSorteado];
}
const avaliarPontuacao = (pontuacao) => {
    if (pontuacao > 80) {
        return "Parabéns, você foi premiado!";
    } else if (pontuacao >= 50 && pontuacao <= 80) {
        return "Você quase conseguiu! Fique de olho nos próximos sorteios.";
    } else {
        return "Infelizmente, não foi dessa vez.";
    }
};
function exibirResultado(participante) {
    console.log(`O participante sorteado é: ${participante.nome}`);
    setTimeout(() => {
        const resultado = avaliarPontuacao(participante.pontuacao);
        console.log(resultado);
    }, 2000);
}
function realizarSorteio(participantes) {
    const participanteSorteado = sortearParticipante(participantes);
    exibirResultado(participanteSorteado);
}
realizarSorteio(participantes);
1 resposta

Oi, Alan! Tudo bem?

A sua atividade Exercício sobre Sistema de sorteio com avaliação de participantes ficou bem organizada e mostra o uso de funções, arrow function, Math.random(), Math.floor() e setTimeout() em JavaScript.

Você separou bem as responsabilidades: uma função sorteia o participante, outra avalia a pontuação, outra exibe o resultado e a função realizarSorteio() coordena o fluxo. Essa divisão deixa o código mais legível e fácil de ajustar.

Uma dica é testar os limites das condições, como pontuação 80, 81, 50 e 49, para conferir se cada mensagem aparece no momento certo. Também vale pensar se pontuacao > 80 deve ser mesmo o critério de premiação ou se pontuacao >= 80 faria mais sentido para o exercício.

Qual parte desse exercício você achou mais interessante: o sorteio aleatório, a avaliação da pontuação ou o uso do setTimeout()?

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