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

Tentei imprimir com menos código

*A resposta na tela foi essa: *

Os números entre 30 e 40, excluindo 33 e 37 são:

30 | 31 | 32 | 34 | 35 | 36 | 38 | 39 | 40 |

*Minha solução: *

<meta charset="UTF-8">

<script>

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

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


var contador = 0
var inicio = 30
var final = 40
mostra("Os números entre 30 e 40, excluindo 33 e 37 são: ");

while(inicio <= final) {
    if (inicio != 33 && inicio != 37 ){
        document.write(inicio+ " |  ");
        contador++
        inicio++
    } else {
        contador++
        inicio++
    }
}

</script>
9 respostas
solução!

No caso, esse contador está sendo inutilizado, poderiamos criar um objetivo pra ele como : mostra("São " + contador " números entre 30 e 40 fora o 33 e 37");

Um jeito bem diferente Amanda, não usou menos código que o meu, mas deixou o resultado final bem mais bonito. Inclusive não sabia da técnica ++ ao adicionar mais 1 ao contador. Parabéns!

@Thiago Dutra Verdade não me atentei que a própria variável inicio já estava fazendo o papel do incremento e o contador foi excluído. Boa observação, obrigada!

@Lucas Alves não observei outros códigos, tentei fazer uma lógica diferente da qual havia feito antes utilizando várias vezes o if. Ficou um código grande e desnecessário, após tentar outras vezes cheguei a uma versão melhorada. O importante é sempre ver que podemos melhorar! Isso me encanta. Sobre o contador podemos usar tanto contador++ quanto contador+= 1 ou simplesmente contador = contador + 1. (:

Bom dia! Minha solução foi essa:

<meta charset="UTF-8">
<script>

    function pularLinha() {
        document.write('<br>')
    }
    function mostrar(texto) {
        document.write(texto);
        pularLinha();
    }
    var num = 30;
    mostrar("Os números entre 30 e 40, removendo os números 33 e 37 <br>")
    while (num >= 30 && num <= 40) {
        mostrar(num + "<hr>");
        num = num + 1
        if (num == 33) {
            num++
        }
        if (num == 37) {
            num++
        }
    }

</script>

@Gabriel Gomes Ótima solução!! Também economizando variáveis. É ótimo ver várias soluções diferentes para refletir (: Só há um detalhe no seu código:

while (num >= 30 && num <= 40) {
        mostrar(num + "<hr>"); //  <--- Nesse trechinho houve um erro de digitação e saiu <hr> em vez de <br>. 

Olá @Amanda, tudo bem com você? Esse < hr > é para colocar uma linha inferior em cada número, para facilitar a visualização.

@Gabriel legal! Jurei ser um erro. Não conhecia essa tag, mais uma aprendida! Obrigada!

@Gabriel legal! Jurei ser um erro. Não conhecia essa tag, mais uma aprendida! Obrigada!