1
resposta

[Sugestão] Exercícios 4 e 5

segue a maneira como resolvi os exercícios:

console.log("=== Exercício 4 ===");
const ganhadoresNobelFranceses = [
    'Sully Prudhomme',
    'Fréderic Mistral',
    'Romain Rolland',
    'Henri Bergson',
    'Roger Martin',
    'André Guide',
    'Fraçois Mauriac',
    'Jean-Paul Satre',
    'Claude Simon',
    'Anatole France',
    'Albert Camus',
    'Patrick Modianos',
    'Annie Ernaux'
    
];

const ganhadoresNobelIngleses = [
    'Rudyard Kipling',
    'Doris Lessing',
    'Jonh Galsworthy',
    'Winston Churchill',
    'William Golding',
    'Harold Pinter'
];

// Combina as duas listas em uma única lista
const todosGanhadoresNobel = ganhadoresNobelFranceses.concat(ganhadoresNobelIngleses);

// Configura a interface para leitura de input do usuário no terminal
const readline = require('readline').createInterface({
    input: process.stdin,   // Recebe entrada do usuário
    output: process.stdout  // Exibe mensagens no terminal
});

// Função principal que realiza a busca
function buscarVencedoresNobel() {
    // Pede ao usuário para digitar um nome para busca
    readline.question("\nDigite o nome completo do escritor vencedor do Nobel de Literatura que deseja procurar: ", (nomeProcurado) => {
        // (.trim) Verifica se o usuário digitou algo (ignorando espaços em branco)
        if (!nomeProcurado.trim()) {
            console.log("Nenhum nome foi digitado!");
            return buscarVencedoresNobel(); // Reinicia a busca se não digitou nada
        }

        // Busca o nome digitado na lista combinada (ignorando maiúsculas/minúsculas)
        const vencedorNobelEncontrado = todosGanhadoresNobel.find(vencedoresNobel => 
            vencedoresNobel.toLowerCase().includes(nomeProcurado.toLowerCase())
        );

        // Exibe o resultado da busca
        if (vencedorNobelEncontrado) {
            console.log(`${nomeProcurado} consta na lista de escritores vencedores do prêmio nobel de literatura.`); 
        } else {
            console.log(`Este nome "${nomeProcurado}" não está na lista de escritores vencedores do prêmio Nobel da França e da Inglaterra`); 
        }

        // Pergunta se o usuário quer fazer outra busca
        readline.question("\nDeseja buscar outro nome? (s/n) ", (resposta) => {
            if (resposta.toLowerCase() === 's') {  
                buscarVencedoresNobel(); // Reinicia a função para nova busca
            } else {
                console.log("Até logo!"); 
                readline.close(); // Fecha a interface de leitura
            }
        });
    });
}

console.log("Bem-vindos ao buscador de prêmios Nobel de Literatura da França e da Inglaterra!"); // msg inicial

// Inicia o processo de busca pela primeira vez
buscarVencedoresNobel();

console.log("=== Exercício 5");
const numeros = [6, 9, 12, 15, 18, 22];

console.log('Elementos do array multiplicados por 5:');

numeros.forEach(numero => {
  const resultado = numero * 5;
  console.log(resultado);
});

const indiceDoNumero22 = numeros.findIndex(numero => numero === 22);

if (indiceDoNumero22 !== -1) {
  console.log(`O número 22 está no índice ${indiceDoNumero22}.`);
} else {
  console.log('O número 22 não está presente no array.');
}
1 resposta

Oi, Paulo! Como vai?

Gostei da forma como você estruturou a busca dos ganhadores, usando find e concat para unificar as listas. Isso torna o código direto e fácil de manter.

Uma dica interessante para o futuro é usar includes diretamente com toLowerCase em arrays para simplificar buscas case-insensitive. Veja este exemplo:


const nomes = ['ana', 'joao', 'maria'];
console.log(nomes.includes('joao')); // true

Esse código retorna true se o elemento estiver presente no array.

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