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

contador - 1

Boa noite. Talvez minha dúvida seja bem simples, mas queria entender melhor a linha do contador + 1 e contador - 1. Neste exercício, essa diminuição ficou dentro do próprio while, assim:

var contador = 20;

    while(contador >= 0) {

        mostra(contador);
        contador = contador - 1;

        }

    mostra("FIM");

Já no exercício anterior, o contador = contador +1 teve que ficar do lado de fora, para o while não entrar em um looping infinito.

Segue:

 var contador = 30;

    while(contador <= 40) {

        if( contador != 33 && contador != 37) {
                mostra(contador);
        }

        contador = contador + 1; 
    }

    mostra("FIM");

Qual a lógica de raciocínio desta leitura para que eu possa identificar a diferença entre as duas opções sem precisar testar os dois? Obrigada,

1 resposta
solução!

Juliana, se eu entendi bem sua pergunta, antes eu preciso fazer um alerta: em ambos os casos, a atualização do contador está dentro do while.

O primeiro caso começa em 20 e a cada iteração subtrai 1. Ao chegar no -1 a condição do while não é mais válida e o bloco não executa, indo para fim.

O segundo caso começa com o contador em 30 e a cada laço, incrementa 1. Quando o contador chega em 41, a condição não fica mais válida e o while termina.

Uma diferença dos dois casos é que o primeiro mostra (exibe) o contador sempre que o while executa. O segundo mostra o contador com exceção de quando ele é 33 ou 37.