Escolar Documentos
Profissional Documentos
Cultura Documentos
Construo de
Algoritmos
Estruturas de Repetio
Estruturas de Repetio
Reinaldo Gomes
reinaldo@cefet-al.br
Estruturas de Repetio
Estruturas de Repetio
As estruturas de repetio tambm so conhecidas
como Laos ou Loops
As estruturas de repetio das linguagens de
programao so de dois tipos
Condicional
Repetem at satisfazer a condio de repetio
So usadas quando no se sabe previamente quantas vezes
deve-se executar as instrues do bloco de repetio
Estruturas de Repetio
Contada
Repetem um nmero contado (pr-definido) de vezes
So usadas quando se sabe previamente quantas vezes
deve-se executar as instrues do bloco de repetio
No Incio
Enquanto/Faa
No Fim
Repita/At
Exemplos
Algoritmo varivelContadora:
...
cont 0;
<estrutura de repetio>
...
cont cont + 1;
...
Constante
<fim estrutura de repetio>
...
Algoritmo varivelAcumuladora:
...
soma 0;
<estrutura de repetio>
...
soma soma + X;
...
Varivel
<fim estrutura de repetio>
...
Algoritmo ExemploEnquantoFaa
Inteiro : x;
Incio
Escreva(Digite um valor);
Leia (x);
q
((x<>0)) faa
Enquanto
Se (x > 0) Ento
Escreva (X > 0);
Seno
Escreva (X < 0);
Escreva(Digite um valor);
Leia (x);
Fim Enquanto;
Escreva (X = 0);
Fim.
10
Sintaxe:
Semntica:
Repita
<Comando1>;
...
<ComandoN>;
At <expresso lgica>;
12
Algoritmo ExemploRepitaAt
Inteiro : x;
Incio
Repita
Escreva(Digite um valor);
L i (x);
Leia
( )
Se (x > 0) Ento
Escreva (X > 0);
Seno
Se (x < 0) Ento
Escreva (X < 0);
At (x = 0);
Escreva (X = 0);
Fim.
14
Questo de Implementao I
Questo de Implementao II
Nos laos condicionais a varivel que testada, deve
15
16
Algoritmo ExemploEnquantoFaa_LoopInfinito
Inteiro : x;
Incio
Escreva(Digite um valor);
Leia (x);
Enquanto (x<>0) faa
Se (x > 0) Ento
Escreva (X > 0);
Seno
Escreva (X < 0);
Escreva(Digite um valor);
{Leia (x); - sem este Leia(x), o lao repete infinitamente!}
Fim Enquanto;
Escreva (X = 0);
Fim.
Sintaxe:
Para<Contador> de <Inicio> at <Fim>[,
<Fim>[ passo <N>] Faca
<Instruo1>;
...
<InstruoN>;
Fim_Para
17
18
Semntica:
Resumindo...
Sabe-se de antemo quantas vezes o bloco de repetio
20
Ateno
Pode-se implementar um lao PARA com um lao
22
21
Algoritmo ExemploParaFaaComEnquanto
Var x, i, contP: inteiro
Incio
contP 0; i 1;
Enquanto (i <= 20) faa
Escreva(Digite um valor);
Leia (x);
Se (x > 0) Ento
contP contP + 1;
i i+1; {Incremento explcito da varivel contadora}
Fim Enquanto;
Escreva (positivos = +contP);
Fim.
Algoritmo ExemploParaFaaComRepita
Var x, i, contP: inteiro
Incio
contP 0; i 1;
Repita
Escreva(Digite um valor);
Leia (x);
Se (x > 0) Ento
contP contP + 1;
23
24
Comparando as Estruturas de
Repetio
Enquanto/Faca
Repita/Ate
Para/Faca
Tipo de
Estrutura
Condicional
Condicional
Contada
Ocorrncia do
Teste
Incio
Fim
Incio
Quantidade de
Repeties
0 ou muitas
Condio para
Repetir
tabuada de soma de 1 a 10
26
Algoritmo TabuadaSoma
Var r, n1, n2: inteiro
Incio
n1 1;
Enquanto (n1<
(n1<=10)
10) faa
Para n2 1 at 10 faa
r n1 + n2;
Escreva (n1, + ,n2, = ,r);
Fim Para
n1 n1+1;
Fim Enquanto
Fim.
27
Algoritmo TabuadaSomaComParidade
Var r, n1, n2: inteiro
Incio
n1 1;
Enq anto (n1<=10)
Enquanto
(n1< 10) faa
Para n2 1 at 10 faa
r n1 + n2;
Se (r mod 2 = 0)
Escreva (n1, + ,n2, = ,r, = Par);
Seno
Escreva (n1, + ,n2, = ,r, = Impar);
Fim Para
n1 n1+1;
Fim Enquanto
Fim.
28
Construo de
Algoritmos
Estruturas de Repetio
Reinaldo Gomes
reinaldo@cefet-al.br