Comando de Repetição: Iterar e reduzir

Introdução

Os comandos de repetição permitem ao desenvolvedor fazer iterações em uma determinada parte do código, a finalização da iteração vai depender da expressão condicional definida pelo desenvolvedor. Este artigo irá fazer uma abordagem inicial sobre os comandos de repetição FOR e WHILE, além de apresentar a sintaxe e utilização do mesmo nas linguagens de programação PASCALDELPHIC/C++JAVA e PHP.

Obs.: A palavra iteração tem como um dos sinônimos repetição; diferentemente de interação que tem como sinônimos comunicação, diálogo.

Rápida explicação:

Neste artigo serão utilizadas as linguagens de programação PASCALDELPHIC/C++JAVA e PHP por um motivo simples, mostrar para o iniciante em programação que a maioria das ideias e conceitos vistos no decorrer da aprendizagem existem em diversas linguagens de programação, sendo mais importante aprender a lógica de programação que apenas a sintaxe da linguagem escolhida, pois a sintaxe pode mudar de uma linguagem para outra, mas para ser um bom desenvolvedor é necessário entender a semântica, independente da linguagem.

Mas o leitor pode sentir-se a vontade para se concentrar apenas na linguagem que mais lhe agrade, pois o artigo foi escrito de uma maneira que permita esse olhar direcionado a apenas uma das linguagens.

Definição

Os comandos de repetição permitem que o desenvolvedor de programas determine que uma ação seja repetidas diversas vezes. A ação será repetida com base na expressão condicional lógica, em outras palavras, ele permite ao desenvolvedor repetir determinada parte do código enquanto a condição testada for verdadeira.

repetir_ate

Os comandos de repetição também são conhecidos como (i) instruções de repetição, (ii) estruturas de repetição, (iii) laços de repetição, (iv) malhas de repetição ou simplesmente (v) loopings.

Comando FOR:

O comando de repetição FOR é usado geralmente quando o desenvolvedor conhece o número de vezes que um determinado bloco de comandos vai ser repetido. Desse modo, se o bloco de comandos precisar ser executado mais uma vez e é conhecido de antemão a quantidade de vezes, o comando de repetição FOR será a escolha da maioria dos desenvolvedores.

Exemplo #1:

Nesse exemplo serão mostrados todos os números entre 1(um) e 10(dez).

Sintaxe em PASCAL e DELPHI:

Utilização em PASCAL:

Utilização em DELPHI:

Sintaxe em C/C++, JAVA e PHP:

Utilização em C/C++:

Utilização em JAVA:

Utilização em PHP:

Explicando o código:

Esse exemplo do comando de repetição FOR pode ser explicado em três passos:

1º – A variável de controle i recebe o valor 1(um) e entra no comando de repetição;
2º – A variável de controle i é mostrada na tela e volta para a linha 2;
3º – A variável de controle i é incrementada em 1(um), e verificado se ainda atende a condição; caso atenda, volta ao 2º passo; caso contrário, abandona o comando de repetição.

Peculiaridades das linguagens:

Nas linguagens PASCAL e DELPHI, o comando de repetição FOR têm o incremento da variável de controle obrigatoriamente de 1(um) em 1(um). Nas linguagens C/C++JAVA e PHP esse incremento pode ter qualquer valor.

Para utilizar o comando de repetição FOR com decremento, nas linguagens C/C++JAVA e PHP basta informa isso na declaração (Exemplo: Trocar i++ por i–). No caso das linguagens PASCAL e DELPHI, deve-se utilizar o downto no lugar do to, como mostrado na próxima sintaxe, mas em todos os casos o valor inicial deve obrigatoriamente ser maior que o valor final.

Comando WHILE:

comando de repetição WHILE é usado geralmente quando o desenvolvedor NÃO conhece o número de vezes que um determinado bloco de comandos vai ser repetido. Desse modo, se o bloco de comandos precisar ser executado mais uma vez e NÃO é conhecido de antemão a quantidade de vezes, o comando de repetição WHILE será a escolha da maioria dos desenvolvedores.

Exemplo #2:

Nesse exemplo será mostrado o valor de uma variável do tipo inteira, enquanto ela tiver o valor menor que de uma segunda variável inteira.

Sintaxe em PASCAL e DELPHI;

Utilização em PASCAL:

Utilização em DELPHI:

Sintaxe em C/C++, JAVA e PHP:

Utilização em C/C++:

Utilização em JAVA:

Utilização em PHP:

Explicando o código:

Nesse exemplo o bloco de comandos executado pelo comando de repetição WHILE , vai continuar repetindo enquanto a variável NUM1 for menor que a variável NUM2. Perceba que não temos como saber de antemão quantas vezes o bloco de comandos será repetido, uma vez que a variável NUM1 cresce com um incremento de 2(dois), enquanto a variável NUM2 cresce com um incremento de 1(um). Dessa maneira a quantidade de repetição vai mudar de acordo com os valores atribuídos a essas variáveis.

Para ficar mais claro, abaixo é mostrada a saída do código quando a variáveis NUM1 e NUM2 recebem os valores 1 e 5, respectivamente:

Conclusão

Os comandos de repetição são bastante úteis quando o desenvolvedor tem a necessidade de repetir uma parte do código. Essa quantidade pode ou não ser conhecida antecipadamente. O comando de repetição FOR é mais comumente utilizado quando a quantidade de repetição é conhecida, mas quando essa quantidade não é conhecida, o comando de repetição WHILE é mais adequado. Esse artigo abordou de forma sucinta esses dois comandos de repetição. Em artigos futuros serão apresentados exemplos mais complexos.

Até o próximo artigo.

Assuntos relacionados:

Comando FOR: A flexibilidade na sua mão

Sub-rotina: Chame-me quando precisar

Possui mestrado em Computação Aplicada pela Universidade Estadual do Ceará (2010), especialização em Engenharia de Software pela Faculdade de Juazeiro do Norte (2010), graduação em Automática pelo Centro Federal de Educação Tecnológica do Ceará (2005). Tem experiência na área de Ciência da Computação , com ênfase em Sistemas de Computação, atuando principalmente nos seguintes temas: Desenvolvimento dos programas de computador IndSist, Store, Teacher entre outros. Desenvolvimento dos programas Mobile-Android Agenda Iterativa e Guia Cariris.Disciplinas que ministra ou ministrou no ensino superior: Linguagem de Programação, Paradigma de Programação, Estrutura de Dados, Engenharia de Software, Banco de Dados. Currículo Lattes