5
respostas

ENTRE 30/40, código para comparação.

<meta charset = "UTF-8">

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

    var contador = 30;
    while (contador >= 30 && contador <= 40){

       if (contador  != 33 && contador != 37){
            mostra(contador);
            pulaLinha();
        }
        contador = contador + 1;
    }
    alert("FIM");

</script>
5 respostas

Felipe, tudo blz camarada?

Muito bom, continue focado nos estudos que vc vai longe!

Qualquer dúvida estamos aqui a disposição.

Att.

Nesse caso, pq a variável contador recebe 30? Ainda não consegui entender nos outros códigos o que a var contador recebe

Olá, Helen!

Contadores são as variáveis que controlam as repetições de um laço de iteração/repetição. Normalmente iniciamos os contadores com o valor do início da contagem, neste caso como o instrutor pediu uma contagem de 30 até 40 sem contar os números 33 e 37, então atribuímos os valor inicial do contador como 30. Como são contadores, sempre temos que incrementar ou decrementar seu valor, veja um exemplo usando o mesmo exercício:

<meta charset="UTF-8">

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

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

var contador = 30; // Iniciando contagem em 30.
while (contador <= 40) { /* Enquanto contador ser menor ou igual 40,
    sendo assim, as próximas instruções serão realizadas repetidamente até
    tal condição permanecer verdadeira */
    if (contador == 33 || contador == 37) { /* Caso o contador ser igual 33
        ou igual a 37. */
        contador += 1; // O contador ganhar +1, e assim pula 33 e 37.
    }
    mostrarFrase(contador); /* Mostra o contador / quando a instrução if ser
    realizada aqui será mostrado 34 ou 38, pois o contador foi incrementado
    antes desta instrução. */
    contador += 1; /* Devemos incrementar a contagem a cada repetição, 
    fazendo o valor do contador que antes iniciado em 30, tenha o valor 31, e
    assim por diante. */
}
</script>

Perceba o fluxo de intruções do laço de repetição, temos algumas estruturas que controlam tal fluxo, como o while (enquanto), quer servirá para controlar até quando as instruções devem ser repetidas, temos estruturas condicionais como o if (se/caso) que será relizada caso sua condição seja verdadeira. Por fim estamos incrementando o valor do contador, após ser incrementado, o laço while encontrará o fim das instruções com seu fechamento de chaves que delimita seu corpo (o corpo do comando while), então ele voltará para o início, e vai testar novamente se o valor do contador ainda permanece menor ou igual 40, quando a condição ser falsa encerrará as repetições terminando assim a contagem.

Então basicamente o contador é uma das estruturas utilizadas para controlar estes loops de instruções, se eu quiser escrever um programa que repita várias vezes as mesmas intruções posso estar utilizando essas estruturas para controlar o fluxo. Isso é útil pois automatiza vários trechos no código. Segue um código mais simplificado:

<meta charset="UTF-8">

<script>
    var contador = 0; 
    while (contador < 10) { 
        document.write('Game Over! ');
        contador = contador + 1 // Contador será incrementado em 1 -> Se ele vale 2 ele recebe (2 + 1)
    }
    document.write('Fim do laço');
</script>

Helen pra resumir tem que ser imprimido na tela o valor da variavel contador, e deve começar em 30, por isso ela começa em 30. Logo abaixo faço uma condicional para não imprimir os numeros 33 e 37.

qualquer duvida estamos aqui, abraço.

Coloquei pra somar um número a mais caso o contador chegue no 33 ou 37:

let i = 30

while(i <= 40) {

    mostra(i)
    i = i + 1

    if (i == 33 || i == 37){
        i = i + 1
    } 
}