1
resposta

[Projeto] Desafio: hora prática - Resolução

Crie um programa que verifica se uma palavra ou frase é um palíndromo.

  • Gostaria de colocar uma string diretamente como parâmetro ao invés de buscar um texto do HTML. Se puderem sugerir mudanças, agradeço!
function palindromo(x){
    // x é a palavra dada por document.querySelector("add Seletor").textContent;
    let simNaoPalindromo;
    let contador = x.length%2==0 ? x.length/2 : (x.length-1)/2 ;
    
    while(contador>0){
        if (x[contador-1] == x[x.length - contador]){
            simNaoPalindromo= x + ' é um palindromo!';
        }else{
            simNaoPalindromo= x + ' não é palindromo';
            break;
        }
        contador--;
    }
    console.log(simNaoPalindromo);
    return simNaoPalindromo;
}

Crie um programa com uma função que receba três números como argumentos e os retorne em ordem crescente. Exiba os números ordenados.

  • Essa minha solução funciona bem para os 3 números. Mas e se fosse 5, 10, 500 números ? Talvez alguma funcionalidade relacionado a listas, onde novos números possam ser inseridos e já ordenados. Novamente, se puderem sugerir mudanças ou dar ideias, agradeço!
function ordenaNum(x, y, z){
   let primeiro;
   let segundo;
   let terceiro;

    if(x>y && x>z){
        terceiro = x;
    }else if( y>z && y>x){
        terceiro = y;
    }else{
        terceiro = z;
    }

    if( x<z && x<y){
        primeiro = x;
    }else if(y<x && y<z){
        primeiro = y;
    }else{
        primeiro = z;
    }

    segundo= x+y+z-primeiro-terceiro;
    console.log(primeiro +" < "+segundo+" < "+terceiro);
}
1 resposta

Olá, Guilherme! Vejo que você está se esforçando bastante nos seus estudos de lógica de programação, isso é ótimo!

Vamos às suas dúvidas:

  1. Para que a função palindromo receba uma string diretamente como parâmetro, você pode simplesmente passar a string desejada ao chamar a função. Por exemplo: palindromo("arara"). A linha onde você menciona o document.querySelector pode ser removida, já que não é necessária nesse caso.

  2. Sobre a função ordenaNum, você está correto em pensar que uma lista seria uma boa solução para lidar com uma quantidade variável de números. Em JavaScript, você pode usar um array para isso. Além disso, o JavaScript tem uma função de ordenação embutida que você pode usar. Aqui está um exemplo de como você poderia reescrever a função ordenaNum para lidar com qualquer quantidade de números:

function ordenaNum(...numeros) {
    numeros.sort(function(a, b) {
        return a - b;
    });

    console.log(numeros.join(" < "));
}

Nesse exemplo, usamos o operador "spread" (...) para permitir que a função aceite qualquer quantidade de argumentos e os coloque em um array. Em seguida, usamos a função sort para ordenar o array. A função que passamos para sort garante que os números são ordenados numericamente, e não alfabeticamente (que é o comportamento padrão). Finalmente, usamos join para converter o array de volta em uma string, com os números separados por " < ".

Espero ter ajudado e bons estudos!