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.
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.
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
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:
No trecho do algoritmo anterior, portanto, os comandos que se localizam na estrutura de repetição serão repetidos cinco vezes.
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:
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:
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.