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

Todos os números entre 30 a 40, exceto 33 e 37!

No módulo 07 de lógica de programação 1, na aula 04, temos o seguinte código:

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

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

var contador = 30;

while(contador <= 40) {

    if( contador == 33 ) {
    contador = contador + 1; // Não entendi a presença do contador aqui.
    }
    if(contador == 37) {    
        contador = contador + 1; // Não entendi a presença do contador aqui.
    }
    else {
    mostra(contador);
    contador = contador + 1; 
    }
  }

mostra("FIM");

Não entendi o que esse "contador = contador + 1" fez para impedir que exibisse 33 e 37, não tô sabendo aplicá-lo, e não entendi o porquê que ele está ali.

5 respostas
solução!

Oi Társila, o exercício pede para mostrar a sequencia de número de 30 a 40.

Só que não pode aparecer o número 33 e 37, certo?

Se o contador é igual a 33 e você soma mais 1, o contador passa a valer 34.

contador = contador + 1; contador = 33 + 1; contador = 34;

E acontece o mesmo com o 37,

Se o contador é igual a 37 e você soma mais 1, o contador passa a valer 38.

contador = contador + 1; contador = 37 + 1; contador = 38

Espero ter ajudado.

Ahh entendi, muito simples!!! Muito obrigada Renata! ^ ^ Eu só tenho mais uma dúvida: Se a questão pedisse para apenas fazer a sequência de 30 à 40 (sem precisar excluir o 33 e 37), ainda seria necessário usar o contador = contador + 1? Se sim, poderia me explicar o porquê?

Sim, precisa. Como foi determinado que a variável começa em 30 para chegar em 40 precisa dessa soma.

contador = contador + 1

Se não usar a soma quando seu código for executado ficará repetindo o 30 até seu computador trava.

Para ir de 30 a 40 não precisará usar o if, agora só com a while ou for você consegue resolver.

Resolução com o while

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }

    var contador = 30;

    while(contador <= 40) {

        mostra(contador);
        contador = contador + 1;
    }

    mostra("Fim");

</script>

Resolução com for

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }

    for(var contador = 30; contador <= 40; contador = contador + 1) {

        mostra(contador);
    }

    mostra("Fim");

</script>

Não sei se consegui explicar bem, mas coloquei as duas formas que te dará o resultado.

Ficou perfeito, muito bom!

Simm, entendi! Muito obrigada, esclareceu minha dúvida! :D