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

Dúvida em relação ao segundo desafio proposto!

Resolvi o desafio da seguinte forma:

<html>
  <head>
    <meta charset="UTF-8">
  </head>
  <body>

    <script>

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

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

        // Imprima todos os números entre 30 e 40, porém os números 33 e 37 não devem ser impressos. 
        var n = 30;        

        while( n <= 40 ) {
            if ( n !== 33 && n !== 37 ) {
                mostra(n)
            }
            n = n + 1;
        }

        mostra("FIM");

    </script>

  </body>
</html>
`

Eu não entendi a lógica do código do instrutor:

<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 = contador + 1;
        }
        if(contador == 37) {    
            contador = contador + 1;
        }
        else {
        mostra(contador);
        contador = contador + 1; 
        }
      }

    mostra("FIM");

</script>

Poderiam me ajudar, por favor, a compreender?

Obrigada!

2 respostas
solução!

Os dois chegam no mesmo resultado. Você trabalhou com a negação. Ou seja, passou pelo laço nas 10 interações e negou que ele mostrasse na tela apenas na opção 33 e 37.

Já o instrutor trabalhou com a afirmação. Ou seja, ele também passou pelas 10 interações. Porém ele entrou nas afirmações if( contador == 33 ) e if( contador == 37 ) e em ambas ele não mostrou , somente incrementou o contador. Todas as demais foram para o else { , onde ele esta mostrando na tela e incrementando o contador .....

Espero ter ajudado.

Olá Vagner. Agora que eu reparei, que nos if (contador == 33), não tem a instrução: mostra(contador); apenas no "else". Obrigada pela ajuda!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software