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

Perunta sobre while.

    var i = 0;
while( i < 10) {
    alert( "O resultado é " + (2 * i) );
    i++;

Gostaria de saber pq o alert para de perguntar quando chega no numero 20, e nao quando chega no 10, como diz a condição i < 10; o alert deveria ser 0,2,4,6,8. se a condicao eh i<10 , nao ?

7 respostas

Entendi... ja sei pq, obg pela atencao =)

Não você ta confundindo as coiasa, oque você está fazendo ai é somando 2*i e depois atribuindo mais 1 para o i correto? voçe ira parar a condição quando o i for igual a 10 e não o resultado da sua conta for igual a 10

Isso ai Muriel, você entendeu. Seu laço roda até quando i = 9, ou seja, seus alerts vão mostrar de 0 a 18, ai na próxima iteração quando o i = 10 sai do laço, nem chega a mostrar um alert com 20.

Código corrigido:

var i = 0; while( i <= 10) { alert( "O resultado é " + (1 * i) ); i++; }

solução!

Olá Boa tarde Eu rodei o seu código dentro do W3Schools para testar e está correto, veja o resultado que ele imprime na tela, para a variável i vai de 0 até 9, porém ao multiplicar o valor do ultimo (i) * 2 = obtemos 18. Se ajudar, rode o código abaixo, eu detalhei as linhas pra facilitar:

var texto= "";

var i = 0;

while (i < 10){

texto += "O valor de i = " + (i) + " vezes";

texto += " - Multiplicando por 2 = " + (2 * i);

i++;

}

document.getElementById("seuparagrafo").innerHTML = texto; -

O valor de i = 0 vezes - Multiplicando por 2 = 0

O valor de i = 1 vezes - Multiplicando por 2 = 2

O valor de i = 2 vezes - Multiplicando por 2 = 4

O valor de i = 3 vezes - Multiplicando por 2 = 6

O valor de i = 4 vezes - Multiplicando por 2 = 8

O valor de i = 5 vezes - Multiplicando por 2 = 10

O valor de i = 6 vezes - Multiplicando por 2 = 12

O valor de i = 7 vezes - Multiplicando por 2 = 14

O valor de i = 8 vezes - Multiplicando por 2 = 16

O valor de i = 9 vezes - Multiplicando por 2 = 18.

Seu codigo está correto, o while esta rodando certo, pois a ultima posição foi 9 , então na conta 2 * 9 = 18.

Espero ter ajudado

Olá Muriel Caso persista alguma dúvida a respeito desse exercício pode perguntar aqui mesmo ou se você não tiver mais nenhuma dúvida a respeito você pode marcar uma resposta como solução, finalizando assim esse tópico.Espero ter ajudado. Bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software