1
resposta

Errei acertando?

*Acho que fui pelo caminho mais difícil, fiz as pausas na unha mesmo, isso vale ou seria bom eu começar a tentar encurtar o código? Nem me liguei que poderia ter continuando inserindo o MOSTRA dentro do primeiro WHILE logo após o primeiro IF... eu acho! *

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

  function mostra(frase) {
    document.write(frase)
    pulaLinha()
  }
  var contador = 30
  while (contador < 33) {
    mostra(contador)
    contador = contador + 1
  }
  if ((contador = 33)) {
    contador = contador + 1
  }
  while (contador < 37) {
    mostra(contador)
    contador = contador + 1
  }
  if ((contador = 37)) {
    contador = contador + 1
  }
  while (contador < 41) {
    mostra(contador)
    contador = contador + 1
  }
  mostra('FIM')
</script>
1 resposta

Fala Marcos, tudo bem? Espero que sim!

Valer vale pois foi uma solução que você encontrou, mas é interessante encurtar o código para evitar tanta lógica assim, você pode fazer por exemplo:

<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 == 37 || contador == 33) {
            contador = contador + 1
        }

        contador = contador + 1
        mostra(contador)
    }
  mostra('FIM')
</script>

Primeiramente verificamos se contador é menor ou igual a quarenta para continuar o looping, depois no if verificamos se o contador é igual a 37 OU igual a 33, se for, irá apenas acrescentar mais um ao contador assim continuando o looping, se não, além de acrescentar mais um ao contador irá mostrar o número atual do contador.

Espero ter ajudado, abraços e bons estudos :D