Sie sind auf Seite 1von 26

UNIVERSIDADE FEDERAL DE

UBERLNDIA
ENGENHARIA CIVIL

Introduo Algoritmos

Professora: Fabola

AGENDA

Estruturas de repetio:
Comando

enquanto ... faa;


Comando faa ... enquanto;
Comando repita;
Comando para.

Introduo;

ESTRUTURAS DE REPETIO

Permite que uma sequncia de comandos seja executada


repetidamente, enquanto uma determinada condio
seja satisfeita.
Existem 2 tipos:
Condicional

repetio ocorre enquanto a condio


for verdadeira;

Ex.: ENQUANTO e REPITA.

Incondicional

repeties.

Ex.: PARA.

tem um nmero pr-determinado de

ESTRUTURAS DE REPETIO - COMANDO

ENQUANTO

Comando enquanto.
Linguagem Algortmica:

enquanto condio faa


comando-A1;
comando-A2;
...
...
comando-An;

fim-enquanto

ESTRUTURAS DE REPETIO COMANDO ENQUANTO

A condio testada no incio da repetio;


Enquanto

a condio for Verdadeira, o bloco de comandos


executado;

bloco de comandos pode ser executado 0 ou + vezes;

Para

a execuo quando a condio se tornar Falsa.

ESTRUTURAS DE REPETIO -

COMANDO ENQUANTO

Exemplo 1:

