Sei sulla pagina 1di 17

Estrutura de Repetio

Quando precisamos fazer repetir uma determinada instruo devemos utilizar


uma estrutura de repetio, tambm conhecido como lao.

Esta estrutura composta em Enquanto, Repita e Para. Todas elas tm a


mesma funcionalidade: a repetio. Entretanto, dependendo do problema a ser
resolvido, cada um deles apresenta uma caracterstica mais adequada.

Estrutura de controle Para

Usamos a estrutura Para, quando precisamos repetir um conjunto de


comandos um nmero pr-definido de vezes. Utiliza-se uma varivel de
controle, que incrementada em 1 unidade de um valor inicial at um valor
final.
para controle inicio at fim faa
Inicio
<comando 1>
<comando 2>
<comando n>
fim do para;

Quando o programa encontra a instruo fim do para, ele incrementa a varivel


controle em 1 unidade. Cada vez que o programa passa pela linha de
instruo para, ele testa se controle menor ou igual a fim,. Quando a varivel
controle for diferente do fim, o comando ser abandonado.

Obs: O valor da varivel Controle no pode ser alterado no


interior da estrutura para...fim-para.

10 exemplo
Some uma seqncia de 10 nmeros.

Programa soma_dez_numeros

Variveis i,soma:inteiro

Inicio

para i1 at 10 faa

somasoma+ i

Imprima soma

Fim

Voc deve ter notado que nenhum dado foi pedido para o
usurio. A soma foi feita de maneira independente.
Na estrutura para no necessrio incrementar a
varivel i. Quando comearmos a programar em Pascal
iremos ter uma viso melhor deste conceito, entretanto,
no fluxograma precisamos indicar que h uma
Importante: incrementao na varivel de controle.

20 exemplo

Pea duas de quatro alunos, calcule e mostre a mdia de cada aluno


individualmente.

Pseudocdigo

Programa lao_para

Variaveis n1,n2,i: inteiro

media : real

Inicio

para i=1 at 4 faa

Inicio
Imprima digite as notas:

Ler n1,n2

media(n1+n2)/2

if media >= 7

imprima APROVADO

seno

Imprima REPROVADO

Fim do para

Fim.

Estrutura de Repetio ENQUANTO-FAA (WHILE DO)

Sintaxe

enquanto <Condio for verdadeira> faa


inicio
<Comandos>
fim enquanto

10 Exemplo: Uso do Enquanto


Simule uma urna eleitoral, pea os votos e mostre os resultados. Encerre a
votao perguntando se deseja sair ou no. Os candidatos a presidente so:

1- Z das Couves

2- Mane do Pilo

3 Pop dos pobres

4 Bigu do brejo
Pseudocdigo

1.Programa votao

2.Variveis cont_ze, cont_mane, cont_popo, cont_bigu, voto: inteiro; resp:


caractere

3. Inicio

4. resp=s

5. enquanto (sair no)

6. inicio

7. Imprima Escolha seu candidato:

8. Imprima 1- Z das Couves

9. 2- Mane do Pilo

10. 3 Pop dos pobres

11. 4 Bigu do brejo

12. ler voto

13. if voto =1

14. cont_ze= cont_ze +1

15. if voto =2

16. cont_mane= cont_mane +1

17. if voto =3

18. cont_popo= cont_popo +1

19. if voto =4

20. cont_bigu= cont_bigu +1

21. imprima Deseja para continuar? (S/N)

22. Ler resp


23. Fim do enquanto

24.Imprima Total de Votos

25.Imprima Z das Couves: , cont_ze;

26. Imprima Man do Pilo: , cont_mane

27. Imprima Pop dos pobres , cont_popo

28.Imprima Bigu do brejo , cont_bigu

29.Fim.

Obs: A linha 5 apresenta a estrutura enquanto, a condio que


sair seja diferente de no. Por isso, resp, na linha 3 recebeu s
para que a condio (sair no) seja verdadeira.

Nas linhas 21 e 22 temos a confirmao do usurio para


saber se a votao continua ou no. Neste caso, ao ler a
resposta do usurio ele ir voltar ao comando enquanto para
fazer a verificao.

Importante: Acumulador: Acima utilizamos algumas variveis


(cont_z,cont_mane) que assumem a funo de
acumuladores. Isto significa que elas recebem seus
prprios valores adicionados do valor de uma outra
varivel ou nmero.

Estrutura de repetio REPITA-AT ( Repeat Until)


Repita
<Comandos>

Ate <Condio for verdadeira

10 exemplo

Faa um algoritmo que receba a seguinte enqute: Voc tem computador em


casa? Levante o nmero de pessoas que no possuem e as que possuem.
Para sair d a opo de escolha.

