Estrutura de repetição

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Estrutura de repetição, na ciência da computação, é uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza e/ou repete diferentes algoritmos/ações dependendo se uma condição é verdadeira ou falsa, em que a expressão é processada e transformada em um valor booleano. Estão associados a uma estrutura de repetição uma condição (também chamada "expressão de controle" ou "condição de parada") e um bloco de código: verifica-se a condição, e caso seja verdadeira, o bloco é executado. Após o final da execução do bloco, a condição é verificada novamente, e caso ela ainda seja verdadeira, o código é executado novamente.

Deve-se observar que, caso o bloco de código nunca modificar o estado da condição, a estrutura será executada para sempre, uma situação chamada laço infinito. Da mesma forma, é possível especificar uma estrutura em que o bloco de código modifica o estado da condição, mas esta é sempre verdadeira.

Algumas linguagens de programação especificam ainda uma palavra reservada para sair da estrutura de repetição de dentro do bloco de código, "quebrando" a estrutura. Também é oferecido por algumas linguagens uma palavra reservada para terminar uma iteração específica do bloco de código, forçando nova verificação da condição.

Repetição pré-testada[editar | editar código-fonte]

A construção "enquanto" (também chamada "repetição pré-testada") é a mais difundida estrutura de repetição, e sua estrutura básica é a seguinte:

Enquanto (condição) Faça
    (bloco de código)
Fim Enquanto

Nesta estrutura, a condição é primeiramente verificada, e se for verdadeira o bloco é executado. No final de execução do bloco a condição é novamente testada.

Repetição pós-testada[editar | editar código-fonte]

A construção "repita até" (também chamada "repetição pós-testada") é uma variação da construção anterior, e difere pois a verificação da condição é feita após uma execução do bloco. Sua estrutura básica é a seguinte:

Repita
    (bloco de código)
Ate (condição)

Nesta estrutura, o bloco de código é primeiramente executado, e então a condição é verificada, e se for verdadeira o bloco é executado novamente.

Diagrama de fluxo de dados da estrutura "para": A é a atribuição inicial, B é a condição de parada, D é o bloco de código e C é o incremento do passo.

Repetição com variável de controle[editar | editar código-fonte]

A construção "para" (ou "repetição com variável de controle") é uma estrutura de repetição que designa uma variável de controle para cada iteração do bloco, e uma operação de passo a cada iteração. Sua estrutura básica é a seguinte:

Para (V) De (vi) Até (vf) Passo (p) Faça
    (bloco de código)
Fim Para

No exemplo acima, V é uma variável de controle, vi é o estado inicial de V e vf é o estado de saída da estrutura de repetição. O passo indica qual será o incremento entre cada iteração do código. No início da estrutura, vi é atribuído à V, e é verificado se V é igual a vf, a condição de parada. Caso não seja, o bloco de código é executado e então o passo é adicionado à V (V = V + p). Segue-se então com nova verificação da condição de parada. O passo é opcional, e caso seja omitido assume-se incremento de uma unidade.

Esta estrutura é bastante utilizada para a iteração de vetores, em que cada iteração representa um índice do vetor. Nesse caso, para vetores multidimensionais é possível aninhar este tipo de construção para as diversas dimensões associadas. Por exemplo, para uma estrutura bidimensional como uma matriz, que possui linhas e colunas, a estrutura é exemplificada abaixo:

Para (V) De (vi) Até (vf) Faça
    Para (Y) De (yi) Até (yf) Faça
        (bloco de código)
    Fim Para
Fim Para

Iteração de coleção[editar | editar código-fonte]

A estrutura "para cada" é usada para iterar itens de uma coleção, sendo uma especialização da estrutura "para". Menos flexível que a estrutura "para", esta estrutura torna implícita a atribuição inicial e o incremento do passo, e determina que a condição de parada é somente a situação no qual todos os elementos do conjunto já foram iterados. Sua estrutura básica é:

Para Cada (item) De (conjunto) Faça
    (bloco de código)
Fim Para

Referências[editar | editar código-fonte]

Ver também[editar | editar código-fonte]