Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não usei else porém deu certo.

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

        if(contador == 37) {
            contador = contador +1
        }

    }


    mostra("fim")
</script>
1 resposta
solução!

Olá, Marconi! Tudo bem?

Parabéns pela solução desenvolvida! Ficou muito legal.

Nesse caso, realmente não precisamos utilizar o else.

Para complementar o que você desenvolveu, podemos reduzir a quantidade de if's. Você pode colocar as duas condições num if só, assim você não precisaria executar dois if's, dessa forma:

while( contador <= 40) {

        if(contador == 33 || contador == 37) {
            contador = contador + 1;
        }
        mostra(contador);
        contador = contador + 1;
    }

Perceba que utilizamos algo novo, o operador lógico || (ou), que serve para realizar comparações entre dois valores.

Ele funciona assim: o resultado é verdadeiro se e somente se uma ou mais condições for verdadeira.

Exemplos:

  • Digamos que o contador está no 32. O if vai perguntar se 32 é igual a 33, e a resposta é falso. Beleza, por enquanto tudo tranquilo. Depois disso, o if vai perguntar se 32 é igual a 37, e a resposta também é falso. O resultado final do if será falso, pois tivemos duas condições falsas!
  • Agora, digamos que o contador está no 33. O if vai perguntar se 33 é igual a 33, e a resposta é verdadeiro! Pronto, ele não precisa mais perguntar se 33 é igual a 37, pois ele já sabe que uma das condições é verdadeira, e isso já é o suficiente.
  • Por fim, digamos que o contador está no 37. O if vai perguntar se 37 é igual a 33, e a resposta é falso. Certo, não tem problema, vamos perguntar se 37 é igual a 37, e a resposta é verdadeiro! Não tem problema se a primeira condição deu falso, se a segunda deu verdadeiro já é o suficiente. Ou seja, o resultado do if dá verdadeiro se uma condição é verdadeira, como foi neste caso, ou se as duas forem verdadeiras.

Além disso, o código fica mais enxuto.

Para você complementar os seus estudos sobre operadores lógicos, como o || (ou), você pode ler este artigo da Alura, que vai falar desse e de outros operadores lógicos:

Espero ter contribuído, Marconi. Se tiver mais alguma novidade ou dúvida, estou à disposição. Bons estudos =)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

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