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

[Dúvida] Dúvida simples referente ao "for".

Olá. Somente gostaria de entender:

Se o laço de repetição "for" verifica se o valor de i** é menor que o número de elementos na lista (no caso a lista "imagemCarros"), e se o valor de **i for menor, então ele soma o valor de i + 1, porque então ele já não passa para a execução de i = 1 em diante? Dá a entender que na primeira verificação (quando o i = 0 conforme a variável aponta) ele não executa o "i = i + 1" nesta primeira verificação, por que se executasse na primeira vez, já somaria 0 + 1 que resultaria em 1** e então repassaria essse valor para a linha "image(imagemCarros[ i ], xCarros[ i ], yCarros[ i ], 50, 40);". Não sei se deu pra entender. Basicamente, se o "for" executa tudo que está entre parênteses (que seria: **let i = 0; i < imagemCarros.length; i = i + 1), por que na primeira vez, na primeira verificação, ele já não soma o valor de i = 0 com 1, resultando em 1, e assim mostrando só o 2º carro em diante?

código:

function mostraCarro(){ for(let i = 0; i < imagemCarros.length; i = i + 1){ image(imagemCarros[i], xCarros[i], yCarros[i], 50, 40); print("O valor do i nesta repetição é " + i) } }

3 respostas
solução!

Porque senão fizesse isso, as contas não fechariam. Por exemplo, imagina como um código funciona, a ordem de prioridade dele é sempre da linha menor para a maior, que no caso ele irá acompanhar o que foi escrito do código de cima para baixo. Se, neste caso, o código já começasse adicionando um valor ao "i", ele pularia uma identificação. E se o imagemCarros.length fosse = 1? o programa ia adicionar ao "i" o valor de 1 e não ia executar nada do seu For, por isso que o programa precisa executar a parte de dentro primeiro. Espero ter ajudado.

Entendi sim. Ajudou bastante!

Só uma observação:

Quando falasse: "E se o imagemCarros.length fosse = 1? o programa ia adicionar ao "i" o valor de 1 e não ia executar nada do seu For", estas falando ainda sobre o código ser executado já adicionando 1 ao valor de i de primeira e não sobre a forma correta de como o comando for funciona, que é como explicasse, certo?

Isso, exatamente. Ele precisa rodar primeiro que está dentro do For para poder aumentar o i, por exemplo.