14 de janeiro de 2010

Laços de Repetição

Olá!

Hoje vou falar sobre os famosos laços de repetição. Estruturas bem simples e poderosas do mundo da computação.
Os laços de repetição se encarregam de repetir determinada instrução enquanto uma determinada condição for verdadeira.
A partir de agora vamos chamar esses laços de loops. Assim sendo, temos basicamente dois tipos de loops: O for e o while.

No portugol, o while seria algo mais ou menos assim:

inteiro i := 1
ENQUANTO i < 10 FAÇA
  imprima(i)
  i = i + 1

E o for, assim:

PARA i = 0 de 1 a 10 FAÇA
  imprima(i)


Ou seja, nos dois casos ele vai ter que repetir a instrução imprima(i) até que a variável i seja igual a 10.

Na linguagem de programação C, isso ficaria assim:

O laço while tem uma variação, que se chama Do..While. No primeiro caso, quando fazemos o while normal, primeiro é verificado se i é menor do que 10 e então a instrução é executada. Já, quando utilizamos dessa forma:
Primeiro é executada a instrução, e depois a condição é testada.

Cuidado!
É muito fácil de cair sem perceber no famoso loop infinito.
Dê uma olhada no banner do blog. Vê aquele "while( 1 > 0 ) printf("Bem vindo!");" ?
Isso é um loop infinito. Quando não se queria um desses, pode causar muita dor de cabeça. Agora, quando você precisar de um desses, dentro do escopo do loop tem que haver alguma instrução que execute o break (instrução que força o término do loop), que quebra o loop infinito.


Para terminar, que tal escrever uma função que, dado um número inteiro n, retorne o seu fatorial?

Em C:


É isso! Até a próxima!

Voltando com tudo

Bom, sem mais delongas, só queria me pronunciar sobre o ano de 2010.
Tomara que eu consiga manter isso aqui atualizado sempre! =]

Abraços!