Pseudocdigo

Programa enquete

Variaveis voto,resp: caractere

cont_s,cont_n: inteiro

Inicio

Repita

Imprima Voc tem computador em casa?

Leia voto

if voto = sim

cont_s=cont_s+1;

seno

cont_n=cont_n+1

Imprima Deseja continuar? (Sim/No)

Ler resp

At (resp=no)

Fim.
Exerccios resolvidos
1) Faa um algoritmo utilizando a estrutura condicional Enquanto que receba
mostre os nmeros pares de 1 a 20.

Pseudocdigo

Programa soma_nmeros
Variaveis i:inteiro
Inicio
i 1
Enquanto i<=20 faa
inicio
se resto i/2 = 0 ento
Imprima Nmero par
else
Imprima Nmero impar
Fim.

2) Faa um programa que calcule o fatorial de um nmero. Utilize a estrutura


Para

Programa Fatorial
Variaveis n, i, fat inteiro
Inicio
Imprima Digite um numero:
Ler n
fat 1
para i 1 ate n faa
fat fat * i

Imprima O fatorial de ,n , , fat

FIM

3) Receba um intervalo de nmero e some os nmeros maiores que 20.

Programa nmeros_pares
Variaveis n1,n2,i,soma: inteiro
Inicio
Imprima Digite o primeiro nmero do intervalo:
Ler n1
Imprima Digite o segundo nmero do intervalo:
Ler n2
para i n1 ate n2 faa
inicio
if (n1>20) then
somasoma+n1
fim do para
Imprima som
fim.

4) Faa um programa que leia a mdia da temperatura dos doze meses do ano
encontre a temperatura mais alta e a mais baixa. Mostre a temperatura mais
alta e a mais baixa e em que ms ocorreu.
Pseudocdigo

Programa maior_menor_temperatura
variaveis cont,temp, maior, mes_maior, menor, mes_menor :inteiro
Inicio
para cont 1 ate 12 faa
inicio
Imprima Digite a temperatura do ms : ,i
Ler temp
se cont = 1
Inicio
maior temp
mes_maior cont
menor temp
mes_menor cont
fim
senao
inicio
se alt > maior
Inicio
maior alt
mes_maior cont
fim

se alt < menor


inicio
menor alt
mes_menor cont
fim
fim do seno
fim do para
Imprima maior, mes_maior
Imprima menor, mes_menor
FIM
Exerccios propostos

Sugesto: faa os exerccios em portugol.


1) Calcular e mostrar da soma S=1/10+2/9+ 3/8+ ...+10/11.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
__________________________________________________
2) Um nmero perfeito quando a soma dos seus divisores exceto ele prprio
e igual ao numero. Ler um nmero e verificar se ele e perfeito.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
__________________________________________________

3) Um nmero e triangular se ele e produto de trs nmeros naturais


consecutivos. Ex: 6 e triangular, pois 1x2x3=6. Mostrar os nmeros
triangulares de 0 a 100.
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
__________________________________________________

4) Faca um programa que leia um numero de termos e um valor positivo para


X, calcule e mostre o valor da serie a seguir:
S= -x2/1! +x3/2! - x4/3!...
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
__________________________________________________
5) Faca um programa que leia um numero de termos, determine e mostre os
valores de acordo com a serie abaixo:
Serie= 2, 7, 3, 4, 21, 12, 8, 63, 48, 16, 189, 192, 32, 567, 768, 64, ...
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
__________________________________________________

6) Faca um programa que calcule e mostre o produto dos nmeros primos


entre 92 e 1.478
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
__________________________________________________

7)Faca um programa que exiba as oito primeiras serie de Fibonacci


(1,1,2,3,5,8,13) .
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
__________________________________________________

8) Foi feito um levantamento estatstico em cinco cidades brasileiras para


coletar dados sobre ndice de portadores de HIV. Foram obtidos os seguintes
dados:

a. cdigo da cidade;

b. nmero de infectados (em 2004);

c. nmero de mortos (em 2005);

Deseja-se saber:

a) qual o maior e o menor ndice de infectados e a que cidades pertencem:

b) qual a mdia de infectados nas cinco cidades juntas;

c) qual a mdia de mortos de pessoas com mais de 40 anos

_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
__________________________________________________

9) Receba a base para calcular a rea de um tringulo.No permita que sejam


digitados valores invlidos, ou seja, valores menor que zero. Use a estrutura
Repita

_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_____________________________________________
10) Faa uma rotina de 1 a 1000 e verifique e mostre os mltiplos de 5.

_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_______________________________________________________________
_____________________________________________

Potrebbero piacerti anche