sábado, 10 de abril de 2010

Conhecendo as Estruturas de Repetição

Na Ciência da Computação, uma estrutura de repetição é uma estrutura presente nas linguagens de programação, que possibilita repetir a execução de um bloco de comandos em um certo número de vezes, dependendo de uma condição verdadeira ou falsa. Também é conhecida como estrutura de laço.

Os componentes de uma estrutura de repetição são o comando de iteração, a condição de parada (expressão lógica ou expressão de controle) e o bloco de comandos, que geralmente possui delimitadores. Em algumas estruturas a condição é verificada antes do bloco de comandos. Neste caso pode ocorrer nenhuma execução do bloco. Em outras estruturas a condição é verificada após a primeira execução do bloco de comandos. Nesta o bloco é executado pelo menos uma vez.

Caso a condição de parada nunca aconteça, a repetição torna-se infinita, o que é um erro de programação. Em algumas linguagens de programação existem ainda palavras reservadas para sair da estrutura de repetição de dentro do bloco de comandos ("break" em C e "Exit Do" em Visual Basic, por exemplo) e para terminar a iteração atual do bloco de comandos e forçar uma nova verificação da condição ("continue" em C, por exemplo).

O comando "enquanto-faça"

Neste comando a verificação da condição é no início da estrutura, ou seja, antes de entrar no bloco de comandos a expressão lógica é verificada e caso o resultado for verdadeiro, os comandos que estão no bloco são executados. Após a execução dos comandos, a expressão lógica é novamente verificada. Caso o resultado da expressão lógica for falso, o algoritmo sai da estrutura de repetição e segue para a próxima linha.

Geralmente o comando que altera o valor utilizado na condição está inserido dentro do bloco de comandos ou depende de alguma variável externa que será fornecida em tempo de execução. O comando "enquanto-faça" é usado principalmente quando não se sabe com antecedência a quantidade de repetições que precisam ser realizadas.

Sua sintaxe básica em linguagem de algoritmo é:

enquanto <condição> faça
    <bloco de comandos>
fim enquanto

Exemplos em algumas linguagens de programação:

a) C

while(x<=10) {
    <comandos>;
}

b) Pascal

while x<=10 do
begin
    <comandos>;
end;

c) Visual Basic

Do While x<=10
    <comandos>
Loop

O comando "até-faça"

Neste comando a verificação da condição também é no início, ou seja, antes de entrar no bloco de comandos. Entretanto, os comandos que estão no bloco são executados caso o resultado da condição for falso. Após a execução dos comandos, a expressão lógica é novamente verificada. Caso o resultado da expressão lógica for verdadeiro, o algoritmo sai da estrutura de repetição e segue para a próxima linha.

E igualmente ao comando "enquanto-faça", o comando que altera o valor utilizado na condição está inserido dentro do bloco de comandos ou depende de alguma variável externa. O comando "até-faça" também é usado quando não se sabe com antecedência a quantidade de repetições que precisam ser realizadas.

Sua sintaxe básica em linguagem de algoritmo é:

até <condição> faça
    <bloco de comandos>
fim até

Exemplos em algumas linguagens de programação:

a) Visual Basic

Do Until i>10
    <comandos>
Loop

O comando "faça-enquanto"

Neste comando a verificação da condição é no final da estrutura, ou seja, a estrutura "faça-enquanto" difere da estrutura "enquanto-faça" somente por executar o bloco de comandos antes de verificar se a condição é verdadeira. Assim, utilizando o "faça-enquanto" o bloco de comandos é sempre executado pelo menos uma vez, mesmo que a condição seja falsa.

Se a condição for verdadeira o bloco é executado, também o comando de alteração do valor para a condição deve estar dentro do bloco de comandos ou vindo de uma variável externa, e também é usado quando não se sabe com antecedência a quantidade de repetições que precisam ser realizadas.

Sua sintaxe básica em linguagem de algoritmo é:

faça
    <bloco de comandos>
enquanto <condição>

Exemplos em algumas linguagens de programação:

a) C

do {
    <comandos>;
} while(x<=10);

b) Visual Basic

Do
    <comandos>
Loop While i<=10

O comando "faça-até"

Neste comando a verificação da condição é no final da estrutura, ou seja, a estrutura "faça-até" difere da estrutura "até-faça" somente por executar o bloco de comandos antes de verificar se a condição é falsa. Assim, utilizando o "faça-até" o bloco de comandos é sempre executado pelo menos uma vez, mesmo que a condição seja verdadeira.

Se a condição for falsa o bloco é executado, também o comando de alteração do valor para a condição deve estar dentro do bloco de comandos ou vindo de uma variável externa, e também é usado quando não se sabe com antecedência a quantidade de repetições que precisam ser realizadas.

Sua sintaxe básica em linguagem de algoritmo é:

faça
    <bloco de comandos>
até <condição>

Exemplos em algumas linguagens de programação:

a) Pascal

repeat
    <comandos>;
until i>10;

b) Visual Basic

Do
    <comandos>
Loop Until i>10

O comando "para-faça"

A estrutura "para-faça" é composta de um mecanismo de controle que estabelece de antemão quantas vezes a iteração será executada. A estrutura para ser utilizada precisa das informações referentes aos valores de início, fim e incremento do passo. Nesta estrutura, uma determinada variável assumirá valores pertencentes ao intervalo identificado pelos valores de início e fim, respeitando o incremento informado, cujo comando é realizado dentro da própria expressão de controle.

Neste comando a verificação da condição é no início da estrutura e a execução do bloco de comandos é repetida em um número pré-determinado, teoricamente fixo. Quando o valor do fim for alcançado, o algoritmo sai da estrutura de repetição e segue para a próxima linha.

Sua sintaxe básica em linguagem de algoritmo é:

para variável de início até fim passo incremento faça
    <bloco de comandos>
fim parada

Exemplos em algumas linguagens de programação:

a) C

for(i=1; i<=10; i++) {
    <comandos>;
}

b) Pascal

for i:=1 to 10 do
begin
   <comandos>;
end;

c) Visual Basic

For i=1 To 10 Step 1
   <comandos>
Next

Os comandos de iteração não estão todos presentes em todas as linguagens, como percebido pelos exemplos apresentados neste artigo. Um comando ausente em determinada linguagem entretanto pode ser substituído por outro existente, com algumas adaptações na lógica do algoritmo. Este artigo limitou-se em apenas apresentar exemplos nas linguagens C, Pascal e Visual Basic.

Nenhum comentário:

Postar um comentário