Sunteți pe pagina 1din 32

Lgica de Programao

Estruturas de Controle Laos de Repetio

Prof. Vincius Breda

Laos de Repetio ou
Loopings

At agora foram estudadas as estruturas


linear e de desvio condicional, que nos
permitem criar um programa que
executado do incio ao fim linearmente ou
sendo capaz de traar diferentes rotas
baseado em decises.
Porm existem ocasies em que necessrio
efetuar a repetio de um trecho de
programa por um determinado nmero de
vezes. Para isso utilizamos os laos de
repetio, tambm chamados de loopings.

Laos de Repetio ou
Loopings

Os loopings so estruturas de controle que


permitem que um trecho do cdigo seja
executado repetidamente.
So usados quando um programa deve
executar uma tarefa por um determinado
nmero de vezes, ou at que alguma
condio seja satisfeita.
Ex: executar a mdia de todos os alunos de
uma escola; Apresentar um menu at que
alguma opo seja escolhida.

Laos de Repetio ou
Loopings

Imagine um programa que pea a leitura de


um valor para a varivel X, multiplique esse
valor por 3, e apresente a resposta na
varivel R, repetindo essa sequncia por
trs vezes.
Com o conhecimento obtido at agora, o
aluno iria escrever o mesmo trecho de
programa, repetindo-o pelo nmero de
vezes necessrias, como no exemplo a
seguir:

Laos de Repetio ou
Loopings
algoritmo Pede_numero
Incio
var inteiro X, R;
escreva(Digite o valor de X);
leia(X);
R = X * 3;
escreva(R);
escreva(Digite o valor de X);
leia(X);
R = X * 3;
escreva(R);
escreva(Digite o valor de X);
leia(X);
R = X * 3;
escreva(R);
Fim

Laos de Repetio ou
Loopings

Pode-se notar que isso no prtico, pois se


fossem necessrias 1000 repeties, o
programa ficaria enorme. Alm disso, esse
um caso simples, pois h situaes em
que no se sabe quantas vezes o cdigo
deve ser repetido.
Para contornar esses tipos de problemas,
sero apresentados trs estruturas de
looping.

Repetio do Tipo: Teste Lgico no


Incio do Looping - Enquanto

uma estrutura que efetua um teste lgico no


incio de um looping, verificando se
permitido executar o trecho de instrues
subordinado a esse looping.
Essa estrutura denominada de enquanto.

Repetio do Tipo: Teste Lgico no


Incio do Looping - Enquanto

Essa estrutura poder executar um


determinado conjunto de instrues
enquanto a condio verificada for
verdadeira. No momento em que essa
condio se torna falsa, o processamento
da rotina desviado para fora do looping.
Se a condio for falsa logo de incio, as
instrues contidas no looping so
ignoradas.

Looping - Enquanto
Diagrama de Blocos
Cuidado para no
confundir esta nova
estrutura com a
estrutura de deciso
usada anteriormente.
Aqui existe um
retorno condio
aps a execuo do
bloco de operaes,
at que a condio
se torne falsa.

Looping - Enquanto
Pseudocdigo
enquanto (<condio>) faa
<instrues executados dentro do looping>
fim_enquanto
<instrues aps sair do looping>

Looping - Enquanto
Exemplo
Agora faremos o exemplo dado no incio deste
matrial, mas utilizando a estrutura
enquanto:
Fazer um programa que faa a leitura de um
valor para a varivel X, multiplique esse valor
por 3, e apresente a resposta na varivel R,
repetindo essa sequncia por trs vezes.

Looping - Enquanto
Exemplo - Algoritmo
1 Criar uma varivel para servir como
contador com valor inicial 1;
2 Enquanto o valor do contador for menor ou
igual a 3, processar os passos 3, 4, 5 e 6;
3 Ler um valor para a varivel X;
4 Fazer R = X * 3;
5 Apresentar o valor de R;
6 Acrescentar +1 a varivel do contador,
definida no passo 1;
7 Quando o contador for maior que 3,
encerrar o processamento do looping.

Looping - Enquanto
Exemplo Diagrama de Blocos
Incio

Cont = 1
Cont <= 3

Digite um valor para X


X
R=X*3
Cont = Cont + 1

Fim

Looping - Enquanto
Exemplo Pseudocdigo
algoritmo Looping_enquanto
Incio
var inteiro cont, X, R;
enquanto ( cont <= 3 ) faa
escreva(Digite o valor de X);
leia(X);
R = X * 3;
escreva(R);
cont = cont + 1;
fim_enquanto
Fim

Looping - Enquanto
Exerccio
Fazer um programa que pea a leitura de um
valor para a varivel X, multiplique esse valor
por 3, e apresente a resposta na varivel R.
Esse processo deve ser executado enquato o
usurio desejar.
Utilizar a estrutura enquanto.

Repetio do Tipo: Teste Lgico no


Fim do Looping - Repita

