Como escolher entre as estruturas de repetição for e while?
For é uma estrutura de repetição melhor utilizada quando você sabe a quantidade de iterações no momento da definição, enquanto while é melhor para casos onde a quantidade de repetições necessárias não estão pré-definidas de forma clara.
For
e While
normalmente são as primeiras estruturas de repetição que todo iniciante em programação se depara.
O total entendimento dessas estruturas são indispensáveis, pois abrem um novo mar de possibilidades e em conjunto com
as condicionais(if
/else
/else if
) já é possível resolver a maioria dos problemas.
É muito fácil se questionar quado utilizar cada uma delas, principalmente em casos onde você esteja aprendendo a programar por conta própria.
No decorrer do artigo, todos os exemplos serão demonstrados em Python
e em JavaScript
, mas todos os conceitos podem
ser
utilizados em qualquer linguagem que suporte iteração for
e while
.
Sintaxe
Tanto o for
quanto o while
servem em síntese para a mesma coisa, porém apresentam uma sintaxe ligeiramente
diferente.
while
Loops
com a instrução(statement
) while
consiste em uma palavra-chave com a instrução while
e uma condição.
O conteúdo do bloco a ser iterado será executado enquanto(tradução de while
) a condição for verdade.
- Exemplo em
Python
:
qt = 0
while qt <= 5:
print(qt)
- Exemplo em
JavaScript
:
let qt = 0;
while (qt <= 5) {
console.log(qt);}
No exemplo acima, a condicional (qt <= 5
) nunca será verdade, pois a variável qt
não sofre alteração no bloco
iterado.
Para evitar essa situação do loop
nunca se encerrar, incrementaremos qt
em uma unidade em cada iteração.
- Exemplo em
Python
:
qt = 0
while qt <= 5:
print(qt) qt += 1
- Exemplo em
JavaScript
:
let qt = 0;
while (qt <= 5) {
console.log(qt); qt++;}
for
A estrutura de iteração for
é um pouco mais estruturado do que o while
.
A sintaxe varia bastante dependendo de cada linguagem, mas o uso mais básico do for consiste em uma palavra-chave com a
instrução for
e três parâmetros:
- Valor inicial da variável
- Condição de parada da variável
- Incremento executado em cada iteração
for qt in range(0, 5, 1):
print(qt)
- Exemplo em JavaScript:
for (let qt = 0; qt < 5; qt++) {
console.log(qt);}
Conclusão
A estrutura de repetição while
contém uma sintaxe mais simples, comparada com a sintaxe com mais argumentos do for
.
É esperado em uma iteração com while
que a variável utilizada na definição sofra algum tipo de alteração.
Em um loop
for
, tudo necessário na execução das iterações já estão contidas na definição do loop
.
Dependendo da linguagem, a estrutura do for costuma permitir formas de iteração mais complexas que a mostrada nos exemplos, caso tenha interesse veja esse artigo sobre todas as possibilidades do for e while em Python.