Vous êtes sur la page 1sur 15

UNIVERSIDADE FEDERAL RURAL DO SEMI-RIDO

CURSO: Bacharelado em Cincias e Tecnologia

INFORMTICA APLICADA
AULA 06 ALGORITMOS

Prof Danielle Casillo


Aula 06 - Algoritmos

COMANDO ENQUANTO ... FACA

 Na estrutura enquanto ... faca,


faca a expresso lgica
avaliada e, se ela for verdadeira,
verdadeira a lista de
comandos executada. Isso se repete at que a
condio seja falsa. Veja a sua forma geral:

enquanto <expresso lgica ou relacional> faca


<lista de comandos>
fimenquanto

2
Aula 06 - Algoritmos

COMANDO ENQUANTO ... FACA

 A estrutura enquanto ... faca tambm uma


estrutura de repetio, semelhante repita. A
diferena bsica entre as duas estruturas a
posio onde testada a expresso.

 Na estrutura repita, a condio avaliada aps a


execuo dos comandos, o que garante que os
comandos sero executados pelo menos uma vez.

3
Aula 06 - Algoritmos

COMANDO ENQUANTO ... FACA

 Na estrutura enquanto, a expresso avaliada no


incio e se o resultado for FALSO no primeiro teste,
a lista de comandos no executada nenhuma
vez.

 Essa diferena faz com que em determinadas


situaes o uso de uma estrutura seja mais
vantajoso que o uso da outra.

4
Aula 06 - Algoritmos

COMANDO ENQUANTO ... FACA

 O exemplo a seguir, onde so mostradas duas


solues para um mesmo problema, ilustra essa
diferena:

5
Aula 06 - Algoritmos

COMANDO ENQUANTO ... FACA


 Algoritmo que l diversos nmeros positivos e
escreve, para cada um, sua raiz quadrada.

algoritmo "com_repita" algoritmo "com_enquanto"


var var
i: real i: real
inicio inicio
repita enquanto i >= 0 faca
escreva ("Digite o valor de i: ") escreva ("Digite o valor de i: ")
leia (i) leia (i)
escreval (raizq (i)) escreval (raizq (i))
ate i <= 0 fimenquanto
fimalgoritmo fimalgoritmo
6
Aula 06 - Algoritmos

COMANDO ENQUANTO ... FACA


 Exemplo: com o comando enquanto ... faca
algoritmo "enquanto" Fluxograma
var inicio
x, y: real
inicio x, y
x <- 1
x <- 1, y <- 5
y <- 5
enquanto x < y faca x<y
x <- x + 2 no sim
y <- y + 1 x <- x + 2
escreval (x, y) y <- y + 1
fimenquanto
x, y
fimalgoritmo
fim
7
Aula 06 - Algoritmos

COMANDO PARA ... FACA

 O comando para ... faca tambm permite a


descrio, dentro de um algoritmo, de uma
estrutura de repetio. Sua forma geral :

para <varivel de controle> de <valor inicial> ate


<valor final> passo <incremento> faca
<lista de comandos>
fimpara

8
Aula 06 - Algoritmos

COMANDO PARA ... FACA

 Na estrutura para ... faca, a varivel de controle


inicializada com <valor inicial> e no incio de cada
iterao, seu valor comparado com <valor final>.
final>

 Se o valor da varivel for menor ou igual a <valor


final>,
final> a lista de comandos executada e aps ser
executado o ltimo comando da lista, a varivel de
controle incrementada.

9
Aula 06 - Algoritmos

COMANDO PARA ... FACA


 Isto repete-se at que o valor da varivel de
controle seja maior que <valor final>,
final> quando
ento executado o comando imediatamente
aps a palavra fimpara.
fimpara.

 A instruo passo necessria se o incremento


for diferente de 1.

10
Aula 06 - Algoritmos

COMANDO PARA ... FACA

Exemplo: Um algoritmo que l escreve os nmeros


mpares de 1 a 1000.

algoritmo "nmeros_mpares"
var
i: inteiro
inicio
para i de 1 ate 1000 passo 2 faca // Incrementa i de 2 em 2
escreval (i)
fimpara
fimalgoritmo

11
Aula 06 - Algoritmos

COMANDO PARA ... FACA

 A estrutura para ... faca uma estrutura de


repetio mais completa que as anteriores, pois
ela incorpora a inicializao, incremento e teste de
valor final da varivel de controle.

 preferencialmente utilizada em situaes em


que sabe-se previamente o nmero de repeties
a serem feitas.

12
Aula 06 - Algoritmos

COMANDO PARA ... FACA


 Exemplo: Algoritmo que l 5 nmeros e escreve
todos os que forem positivos. Faa o fluxograma.
algoritmo "nmeros_positivos" Descrio Narrativa
var
i, numero: inteiro 1. Recebe um nmero i
inicio 2. Testa se i <= 5
para i de 1 ate 5 passo 1 faca 3. Se no termina
escreva ("Digite um numero ")
4. Se sim,
sim testa se i
leia (numero)
maior que 0
se numero > 0 entao
escreval (numero) 5. Se sim escreve i
fimse 6. Se no pede para
fimpara digitar outro nmero
fimalgoritmo 13
Aula 06 - Algoritmos

COMANDO PARA ... FACA


 Exemplo: Algoritmo que l um nmero N e
escreve todos os nmeros de 1 a N.

algoritmo "ler e escreve nmeros" Fluxograma


var
i, N: inteiro inicio
inicio i, N
escreva ("Digite um nmero: ")
leia (N) i <= N
para i de 1 ate N faca sim
no
escreva (i) N
fimpara
fimalgoritmo fim

14
Aula 06 - Algoritmos

COMANDO PARA ... FACA


 Vale observar que, como nesse algoritmo lido
apenas um nmero, sua leitura deve ser feita fora
da estrutura de repetio. Note que no possui a
sintaxe passo, pois o passo +1 definido como
padro.

 Observao:
Observao: O valor i e N do exemplo anterior tem
que ser inteiro, pois se for declarado como um
valor real ou numrico o algoritmo retornara com
um erro de sintaxe.
15