domingo, 1 de abril de 2012

Quando usar as estruturas de repetição: Para, Enquanto e Repita?

Quando estamos iniciando em estruturas de repetição, geralmente aprendemos primeiro a estrutura para, depois a estrutura enquanto e por fim a estrutura repita.

O que essas estruturas tem em comum é que elas vão repetir determinadas instruções do seu código por uma certa quantidade de vezes.

Mas quando devemos usar o para, o enquanto ou o repita? Essa é uma pergunta muito frequente aos programadores iniciantes que não sabem definir uma aplicação exata para a solução do seu problema.

Podemos dizer que temos dois tipos de repetição dentro de um programa, o primeiro seria a repetição programada. A repetição programada seria quando o programador já sabe previamente quantas vezes o comando deve ser repetido, ou seja, você sabe quantas vezes o programa deve executar determinada tarefa.

O outro tipo de repetição seria a não programada, a repetição não programada se dá quando não sabemos o número de vezes que um determinado comando deve ser repetido, ou seja, ele não tem um número exato de interações (repetições).

Ao fazer essa repartição, fica mais claro quando usamos uma estrutura ou outra não é mesmo? Se analisarmos a sintaxe do comando Para, iremos observar que ele se parece muito o conceito de repetição programada, pois no Para indicamos um ponto inicial e um ponto final que resulta em um certo número de interações (repetições), veja o exemplo:

Sintaxe da estrutura Para:
Para variavel <--- (numero incial) até (numero que o valor incial vai alcançar) Faça
        //bloco de comandos
Fim_para 
Aplicação real para a estrutura Para:
Para i <--- 0 até 10 Faça
        Escreva "Meu nome é Guilherme"    
Fim_para 

No exemplo acima o comando Escreva vai ser executado 10 vezes, já que começamos do número 0 e mandamos repetir até que a variável i obtivesse valor igual a 10. O que isso quer dizer? Quer dizer que quando escrevemos o Para já sabemos o número de vezes que o comando deve ser repetido.

Mas é quando não sabemos quantas vezes um determinado comando deve ser repetido? Ou quando queremos que um comando seja repetido até que um determinado número seja digitado? Quando temos alguma dessas duas ocorrências devemos usar a estrutura de repetição Enquanto.

A estrutura Enquanto diz que, um bloco de comando deve ser repetido enquanto a expressão for verdadeira. Veja o exemplo:

Sintaxe da estrutura Enquanto:
Enquanto <expressão> Faça
        //bloco de comandos
Fim_enquanto
Aplicação real para a estrutura Enquanto:
Enquanto i <> 0 Faça
        Escreva "digite um numero"
        Leia i
Fim_enquanto

O código acima irá executar enquanto o usuário digitar um número diferente de 0, ou seja, se ele digitar 0 a estrutura de repetição Enquanto é encerrada.

Por fim temos a estrutura de repetição Repita. Essa estrutura segue a mesma lógica que a estrutura de repetição Enquanto. Só que o Repita primeiro executa o bloco de comandos para depois verificar a expressão. O Repita é executado enquanto a expressão for verdadeira. Veja o exemplo:

Sintaxe da estrutura Repita:
Repita
        //bloco de comandos
Enquanto <expressão> Fim_repita

Aplicação real para a estrutura Repita:
Repita
        Escreva "Digite um número"
        Leia i
Enquanto i <> 0 Fim_repita 

Pessoal abaixo temos exemplos de como usar as 3 estruturas de repetição em linguagens de programação:

Java:

Para:
for(int i = 0; i < 10; i++) {
    System.out.println("Estrutura de repetição Para em Java");
}

Enquato:
int i = 0;
while(i < 10) {
    Sytem.out.println("Estrutura de repetição Enquanto");
    i++;
}

Repita:
int i = 0;
do {
Sytem.out.println("Estrutura de repetição Enquanto");
i++;
}while(i < 10);

C++

Para:
for(int i = 0; i < 10; i++) {
    cout << "Estrutura de repetição Para" << "\n";
}

Enquanto:
int i = 0; 
while(i < 10) {
    cout << "Estrutura de repetição Enquanto" << "\n";
    i++;
}

Repita:
int i = 0; 
do {
    cout << "Estrutura de repetição Repita" << "\n";
    i++;
} while(i < 10);

C

Para:
int i = 0;
for(i = 0; i < 10; i++) {
    printf("Estrutura de repetição Para \n");
}

Enquanto:
int i = 0;
while(i < 10) {
    printf("Estrutura de repetição Enquanto");
    i++;
}

Repita:
int i = 0;
do {
    printf("Estrutura de repetição Repita");
    i++;
} while(i < 10);

Todos os códigos foram compilados e funcionam perfeitamente, se você quiser algum outro exemplo em uma outra linguagem de programação deixe um comentário ou envie um e-mail solicitando o exemplo. Lembrando que você pode deixar um comentário pedindo uma explicação sobre um outro assunto assim como pode enviar um e-mail com a mesma finalidade!

E-mail: guilherme_1994_gui@hotmail.com   

7 comentários:

  1. Bom mesmo brow, parabéns

    ResponderExcluir
    Respostas
    1. Vlw pessoal, duvidas comentem ai que escreveremos mais posts explicando!

      Excluir
  2. Só a título de esclarecimento, quando você diz no seu exemplo com o laço Para, que o comando será executado 10 vezes, começando em 0 até 10, na realidade, serão 11 execuções.

    A menos que você esteja dizendo que vai até menor que 10. Neste caso a condição ficaria i < 10.

    Abraços.

    ResponderExcluir
    Respostas
    1. Amigo é exatamente isso, conforme dei o exemplo na linguagem C no final do texto. Abraços.

      Excluir
  3. Ótimo conteudo,mas coloque também exemplo do Portugol abraço

    ResponderExcluir

Novidade!!! Agora vamos ter canal no Youtube =D

Fala pessoal tudo beleza, estou sumido a correria está forte por aqui. Estou querendo dar um start em um projeto antigo que vem desde o temp...