1
resposta

resolução do exercício

const participantes = [
{ nome: "Laura", pontuacao: 92 },
{ nome: "Pedro", pontuacao: 67 },
{ nome: "Clara", pontuacao: 44 }
];

function realizarSorteio(participantes) {
console.log('Sorteando...');
const numeroAlearotio = Math.floor(Math.random() * ((participantes.length - 1) - 0 + 1)) + 0;
const partipanteEscholido = participantes[numeroAlearotio].nome;
const pontuacaoDoParticipante = participantes[numeroAlearotio].pontuacao;

setTimeout(() => {
    console.log(`Participante sorteado: ${partipanteEscholido}`);
    console.log(`Pontuação: ${pontuacaoDoParticipante}`);

    if(pontuacaoDoParticipante >= 80) {
        console.log('Parabéns, você foi premiado!');
    } else if (pontuacaoDoParticipante < 80 && pontuacaoDoParticipante > 50) {
        console.log('Você quase conseguiu! Fique de olho nos próximos sorteios.');
    } else {
        console.log('Infelizmente, não foi dessa vez.');
    }
}, 3000);

}

realizarSorteio(participantes);

1 resposta

Oi, David!

Sua solução está funcionando bem e a ideia do sorteio com Math.random foi aplicada corretamente. O uso do setTimeout também ficou legal para simular o suspense do sorteio.

Só alguns pontos pra ajustar. Você complicou um pouco o cálculo do índice aleatório. Dá pra simplificar assim:

const numeroAleatorio = Math.floor(Math.random() * participantes.length);

Também tem alguns erros de digitação nos nomes das variáveis, como numeroAlearotio e partipanteEscholido. Isso não impede de rodar, mas pode confundir na leitura e manutenção.

Na condição do else if, você pode simplificar, porque não precisa repetir a verificação menor que 80:

} else if (pontuacaoDoParticipante > 50) {

No geral, a lógica está correta e bem estruturada. Com esses ajustes, seu código fica mais limpo e fácil de entender.

Bons estudos!

Sucesso

Imagem da comunidade