repita
<instruções executadas até que a condição seja verdadeira>
até_que (<condição>)
Caracteriza-se por uma estrutura que efetua um teste lógico no início de um looping,
verificando se é permitido executar o trecho de instruções subordinado a esse looping.
Lógica de Programação e Algoritmos - LPA
Como exemplo, vamos considerar o problema: “Ler um valor para a variável X, multiplicar
esse valor por 3, implicando-o à variável de resposta R e apresentar o valor de R obtido,
repetindo esta sequência por cinco vezes”.
Descrição Narrativa
Passo 1. Criar uma variável para servir como contador e iniciar com o valor 1;
Passo 2. Enquanto o valor do contador for menor ou igual a 5, processar os passos 3, 4, 5 e 6;
Passo 3. Ler um valor para a variável X;
Passo 4. Multiplicar X por 3, implicando o resultado em R;
Passo 5. Mostrar valor de R;
Passo 6. Acrescentar 1 na variável contador, definida no passo 1;
Passo 7. Quando o contador for maior que 5, encerrar o processamento do looping.
Pseudocódigo
Programa Enquanto_A
var
X, R, cont : inteiro
início
cont ← 1
enquanto (cont <= 5) faça
leia (X)
R ← X * 3
escreva (R)
cont ← cont + 1
fim_enquanto
fim
Lógica de Programação e Algoritmos - LPA
Diagrama de Blocos
Para ilustrar de forma um pouco diferente, imagine que o problema anterior deverá ser
executado enquanto o usuário queira. Desta forma, em vez de criarmos dentro da rotina
um contador de vezes, criamos uma instrução pedindo que o usuário informe se deseja
continuar ou não.
Descrição Narrativa
Pseudocódigo
Programa Enquanto_B
var
X, R : inteiro
resp : caractere
início
Lógica de Programação e Algoritmos - LPA
resp ← “sim”
enquanto (resp = “sim”) ou (resp = “s”) faça
leia (X)
R ← X * 3
escreva (R)
escreva (“Deseja continuar?”)
leia (resp)
fim_enquanto
fim
Diagrama de Blocos
Neste exemplo, o número de vezes que a rotina se repetirá será controlado pelo usuário e
será encerrada somente quando alguma informação diferente de “sim” ou “s” for fornecida
para a variável “resp”.
Descrição Narrativa
Observações:
O contador é iniciado com 1 pelo fato de termos que efetuar o cálculo de uma
fatorial de 5, ou seja, a variação é de 1 a 5.
Pseudocódigo
Programa Fatorial
var
contador, fatorial : inteiro
início
fatorial ← 1
contador ← 1
enquanto (contador <= 5) faça
fatorial ← fatorial * contador
contador ← contador + 1
fim_enquanto
escreva (“O fatorial de 5 é:”, fatorial)
fim
Diagrama de Blocos
Lógica de Programação e Algoritmos - LPA
Teste de Mesa
Exercícios Resolvidos:
1- Entrar com números e imprimir o triplo de cada número. O programa encerra quando o
usuário informar o número -999.
Lógica de Programação e Algoritmos - LPA
programa triplos
var num, res : inteiro
inicio
escreva( “Informe um número: “)
leia( num )
enquanto (num <> -999) faça res
num * 3
escreva( “O triplo do número é = “, res )
escreva( “Informe um número: “)
leia( num )
fim_enquanto fim
2 - Entrar com números enquanto forem positivos. Quando entrar com número 0 ou algum
número negativo imprimir quantos números foram digitados.