Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

uma divida sobre while

bom sempre to tentando fazer da minha forma os exercícios pq pra mim fica mais didático e compreender tbm, mas deparei com uma coisa engraçada.

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
}

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
}
    var numeroMult = parseInt(prompt("Digite um numero para sua tabuada!"));
    var multiplicador = 1;

    //for(var mult = 1; mult <= 10; mult++) {
     //   mostra("| " + numeroMult + " x " + mult + " = " + numeroMult * mult);
     //}

     while(multiplicador == 10) {
        mostra("| " + numeroMult + " x " + mult + " = " + numeroMult * mult);
     }

</script>

o while não executa o comando mostra e no console aparece nada mas eu fiz a mesma linha de codigo para o for e foi de boas entao eu sei que n é a variável sei que n é o código mas pq o while n apresenta para mim o mostra?

6 respostas

Olá, no caso você está comparando no While (multiplicador == 10) está perguntando se ele é igual, é uma comparação, ao invés de um condição para ele ser executado, exemplo: While (multiplicador <= 10) : Enquanto o multiplicador for menor ou igual a dez, execute.... Espero ter ajudado, esses pequenos detalhes travam o funcionamento do código.

eu ja fiz essa alteraçao peguei o codigo do professor em fiz as mudanças por cima mesmo assim n exibe resultado

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
}

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
}
    var numeroMult = parseInt(prompt("Digite um numero para sua tabuada!"));
    var multiplicador = 1;

    //for(var mult = 1; mult <= 10; mult++) {
     //   mostra("| " + numeroMult + " x " + mult + " = " + numeroMult * mult);
     //}

     while(multiplicador <= 10) {
        mostra("| " + numeroMult + " x " + mult + " = " + numeroMult * mult);
     }

</script>

Achei uma solução o problema e o próprio navegador google pois ele so consegue ler o while em document.write(); e n o mostra(); trocando ele exibe perfeitamente ;3

solução!
<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
}

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
}
    var numeroMult = parseInt(prompt("Digite um numero para sua tabuada!"));
    var multiplicador = 1;

    for(var mult = 1; mult <= 10; mult++) {
        document.write("| " + numeroMult + " x " + mult + " = " + numeroMult * mult + " |");
        pulaLinha();
     }

     pulaLinha();

     while(multiplicador <= 10) {

        document.write("| " + numeroMult + " x " + multiplicador + " = " + numeroMult * multiplicador + " |");
        pulaLinha();
        multiplicador++;
     }



</script>

agora pode testar q irar funcionar perfeitamente. ou seja eu tava quebrando a cabeça mesmo o problema sendo o navegador em si.

Um amigo que é programador certa vez disse que precisamos ser multifocais ao lidar com programação.

Nem sempre é código e nem sempre são os bastidores.

Sucesso!

Boa noite Pessoal, segue meu Código

<meta charset="UTF-8">

<script>

    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }


            // espaço 1;      espaço 2;         espaço 3
            //Lembrando também que para Incrementar uma varíavel podemos fazer (multiplicador ++;)
    for(var multiplicador =1;multiplicador<=10;multiplicador = multiplicador + 1) {

           // lembrando que o mostra vai vir sempre dento do conchete 
        mostra ( 7* multiplicador);

    }

    mostra("<H3> FIM </H3>")
</script>