uma estrutura que efetua um teste lgico no


fim de um looping, verificando se o trecho
de instrues subordinado ao looping deve
ser executado novamente.
Essa estrutura denominada de repita.

Repetio do Tipo: Teste Lgico no


Fim do Looping - Repita

A estrutura repita sempre ir processar o


conjunto de instrues no mnimo uma vez.
Para a estrutura repita, um conjunto de
instrues executado enquanto a
condio se mantm verdadeira.

Looping - Repita
Diagrama de Blocos

Instrues executadas
enquanto a condio
falsa

Condio
N

As instrues so
executadas e ento
a condio
verificada. Enquanto
a condio for
verdadeira, as
instrues sero
repetidas. Quando
for falsa, o programa
segue em frente.

Looping - Repita
Pseudocdigo
repita
<instrues executados dentro do looping>
enquanto (<condio>);
<instrues aps sair do looping>

Looping - Repita
Exemplo
Agora faremos o mesmo exemplo dado no
incio deste matrial, mas utilizando a
estrutura repita:
Fazer um programa que faa a leitura de um
valor para a varivel X, multiplique esse valor
por 3, e apresente a resposta na varivel R,
repetindo essa sequncia por trs vezes.

Looping - Repita
Exemplo - Algoritmo
1 Criar uma varivel para servir como
contador com valor inicial 1;
2 Ler um valor para a varivel X;
3 Fazer R = X * 3;
4 Apresentar o valor de R;
5 Acrescentar +1 a varivel contador,
definida no passo 1;
6 Repetir os passos 2, 3, 4 e 5 enquanto o
contador for menor ou igual a 3.

Looping - Repita
Exemplo Diagrama de Blocos
Incio

Cont = 1

Digite um valor para X


X
R=X*3

Cont <= 3
N

R
Fim
Cont = Cont + 1

Looping - Repita
Exemplo Pseudocdigo
algoritmo Looping_repita
Incio
var inteiro cont, X, R;
repita
escreva(Digite o valor de X);
leia(X);
R = X * 3;
escreva(R);
cont = cont + 1;
enquanto (cont <= 3);
Fim

Looping - Repita
Exerccio
Fazer um programa que pea a leitura de um
valor para a varivel X, multiplique esse valor
por 3, e apresente a resposta na varivel R.
Esse processo deve ser executado enquato o
usurio desejar. Utilizar a estrutura repita.

Repetio do Tipo: Varivel de


Controle - Para
Trata-se de uma estrutura feita para facilitar a
implementao de loopings em que se
exigem contadores.

Ou seja, uma estrutura especialmente


desenvolvida para loopings que possuem
um nmero finito de execues. Deixando
as estruturas do tipo enquanto e repita
para os loopings em que no se conhece de
antemo o nmeo de vezes que o looping
dever ser executado.

Essa estrutura denominada de para.

Repetio do Tipo: Varivel de


Controle - Para

A estrutura para tem o seu funcionamento


controlado por uma varivel denominada
contador. Sendo assim, poder executar um
determinado conjunto de instrues um
dterminado nmero de vezes.

Looping - Para
Diagrama de Blocos

var_contador =
valor_inicial,
Condio, Incremento

Instrues

A varivel var_contador
recebe o valor_inicial.
O looping executado
enquanto a condio
for verdadeira.
A cada execuo do
looping a varivel
var_contador
incrementada pelo
valor de Incremento.

Looping - Para
Pseudocdigo
para <varivel> = <valor_inicial>, <condio>,
<incremento> faa
<instrues executados dentro do looping>
fim_para
<instrues aps sair do looping>
Ex: Um looping que ser executado 10 vezes.
para cont = 1, cont <= 10, cont = cont + 1 faa
<instrues dentro do looping>
fim_para

Looping - Para
Exemplo
Agora faremos o mesmo exemplo dado no
incio deste matrial, mas utilizando a
estrutura para:
Fazer um programa que faa a leitura de um
valor para a varivel X, multiplique esse valor
por 3, e apresente a resposta na varivel R,
repetindo essa sequncia por trs vezes.

Looping - Para
Exemplo - Algoritmo
1 Definir um contador variando de 1 a 3;
2 Ler um valor para a varivel X;
3 Fazer R = X * 3;
4 Apresentar o valor de R;
5 Repetir os passos 2, 3, e 4 at que o
contador seja encerrado.

Looping - Para
Exemplo Diagrama de Blocos
Incio
cont = 1, cont <=3,
cont = cont + 1

Digite um valor para X


X
R=X*3
R

Fim

Looping - Para
Exemplo Pseudocdigo
algoritmo Looping_para
Incio
var inteiro count, X, R;
para cont = 1, cont <= 3, cont = cont + 1 faa
escreva(Digite o valor de X);
leia(X);
R = X * 3;
escreva(R);
fim_para
Fim

S-ar putea să vă placă și