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

Não compreendi

Bom dia. Não entendi o porque de usar dentro do if o contador = contador + 1 ; ?

if( contador == 33 ) {
        contador = contador + 1;
        }
        if(contador == 37) {    
            contador = contador + 1;
1 resposta
solução!

Ana, vamos ver o q está acontecendo

    var contador = 30;

    while (contador <= 40) {
        if ( contador == 33 ) {
            contador = contador + 1;
        } else if (contador == 37) {    
            contador = contador + 1;
        } else {
            mostra(contador);
            contador = contador + 1; 
        }
   }

ficar em loop enquanto (while) contado for menor ou igual (<=) a 40

contador:

30 else; mostra(contador) e somar + 1;

31 else; mostra(contador) e somar + 1;

32 else; mostra(contador) e somar + 1;

33 if; somar + 1;

34 else; mostra(contador) e somar + 1;

35 else; mostra(contador) e somar + 1;

36 else; mostra(contador) e somar + 1;

37 else if; somar + 1;

38 else; mostra(contador) e somar + 1;

39 else; mostra(contador) e somar + 1;

40 else; mostra(contador) e somar + 1;

41 sai do while

Se não 'somar +1' quando o contador é 33 o loop nunca ira para, pois o 'contador' sempre seria 33.

O mesmo acontece para o 37


O código abaixo, usando while, também funciona

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

Se for diferente de 33 e 37 o contador será mostrado, e sempre 'somar +1'