Social Icons

Laços de Repetição

Hoje iremos tratar de um tema de suma importância na programação: Os Laços de Repetição. Em nossos programas já estamos lendo dados do usuário. Imagine o seguinte: vamos fazer uma soma de números. Lemos dois números e realizamos a soma. E se quiséssemos fazer uma soma de, por exemplo, 100 números, ou mesmo uma quantidade X definida pelo usuário? No caso da soma de 100 números, teríamos 100 vezes o comando Leia()? E como faríamos pra ler uma quantidade X de vezes? Sem as estruturas de repetição, sem dúvida, seria bem complicado. Além disso, teríamos um código extremamente grande e repetitivo, com comandos iguais pra fazer as mesmas coisas. Os Laços de Repetição foram criados para solucionar estes problemas, deixando os códigos mais compactos, mais legíveis e mais rápidos de serem desenvolvidos.
Os Laços de Repetição que iremos tratar aqui são o Enquanto, Faça e o Para. Descrevendo-os resumidamente, temos o seguinte:
  • Enquanto: testa a condição antes de executar o bloco de código
  • Faça: executa o bloco de código e depois verifica a condição
  • Para: executa um bloco de código um determinado número de vezes
Vamos começar, então, falando do Enquanto. O enquanto possui um funcionamento bem simples, porém é de grande utilidade. Ele compara uma sentença e executa o bloco de código se a condição for verdadeira. Da mesma forma que, por exemplo, no Se, você pode colocar diversas condições, com o uso dos operadores lógicos e e ou, além do não. A seguir temos o exemplo da sintaxe em algoritmo…
1enquanto (nota > 70) faça
2   comandos...
3fim-enquanto
… e em Pascal…
1while (Nota > 70) do
2begin
3   comandos...
4end;
Dessa forma, utilizamos o Enquanto quando vamos executar uma repetição sem sabermos necessariamente o número de vezes que ele será executado. O looping pode, ainda, não ser executado nenhuma vez, caso a condição não seja satisfeita, ou seja, no Enquanto, testa-se a condição antes de executar o bloco de código.
Outra estrutura de repetição importante é o Repita. Ela possui praticamente o mesmo funcionamento que o Enquanto, porém a condição é testada após a execução do bloco de código. Abaixo, temos a sua sintaxe algoritmica…
1repita
2   comandos...
3enquanto(nota <= 70) e (nota >= 30)
… e em Pascal…
1repeat
2   comandos...
3until(nota <= 70) and (nota >= 30);
Neste exemplo acima, utilizei o operador lógico e para condicionar a repetição. Dessa forma, o looping será executado somente enquanto a variável Nota estiver na faixa entre 30 e 70 (para mais detalhes sobre os operadores lógicos, dê uma olhada no post sobre eles).
Por último, mas não menos importante, temos o Para. Esta estrutura de repetição se diferencia das outras por executar a repetição um determinado número de vezes. Como assim? A execução do Para é executada através da verificação e incremento de uma variável inteira, ou seja, determinamos a quantidade de vezes que a repetição será executada através de um limite para o valor da variável. Meio confuso? Calma, nos exemplos abaixo vai ficar mais claro. Primeiro na forma algoritmica…
1para i = 1 até 50 faça
2   comandos...
3fim-para
… e em Pascal…
1for i := 1 to 50 do
2begin
3   comandos...
4end;
No exemplo acima, temos a variável I funcionando como o contador de execução do looping, sendo incrementado automaticamente a cada execução do bloco de código. Dessa forma, o nosso looping será executado 50 vezes, ou seja, enquanto a variável I for menor ou igual o valor 50. Podemos, em vez do valor 50 colocar outra variável ou uma constante pra controlar a quantidade de vezes que o Para será executado.
O Para também possui uma particularidade interessante, podendo realizar decrementos a cada execução do looping. Dessa forma, podemos, por exemplo, criar contadores decrescentes, ou ainda exibir vetores invertidos (para mais informações sobre vetores, consulte o próximo post). A seguir temos a sintaxe do Para com decremento tanto em algoritmo quanto em Pascal:
1para i = 50 até 1 passo -1
2   Comandos...
3fim-para
1for i := 50 downto 1 do
2begin
3   Comandos...
4end;
Bem, pessoal, acho que é isso. Com o tempo vocês verão que a utilização das estruturas de repetição está sempre presente no dia-a-dia de um programador e tem papel fundamental na construção de um código otimizado. Fiquem atentos, pois no próximo post iremos falar de vetores e matrizes. Até lá e bons estudos!

Nenhum comentário:

Postar um comentário