1
resposta

Resolução exercício 23

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

const sortearParticipante = (listaParticipantes) => {
    const indiceAleatorio = Math.floor(Math.random() * listaParticipantes.length);
    return listaParticipantes[indiceAleatorio];
}

function exibirSorteado(sorteado,premio) {

    setTimeout(() => {
        console.log(`Participante sorteado: ${sorteado.nome}\nPontuação: ${sorteado.pontuacao}\n${premio}`);
    }, 2000);
}

function avaliadorDePremio(pontuacaoDoPremiado) {
    if (pontuacaoDoPremiado >= 80) {
        return "Parabéns, você foi premiado!";
    } else if (pontuacaoDoPremiado < 50) {
        return "Infelizmente, não foi dessa vez.";
    } else {
        return "Você quase conseguiu! Fique de olho nos próximos sorteios.";
    }
}

function realizarSorteio(participantes) {
    console.log('Sorteando...');
    const sorteado = sortearParticipante(participantes);
    const premio = avaliadorDePremio(sorteado.pontuacao);
    exibirSorteado(sorteado, premio);
};

realizarSorteio(participantes);
1 resposta

Olá, Raonny, como vai?

O código apresentado está correto e atende perfeitamente aos requisitos do exercício. A lógica para a seleção aleatória utilizando o objeto Math, o controle de fluxo com estruturas condicionais para as pontuações e o uso do setTimeout para gerenciar o assincronismo do sorteio foram implementados de forma precisa. O uso de template literals para a exibição das informações também contribui para a organização da saída no console.

Parabéns pelo excelente desempenho na atividade e obrigado por compartilhar sua resolução com a comunidade. Continue praticando e postando seus progressos.

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