1
resposta

Descobrir o maior e o menor número

Boa tarde, fui tentar fazer um exercício de lógica com javascript e não estou conseguindo retornar o menor número digitado, pois se eu não inicializar a variável menor, ele me retorna um undefined. Segue a proposta do exercício:

Escreva um algoritmo que leia a quantidade de números que se deseja digitar. Em seguida, leia esses números e encontre o maior e o menor.

var qntNumeros = parseInt(prompt('Quantos números você deseja digitar '));
        var maior = 0;
        var menor;
        var numero;

        for(var i = 0; i < qntNumeros; i++){
            numero = parseInt(prompt("Digite o número desejado "));

            if(numero > maior){
                maior = numero;
            }

            if(numero < menor){
                menor = numero;
            }
        }

        console.log("O menor número digitado foi: " + menor);
        console.log("O maior número digitado foi: " + maior);

Se algúem puder me ajudar a como inicializar essa variável menor eu agradeço.

1 resposta

Oi Tomé

O problema é que você não pode atribuir nenhum valor à variável menor porquê isto poderá interferir na lógica. Mas , também, deixar sem valor sempre retornará falso em qualquer validação (numero < menor). Isto faz com que a variavel menor nunca receba uma reatribuição de valor e fique sempre indefined.

O truque esta em testar se esta variavel é undefined e caso positivo, atribuir o valor de numero a ela. Isto só irá acontecer na primeira iteração. Nas subsequentes ela terá um valor que poderá ser comparado.

Para isso recomendo acrescentar esta linha aqui:


if (!menor) menor = numero

Coloque esta linha entre os dois ifs

Acho que isto irá resolver seu problema.

Att