Dica da repetição do for
Olá, você já ficou em dúvida se deve iniciar o valor do for com 1 ou 0 ? Ou se usa <= ou < ?
O objetivo deste post é esclarecer essa dúvida.
Vamos direto ao ponto, dependendo do código, é opcional usar 1 ou 0
mais isso fixa a sua escolha <= ou <
resumindo, se você iniciar com 0 ponha <
e se iniciar com 1 ponha <=
Mais por que isso?
Observe o exemplo a seguir.
Jão (e não João) necessitava de um código de cálculo que contasse até 5.
Então ele fez 2 códigos, porem ambos davam resultado errado.
- codigo 1:
let contando = 0;
for(let i = 1 ; i < 5; i++){
contando++
}
console.log(contando) // resultado 4
- codigo 2 :
let contando = 0;
for(let i = 0 ; i <=5; i++){
contando++
}
console.log(contando)//saida 6
Observe no código 1 o "i" já iniciar com o valor 1 na primeira repetição, assim a cada repetição adicionando +1 e como limite e exige que seja < 5 faz com que se repita apenas 4 vezes
Já no código 2, "i" começa com 0 e tem como limite <= 5, pois na volta um ele faz com 0, na volta 2 i = 1 e assim por diante. Quando chegar a <= 5(Menor ou igual), ele faz uma volta a mais, pois o valor ainda é verdadeiro.
Então Jão (e não João) refez o código :
- codigo 3:
let contando = 0;
for(let i = 1 ; i <= 5; i++){
contando++
}
console.log(contando) // saida 5
- codigo 4:
let contando = 0;
for(let i = 0 ; i < 5; i++){
contando++
}
console.log(contando)// saida 5
No código 3 podemos ver que "i" iniciar com o valor 1 assim a cada repetição adicionando + 1 porem como o limite e <=5( Menor ou igual a 5) ele ira realizar voltar ainda do igual fazendo assim a contabilização correta
Já no código 4 o "i" e iniciar com 0 sendo assim cada repetição adicionando +1 e como valor exige apenas o <5(Menor que 5)
Quando o loop chegar a 4, será finalizado logo, repetindo apenas 5 vezes.
Conclusão
Se você usar o valor inicial 1, use <= para garantir a última volta.
Se utilizar o valor inicial 0 como valor inicial, poderá utilizar a quantidade de voltas desejadas <, assim finalizando o loop antes da próxima volta.
- VVictor Biguete @victorbiguete
E complementando a fala Quando devo fazer um código que comece com 0 ou 1 ? Simples, VOCÊ QUE DECIDE, vai da sua lógica e a forma que você criar o programa, o importante é ser funcional e lógico. Outra a pergunta também Qual devo usar ? While, DoWhile ou For ? mesma coisa não existe um certo ou errado, vai tudo da sua forma de criar o código, porque você pode fazer um While parecido com um For e vice e versa.
Natália Stoll Nogueira @nataliastollOi, tudo bem? Sou iniciante, então já peço desculpa se falar besteira, mas acho que depende.
Se estiver fazendo a iteração para posições que percorram vetores ou matrizes, geralmente começa por 0, que é a primeira posição.
Ao menos foi assim que entendi.- CCamila Vieira @CamilaVieira
Também não sou expert no assunto rs, mas normalmente começamos pelo 0 mesmo, pra percorrer posição de vetor ou matriz. Porém, pra resolver um problema ou outro pode ser necessário pular a primeira linha de uma matriz, então dependendo da lógica que você criar, pode colocar o for pra começar em 1. Acho que um dos exercícios da lista 3 resolvi iniciando o for no índice 1, já que era necessário pular a primeira linha da matriz.
Natália Stoll Nogueira @nataliastollPerfeito. Vou fazer um resumo aqui com as dicas deste post e acrescento o caso dos vetores e matrizes.
- Em resposta anataliastoll⬆:VVictor Biguete @victorbiguete
Sim Natália, tudo depende do problema do exercício e como você vai resolve-lo. Na programação não existe apenas 1 forma de resolver a questão e sim varias então fique tranquila.
Em resposta amath⬆:Vanessa Klayn Ramos Molina @KlaynMolinaNão tinha parado para pensar dessa maneira! Realmente, parece ser uma forma muito prática de organizar a lógica do código! Valeu por compartilhar!
Em resposta amath⬆:Eveliny Cavalcante Muniz @eveliny_munizperfeito
preformatado- AEm resposta amath⬆:Alan Eduardo da Cruz @alanEduardo
Muito bom, me ajudou bastante!
Em resposta amath⬆:Antônio Agamenon Maciel Chaves Júnior @AgamenonFicou muito bom, parabéns!