Skip to content

Instantly share code, notes, and snippets.

@AlyoshaS
Created April 12, 2017 21:45
Show Gist options
  • Save AlyoshaS/e72e055c6dd588a3a32366e4b0de91e5 to your computer and use it in GitHub Desktop.
Save AlyoshaS/e72e055c6dd588a3a32366e4b0de91e5 to your computer and use it in GitHub Desktop.
Estruturas de repetição.md

Estrutura de repetição

Uma estrutura de repetição é utilizada quando um trecho do algoritmo ou até mesmo o algoritmo inteiro precisa ser repetido. O número de repetições pode ser fixo ou estar atrelado a uma condição. Assim, existem estruturas para tais situações, descritas a seguir.

Estrutura de repetição PARA número definido de repetições(estrutura PARA)

Essa estrutura de repetição é utilizada quando se sabe o número de vezes que um trecho do algoritmo deve ser repetido. O formato geral dessa estrutura é:

PARA I <- valor inicial ATÉ valor final FAÇA [PASSO n]
    comando1
    comando2
    comandom

Em python:

for x in range(0, 3):
    print("E conta %d" % x, end=" ")
print("\n")

O comando1, o comando2 e o comandom serão executados utilizando-se a variável I como controle, e seu conteúdo vai variar do valor inicial até o valor final. A informação do PASSO está entre colchetes porque é opicional. O PASSO indica como será a variação da variável de controle. Por exemplo, quando for indicado PASSO 2, a variável controle será aumentada em 2 unidades a cada iteração até atingir o valor final. Quando a informação do PASSO for suprimida, isso significa que o incremento ou o decremento da variável de controle será de 1 unidade.

Veja como escrever na tela os números de 1 ... 10:

PARA i <- 1 ATÉ 10 FAÇA
ESCREVA i

O comando ESCREVA i será executado dez vezes, ou seja, para i variando de 1 a 10. Assim, os valores de i serão: 1,2,3,4,5,6,7,8,9 e 10.

PARA j <- ATÉ 9 FAÇA PASSO 2
ESCREVA j

O comando ESCREVA j será executado cinco vezes, ou seja, para j variando de 1 a 10, de 2 em 2. Assim, os valores de j serão: 1,3,5,7 e 9.

PARA i <- 10 ATÉ 5 FAÇA
ESCREVA i

Comando ESCREVA i será executado seis vezes, ou seja, para i variando de 10 a 5. Assim, os valores de i serão: 10,9,8,7,6 e 5.

PARA j <- 15 ATÉ 1 FAÇA PASSO -2
ESCREVA j

O comando ESCREVA j será executado oito vezes, ou seja, para j variando de 15 a 1, de 2 em 2. Assim, os valores de j serão: 15,13,11,9,7,5,3 e 1.

Estrutura de repetição para número indefinido de repetições e teste no início (estrutura ENQUANTO)

Essa estrutura de repetição é utilizada quando não se sabe o número de vezes que um trecho do algoritmo deve ser repetido, embora também possa ser utilizada quando se conhece esse número.

Essa estrutura baseia-se na análise de uma condição. A repetição será feita enquanto a condição mostrar-se verdadeira.

Existem situações em que o teste condicional da estrutura de repetição, que fica no início, resulta em um valor falso logo na primeira comparação. Nesses casos, os comandos de dentro da estrutura de repetição não serão executados.

ENQUANTO condição FAÇA
comando1

Enquanto a condição for verdadeira, o comando1 será executado.

ENQUANTO condiçao FAÇA
    comando1
    comando2
    comando3

Enquanto a condição for verdadeira, o comando1, o comando2 e o comando3 serão executados.

Exemplos:

x <- 1
y <- 5
ENQUANTO x < y FAÇA
    x <- x + 2
    y <- y + 1

Em python:

x = 1
y = 5
while x < y:
    x = x + 2
    y = y + 1

Simulação

Imgur

No trecho do algoritmo anterior, portanto, os comandos que estão denrto da estrutura de repetiçao serão repetidos quatro vezes.

x <- 1
y <- 1
EQUANTO x <= 5 FAÇA
    y = y * x
    x = x + 1

Simulação:

Imgur

No trecho do algoritmo anterior, portanto, os comandos que se localizam na estrutura de repetição serão repetidos cinco vezes.

Estrutura de repetição para número indefinido de repetições e teste no final (estrutura REPITA)

Essa estrutura de repetição é utiliza quando não se sabe o número de vezes que o trecho do algoritmo deve ser repetido, embora também possa ser utilizada quando se conhece esse número.

Essa estrutura baseia-se na análise de uma condição. A repetição será feita até a condição tornar-se verdadeira.

A diferença entre a estrutura ENQUANTO e a estrutura REPITA é que nesta última os comandos serão repetidos pelo menos uma vez, já que a condição de parada se encontra no final.

REPITA
comandos
ATÉ condição

Repita os comandos até a condição se tornar verdadeira.

Exemplos:

x <- 1
y <- 5
REPITA
    x <- x + 2
    y <- y + 1
ATÉ x >= y

Simulação:

Imgur

No trecho do algoritmo anterior, portanto, os comandos de dentro da estrutura de repetição serão repetidos quatro vezes.

x <- 1
y <- 1
REPITA
    x <- y * x
    y <- x + 1
ATÉ x = 6

Simulação:

Imgur

No trecho do algoritmo anterior, portanto, os comandos que se localizam dentro da estrutura de repetição serão repetidos cinco vezes. Nesse exemplo, a estrutura REPITA é utilizada para repitir o trecho do algoritmo um número definido de vezes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment