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

Auxilio para entender o codigo.

Galera, o solicitado foi;

Que tal uma dificuldade um pouco maior? Imprima todos os números entre 30 e 40 (inclusive 30 e 40), porém os números 33 e 37 não devem ser impressos! No final escreva a palavra "FIM". Use o while para essa tarefa. DICA: o if pode ajudá-lo!

Não entendi o por que do " contador =contador +1; "

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

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

    var contador = 30;

    while(contador <= 40) {

        if( contador != 33 && contador != 37) {
                mostra(contador);
        }

        contador = contador + 1; 
    }

    mostra("FIM");
</script>

3 respostas

Boa noite Felipe,

O while verifica o valor da variável contador para decidir se ele vai ser executado ou não. Quando chegamos na linha do while o valor do contador é 30, portanto o while será executado . Dentro dele executamos o if e depois adicionamos 1 a variável contador.

contador = contador + 1;  //31

Na próxima iteração do while o contador será 31 (Ainda é menor que quarenta) logo será executado novamente, e assim por diante.

Sem a linha:

contador = contador + 1;

O valor do contador seria sempre 30 e aí ficaríamos presos num loop infinito (tome cuidado com loops infinitos nos seus códigos, as vezes eles podem travar seus programas e até o navegador e causar um estouro de pilha ou stack overflow.

Abraços

solução!

Olá, Felipe do Couto

O while ou enquanto é um verificador de execução de uma determinada ação.

    var contador = 30;

    while(contador <= 40) {

        if( contador != 33 && contador != 37) {
                mostra(contador);
        }

        contador = contador + 1; 
    }

Este código pode ser desmembrado em:

Variável:

var contador = 30;

Que esta recebendo um valor de 30.

Enquanto:

while(contador <= 40) {
}

Dessa forma, entende- se que o enquanto esta variável não possuir um valor menor que 40, será executado uma ação dentro da função while.

Caso:

if ( contador != 33 && contador != 37) {
         mostra(contador);
        }

!= diferente de.

&& = também.

Caso o contador seja diferente de 33 e seja diferente 37, mostre o contador.

Atenciosamente,

Maximiliano Veiga

Olá Felipe, o while é executado "enquanto" determinada condição for verdadeira, se não adicionarmos "contador = contador +1" o valor da variável será sempre o mesmo.

Adicionamos 1 ao contador para definir um critério de parada, uma condição, caso contrário teríamos um loop infinito pois 30 sempre será <= 40.

Espero ter ajudado, bons estudos!