3
respostas

Dúvidas sobre a utilização prática do "for"

Olá!

Eu gostaria de ajuda em relação a utilização do "for". Eu entendi a parte teórica dele, mas não entendi a utilização dele de forma prática.

Por exemplo: por que se utilizou a mesma variável [i] para os três carros, sendo que os carros são diferentes? Talvez eu nem tenha entendido a parte teórica, enfim preciso de ajuda sobre o "for".

Agradeço desde já!

3 respostas

Boa noite, o for é um loop, pois é usado para repetir uma tarefa por um certo número de vezes que é definido no segundo espaço dele, onde uma condição é colocada, após ter declarado uma variável que nos permitirá alterar o valor neste caso, Ele serve para poder mudar os índices dos arrays, e por fim colocamos uma relação de crescimento neste caso o i++ que indica o crescimento de um por um, espero poder te ajudar, boa noite.

Fiz um código para você, para tentar facilitar o entendimento.

Eu declarei uma lista onde cada posição da lista existe uma string com o nome de uma linguagem de programação.

No primeiro exemplo, eu estou imprimindo no console cada posição da lista sem utilizar o for. Perceba que toda vez que preciso imprimir no console, eu preciso informar manualmente a posição do texto que quero exibir.

Imagine que a lista tivesse 100 posições, teríamos que escrever 100 vezes.

    let linguagens = ['Java', 'C#', 'JavaScript', 'Cobol', 'Ada'];
                   //[0]      [1]   [2]               [3]     [4]    

    console.log(linguagens[0]); //Imprime Java
    console.log(linguagens[1]); //Imprime C#
    console.log(linguagens[2]); //Imprime JavaScript
    console.log(linguagens[3]); //Imprime Cobol
    console.log(linguagens[4]); //Imprime Ada

O laço for serve para facilitar nossa vida, possuindo três blocos de instruções, como no exemplo abaixo.

      for(let posicao = 0; posicao < linguagens.length; posicao = posicao + 1){
        console.log(linguagens[posicao]);
      }

A primeira instrução let posicao = 0, declara uma variável que será utilizada na lógica do for, posicao inicia com o valor zero.

O segundo instrução posicao < linguagens.length, define a condição que será testada antes de iniciar o for, o for só será executado se a instrução retornar true.

O terceira instrução, posicao = posicao + 1incrementa em + 1 a variável posicao sempre que a segunda instrução retornar true.

Sempre que a segunda instrução do for retornar true, o valor da variável na terceira instrução será incrementada em + 1, em seguida o for será executado.

Internamente o for está fazendo isso.

console.log(linguagens[0]);
console.log(linguagens[1]);
console.log(linguagens[2]);
console.log(linguagens[3]);
console.log(linguagens[4]);

O for irá executar até que a variável posicao seja menor que a quantidade de valores da lista posicao < linguagens.length

Manoel Vitor sua explicação e muito boa, consegui entender. Mas estou com uma duvida e se você puder me ajudar agradeço.

Suponhamos que ao invés de ter 3 elementos dentro do ImagemCarros, tenhamos somente 2.

O código ficaria assim :

    imagensCarros = [imagemCarro1,imagemCarro2]

    function MostraCarro(){

     for (var y = 0; y < imagensCarros.length; y = y +1){

    image(imagensCarros[y], xCarro ,yCarro,  60,  40);

    image(imagensCarros[y], xCarro2, yCarro2, 60, 40);

   } 
}

No meu entendimento o certo seria primeiro aparecer o carro 1 e depois o carro 2, mas só aparece o carro 1, não entendi o porque disso acontecer?

Será que e porque assim que e clicado o play ele já verifica uma vez, então ele só considera o carro 2 ?