Anda di halaman 1dari 7

Lógica de Programação e Algoritmos - LPA

Laços de Repetição - Enquanto

Existem ocasiões em que é necessário repetir um determinado trecho do programa um


determinado número de vezes. Para essas situações utilizaremos um laço de repetição,
também conhecido como looping, que efetuará o processamento de um trecho do
programa tantas vezes quantas forem necessárias.

Estudaremos os seguintes laços de repetição:

• Enquanto (while) → teste no início do looping

enquanto (<condição>) faça


<instruções executadas enquanto condição verdadeira>
fim_enquanto

• Repita ... Até que (repeat...until ou do...while) → teste no final do looping

repita
<instruções executadas até que a condição seja verdadeira>
até_que (<condição>)

• Para (for) → controle de variável

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


<instruções a serem executadas>
fim_para

Laço de Repetição Enquanto

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

A estrutura enquanto...faça...fim_enquanto tem o seu funcionamento controlado


por decisão. Sendo assim, poderá executar um determinado conjunto de instruções
enquanto a condição verificada for verdadeira. No momento em que esta condição se
torna falsa, o processamento da rotina é desviado para fora do looping. Se a condição for
falsa logo de início, as instruções contidas no looping são ignoradas.

O diagrama de blocos pode ser representado da seguinte forma:

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

Passo 1. Criar uma variável para ser utilizada como resposta;


Passo 2. Enquanto a resposta for sim, executar os passos 3, 4 e 5;
Passo 3. Ler um valor para a variável X;
Passo 4. Multiplicar X por 3, implicando o resultado em R;
Passo 5. Mostrar o valor de R;
Passo 6. Quando a resposta for diferente de sim, encerrar o processamento.

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”.

Exercício para fixação

Vamos considerar o seguinte problema: “Elaborar um algoritmo em descrição narrativa,


pseudocódigo e diagrama de blocos de um programa que efetue o cálculo de fatorial do
número 5, ou seja, 5!”.
Lógica de Programação e Algoritmos - LPA

Portanto, temos que 5! = 1 * 2 * 3 * 4 * 5, que equivale a 120.

Descrição Narrativa

Passo 1. Inicializar as variáveis fatorial e contador com 1;


Passo 2. Repetir a execução dos passos 3 e 4 por 5 vezes;
Passo 3. fatorial ← fatorial * contador;
Passo 4. Incrementar 1 à variável contador;
Passo 5. Apresentar ao final o valor obtido.

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.

Pelo fato de a variável fatorial possuir ao final o resultado do cálculo da fatorial


pretendida, esta deverá ser inicializada com 1. Se for inicializada com 0 não
existirá resultado final, pois qualquer número multiplicado por 0 resulta 0.

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

contador fatorial fatorial ← fatorial * contador


1 1 1
2 1 2
3 2 6
4 6 24
5 24 120

Exercícios Resolvidos:

Para todos os enunciados abaixo, criar:


- descrição narrativa;
- pseudocódigo;
- diagrama de blocos;
- teste de mesa.

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.

programa positivos var


num, qtde : inteiro inicio
qtde 0
escreva( “Informe um número: “)
leia( num )
enquanto (num > 0) faça
qtde qtde + 1
escreva( “Informe um número: “)
leia( num )
fim_enquanto
escreva( “Foram digitados “, qtde, “ números” )
fim

Material Cedido Por:


Antônio Viana
Ecila Oliveira
Luciana Abiuzi
Sidinei Akira

Anda mungkin juga menyukai