...
leia (SENHA);
enquanto (SENHA # XYZ) faa
escreva (Senha invlida);
escreva (Digite a senha novamente);
leia (SENHA);
fim-enquanto
...

Como o teste da condio realizado no incio do lao,


a sequncia de comandos ser executada zero ou mais
vezes, dependendo da avaliao da condio.

ESTRUTURAS DE REPETIO -

COMANDO ENQUANTO

Exemplo 2:

Algoritmo EXEMPLO_DE_ENQUANTO {escrever os nmeros inteiros de 1 a 100}


N : inteiro
incio
N <-1;
enquanto N 100 faa
escreva (N);
N <-(N + 1);
fim-enquanto
fim

O comando escreva ser executado repetidas vezes enquanto a varivel


N possuir um valor igual ou inferior a 100.
O algoritmo ter como sada a sequncia dos nmeros inteiros de 1 a
100.

ESTRUTURAS DE REPETIO COMANDO


ENQUANTO

Exemplo 3:

inicio
numero 1;
enquanto numero # 0 faa
escreva(o quadrado de, numero, : );
escreva(numero^2);
leia(numero);
fim-enquanto
escreva(FIM DO PROGRAMA);
fim

Algoritmo EXEMPLO_ENQUANTO {calculo do quadrado de um nmero}


numero : inteiro

ESTRUTURAS DE REPETIO COMANDO


ENQUANTO

Exemplo 4:

valor, soma: inteiro;

inicio

soma <- 0;
leia (valor);
enquanto valor # -1 faa
soma <- (soma + valor);
leia(valor);
fim-enquanto
escreva(O valor da soma : , soma );

fim

Algoritmo EXEMPLO_ENQUANTO {soma valores}

ESTRUTURAS DE
REPETIO
COMANDO
ENQUANTO
Exerccio:

um algoritmo para determinar o menor


nmero inteiro fornecido pelo usurio. Considere
que o nmero zero indica o fim da entrada de
dados.
2.Achar

o maior e o menor nmero de uma srie de


nmeros positivos fornecidos pelo usurio.

10

1.Elabore

ESTRUTURAS DE REPETIO
COMANDO FAA ... ENQUANTO

Sintaxe:

faa

enquanto <condio>;

Exemplo:

numero 1;
faa
escreva(o quadrado de , numero, : );
escreva(numero^2);
leia(numero);
enquanto numero 0;
escreva(FIM DO PROGRAMA);

11

comando-A1;
comando-A2;
...
...
comando-An;

ESTRUTURAS DE REPETIO
COMANDO REPITA
A condio testada no final da repetio;
Enquanto a condio for Falsa, o bloco de
comandos executado;

que condio uma expresso lgica


sempre testada ao final de cada interao!

O bloco de comandos executado pelo menos 1


vez.
Para a execuo quando a condio se tornar
Verdadeira.

12

Lembrando

ESTRUTURAS DE REPETIO
COMANDO REPITA-ATE

Sintaxe:
13

repita

comando-A1;
comando-A2;
...
...
comando-An;

ate <condio>

A1, A2, A3, ... , A4 sero executados pelo menos


uma vez.
At

que a condio seja testada e se torne ??

ESTRUTURAS DE REPETIO
COMANDO REPITA-ATE

Exemplo:

escreva(o quadrado de , numero, : );


escreva(numero^2);
leia(numero);

ate numero = 0
escreva(FIM DO PROGRAMA);

Neste caso calcularemos o quadrado do nmero


enquanto o usurio no entrar com um valor 0.
Mas

se ele entrar com 0 o que a algoritmo imprimir?

14

numero 1;
repita

ESTRUTURAS DE REPETIO
COMANDO REPITA-ATE

15

O comando repita-at equivalente ao comando


enquanto-faa, vejam:

REPETIO POR VARIVEL DE


CONTROLE

Nmero de repeties for previamente conhecido.

Uso de contador para controlar o nmero de repeties.

Contador: uma varivel do tipo inteiro.

Sintaxe do Comando:

para i de valor at l passo p faa


comando-C1;
comando-C2;
...
...
comando-An;

fim-para

OBS: Quando o passo p for =1 no


necessrio colocar essa esta
especificao

REPETIO POR VARIVEL DE


CONTROLE

Exemplo:

Algoritmo LAO_CONTADOR
NUM,SOMA,CONT : inteiro;

incio

SOMA <-0;
para CONT de 1 at 100 faa
leia (NUM);
SOMA <- (SOMA + NUM);
fim-para
escreva (SOMA);

fim
Fim_Algoritmo

REPETIO POR VARIVEL DE


CONTROLE

Tambm conhecido como Controle por Contador o comando


para , na verdade, o comando enquanto utilizando uma
varivel de controle em uma notao compacta.
Neste caso sempre existir uma inicializao de varivel de
controle
Um teste para verificar se a varivel atingiu o limite
E, ainda, um acrscimo na varivel de controle

REPETIO POR VARIVEL DE


CONTROLE
COMANDO PARA

Exemplos:

/* O que ser impresso?*/


para cont = 10 ate 1 passo -1 faa
escreva(O valor de cont , cont );
fim-para

19

para cont = 1 ate 9 passo 2 faa


escreva(O valor de cont , cont);
fim-para
Pergunta: O que ser impresso??

REPETIO POR VARIVEL DE


CONTROLE
Exerccio: PARA
COMANDO

--Faa um algoritmo que, sem utilizar o operador de


exponenciao, realize a operao X^Y, para qualquer X e
Y fornecido pelo usurio.
Reescreva o algoritmo acima,
estruturas de repetio.

utilizando

as

demais

20

-- Construa um algoritmo que calcule e imprima a somatria


de N nmeros (sendo N > 0). Considere como dados de
entrada a quantidade de nmeros a serem lidos e os
valores dos respectivos nmeros.

CONTROLE POR ENTRADA (FLAG)

Quando no conhecemos o nmero de repeties e este


for determinado por um valor que ser lido (flag);

devemos utilizar um controle de repeties por entrada,


tambm conhecido como controle por sentinela.

Exemplo: este algoritmo l um conjunto de nmeros


inteiros e exibe o valor mdio dos mesmos.

Obs: a condio de sada do lao ser a leitura do valor


0 (flag).

CONTROLE POR ENTRADA (FLAG)


Algoritmo LAO_COM_FLAG
NUM,CONT,SOMA,MEDIA : inteiro;

incio
SOMA <-0;
CONT <-0;

Sentinel
a

leia (NUM);
enquanto (NUM # 0) faa
SOMA <- (SOMA + NUM);
CONT <- (CONT + 1);

escreva(Entre com um valor ou entre com o sair e visualizar a media)


leia (NUM);

fim-enquanto
MEDIA <- (SOMA div CONT);

escreva (MEDIA);

fim
Fim_Algoritmo

Flag

EXERCCIOS
Qual a utilidade da estrutura de repetio?
Em que consiste o controle de repeties por contador?
Em que consiste o controle de repeties por flag?
Faa um algoritmo que mostre todos os nmeros inteiros
de 1 a 50.
Faa um algoritmo que mostre todos os nmeros inteiros
pares de 2 a 100.
Faa um algoritmo que gere a seguinte srie: 10, 20, 30,
40, ..., 990, 1000.
Escreva um algoritmo que leia trs nmeros e imprima o
maior deles.

EXERCCIOS

Faa o acompanhamento da execuo


algoritmo abaixo e preencha a Tabela
Variveis:

do
de

EXERCCIOS
Escreva um algoritmo que leia 10 nmeros e imprima
o maior deles.
Escreva um algoritmo que leia trs nmeros e os
imprima em ordem crescente.
Escreva um algoritmo que leia uma certa quantidade
de nmeros e imprima o maior deles e quantas vezes o
maior nmero foi lido. A quantidade de nmeros a
serem lidos deve ser fornecida pelo usurio. Assuma
que o usurio sempre fornecer um nmero positivo.

Das könnte Ihnen auch gefallen