sábado, 6 de abril de 2013

As estruturas de repetição

Aaaah, as lindas estruturas de repetição. Se vocês não aprenderem depois desse resumo eu fatio cada um com um apontador. CEGO. Sério.
Bora lá. Temos 3 estruturas de repetição pra aprender: o for, o while e o do while. Todos podem ter o mesmo resultado num programa se a gente souber usar, mas normalmente uma tem uso melhor que outra em determinadas situações.
Vamos ao for:
A estrutura (e o entendimento) do for é super fácil. Traduzindo fica "para (blablabla)", então não tem dificuldade.

OBSERVAÇÃO IMPORTANTE: a gente costuma usar o for quando temos um número definido de vezes que queremos repetir aqueles comandos. Ou seja, você sabe quantas vezes, ou o usuário vai informar quantas vezes, não importa. Importa que usamos o for com um número pré-definido de repetições.

A gente passa 3 coisas pro for:

int i; Lembrando de declarar a variável antes.
for (i = 0; i < o_que_eu_quiser; i++) { para i começando em 0, indo até o que eu quiser crescendo de 1 em 1, faça isso
//comandos
}

Totalmente entendível, né. Essa é a estrutura básica. A gente pode mudar esses argumentos, por exemplo colocando i += 2 de forma que o i incremente 2 unidades de uma vez, ou colocando o valor inicial diferente, colocando i <= o_que_eu_quiser ou coisas assim. Claro que pode também começar o i com um valor e decrescer até 0, ou até onde quiser.
A gente também pode usar mais de uma variável num for. a gente vai separar as variáveis por vírgula e os argumentos por ponto e vírgula, assim:

int i, j;
for (i = 0 , j = 1 ; i < o_que_eu_quiser , j < outra_coisa ; i++ , j+=2) {
//pus até espaço entre as vírgulas pra dar pra ver direito
}


deu de for né. Vamos ao while:
A estrutura e o entendimento do while também são muito fáceis, nem comento. Traduzindo fica "enquanto (condição)", então não tem dificuldade.

int i; Lembrando de declarar a variável antes.
while (i condição o_que_eu_quiser) { enquanto o i estiver na condição que eu quiser
//comandos faça isso
}

Outra muito entendível. O uso do while é bem amplo, porque a condição pode ser qualquer uma. Eu posso pedir pro i ser diferente do que eu quiser, ou igual, ou menor, ou maior, maior ou igual, menor ou igual, enfim. Muitas coisas. Enquanto o i não for o que eu mandar, ele vai insistir em ficar fazendo aquilo.

OBSERVAÇÃO IMPORTANTE: a gente usa o while quando não sabe um número certo de repetições. Tipo naqueles programas que pede pra repetir enquanto o usuário não digitar 0, não pra prever quantas vezes o cara vai querer fazer o trem antes de digitar o tal do 0, então a gente usa while pra isso.

OUTRA OBSERVAÇÃO IMPORTANTE: a gente TEM que mudar a variável da condição (no caso do exemplo, o i) dentro do while senão ele vai repetir pra sempre, que a condição foi respeitada pra entrar e não vai ser modificada nunca. Lembrar sempre disso.

Vamos agora ao do .. while. Ele é igual ao while, que ele executa uma vez antes de testar a condição e os comandos ficam dentro do do. Tipo assim:
int i; Lembrando de declarar a variável antes.
do {
//comandos faça isso
} while (i condição o_que_eu_quiser) enquanto o i estiver na condição que eu quiser
Sabe aquelas horas que tem que ficar perguntando coisas pro usuário mas depende da primeira resposta pra ficar repetindo? Ao invés de perguntar uma vez do lado de fora e usar esse resultado como condição do while, coloca tudo dentro do do. Ele já vai executar e modificar a variável de condição sem você ter que perguntar duas vezes, uma do lado de dentro e outra do lado de fora da repetição.

Nenhum comentário:

Postar um comentário