2
respostas

Dúvida

Não entendi por que existe WHILE e FOR se as duas são laços de repetição?

Eu estou muito bugado com isso.

Para mim é a mesma coisa que está vendo dois WHILE com nomes diferentes. '-'

TELA AZUL!

2 respostas

Olá Shayron, Tudo bem?

Isso mesmo!

São laços de repetição que possuem algumas características que os diferem e existem para uma necessidade durante a execução dos programas.

O laço for é geralmente usado quando você sabe o número de iterações de antemão. Por exemplo para percorrer um array de 10 elementos que você pode usar para loop e incrementar o contador 0-9 (ou 1 a 10).

Por outro lado while é usado quando você tem uma idéia sobre a faixa de valores em que para fazer uma iteração, mas não sei o número exato de iterações que ocorrem.

Vou colocar alguns exemplos de diferenças de uso:

A declaração for começa declarando a variável i e inicializando-a como 0. Ela verifica se i é menor que nove, executa as duas instruções subsequentes e incrementa 1 a variável i após cada passagem pelo loop.

for (var i = 0; i < 9; i++) {
   console.log(i);
   // more statements
}

O seguinte laço while itera enquanto n é menor que três.

var n = 0;
var x = 0;

while (n < 3) {
  n++;
  x += n;
}

Cada iteração, o laço incrementa n e soma à x. Portanto, x e n assumem os seguintes valores:

Depois da primeira passagem: n = 1 e x = 1 Depois da segunda passagem: n = 2 e x = 3 Depois da terceira passagem: n = 3 e x = 6 Depois de completar a terceira passagem, a condição n < 3 não é mais verdadeira, então o laço termina.

Espero ter ajudado Shayron,

Até mais.

Olá, Shayron. Tudo bem?

Na verdade elas parecem fazer a mesma coisa mas não fazem. Embora, no exemplo da aula tenhamos o mesmo resultado os dois loops tem ações diferentes.

For > Ele vai executar o código dentro dele por um número fixo de vezes. Ou seja, se você determinar que serão 30 repetições, ele vai executar 30 vezes. Veja o exemplo abaixo:

for (var exemplo = 2; exemplo <=100; exemplo++){
    mostra('Este exemplo será impresso 50 vezes');
}

Isso ocorre porque foi determinado que o limite é o número menor ou igual a cem. Se o código não quebrar durante o loop, vão aparecer 50 linhas com a mensagem indicada.

While > Vai executar por quantas vezes forem necessárias enquanto a condição estabelecida for verdadeira!

Por exemplo:

var result = prompt("Você prefere: Sucesso ou Falha?"));

while(result = "Sucesso") {
    mostra('Vai executar enquanto o result for igual a Sucesso'
}

Ou seja: Sempre que o usuário digitar Sucesso o código dentro do while será executado. Uma vez que ele digite falha, ou qualquer outra coisa diferente de Sucesso o loop vai ser interrompido.

Espero ter ajudado e sucesso nos estudos.