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

laços de repetição com while e for

Boa noite pessoal!

Para exercitar a lógica resolvi fazer combinações com o For e While para fazer todos os calculos da tabuadas do 2 ao 10. Fiz 4 combinações, sendo que duas funcionaram e as outras duas não.

funcionaram as combinações de While + For, e For + For

<meta charset = "UTF-8">

<script>

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

function mostra(texto) {
    document.write(texto);
    pulaLinha();
}

let tabuada = 2;
let multiplicador = 1;
//while + for

while (tabuada <= 10) {
    for (multiplicador = 1; multiplicador <= 10; multiplicador ++) {
        mostra(tabuada * multiplicador);
    }
mostra("FIM DA TABUADA DO " + tabuada);    
tabuada++;
}

mostra("FIM DO WHILE + FOR"); 

// for + for

for (tabuada = 2; tabuada <= 10; tabuada++){
    for (multiplicador = 1; multiplicador <= 10; multiplicador++){
        mostra(tabuada * multiplicador);
    }
    mostra("FIM DA TABUADA DO " + tabuada);
}

mostra("FIM DO FOR + FOR");

</script>

E não funcionaram as combinações While + While, e For + While. Lendo e relendo aparentemente a lógica está certa, mas com certeza tem algum furo que eu deixei passar. Consegue em ajudar ?

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

function mostra(texto) {
    document.write(texto);
    pulaLinha();
}

let multiplicador = 2;
let tabuada = 2;

//while + while

while (tabuada <= 10) {
    while(multiplicador <= 10) {
        mostra(tabuada * multiplicador);
        multiplicador++;
    }
mostra("FINAL DA TABUADA DO " + tabuada);
tabuada++;    
}

//for + while

for (tabuada = 2; tabuada <= 10; tabuada++) {
    while(multiplicador <= 10) {
        mostra(tabuada * multiplicador);
        multiplicador++;
    }
    mostra("FINAL DA TABUADA DO " + tabuada);
}

</script>
2 respostas
solução!

Olá Rafael, como vai?

Fiz dessa forma, veja:

var multiplicador = 1;
 var tabuada = 1;

//while + while

    while (tabuada <= 10) {
        mostra("Tabuada de " + tabuada + ": ");

        while (multiplicador <= 10) {
            mostra(multiplicador * tabuada);        
            multiplicador++;
        }
        pulaLinha();
        tabuada++;
        multiplicador = 0;
    }
var multiplicador = 1;
 var tabuada = 1;

//for + while

    for (tabuada; tabuada <= 10; tabuada++) {
        mostra("Tabuada de " + tabuada + ": ");

        while (multiplicador <= 10) {
            mostra(tabuada * multiplicador);          
            multiplicador++;
        }
        pulaLinha();
        multiplicador = 0;
    }

Espero ter ajudado! Qualquer dúvida vou estar por aqui.

Abraços!

Obrigado Ana!

Agora compreendi ! No final da repetição é necessário "zerar" o multiplicador !

Mais uma vez obrigado ! Abraços!