Escolar Documentos
Profissional Documentos
Cultura Documentos
Tema
Estrutura de Repetio
Objetivos
O aluno dever ser capaz de:
Compreender a estrutura de repetio e suas
caractersticas;
Discernir quando uma estrutura de repetio deve
ser utilizada;
Criar algoritmos que se utilizem dessas estruturas.
06/05/2015
06/05/2015
Estrutura do Contedo
Contedos:
Desenvolver:
Definio da estrutura de repetio e suas caractersticas;
Utilizao dos operadores relacionais e dos operadores
lgicos nas condies para ocorrncia das repeties;
Utilizao da estrutura de repetio;
Apresentar o conceito do Teste de Mesa;
Desenvolvimento de algoritmos com uso de estruturas de
Repetio.
06/05/2015
Conceitos:
1. Estrutura de Repetio
Como o prprio nome apresenta, a estrutura de repetio permite
que o algoritmo repita determinada seqncia de comandos
(escopo), de acordo com um determinado critrio condicional.
Por exemplo, possvel criar um algoritmo com 100 comandos de
leitura de dados de entrada (comando leia) ou criar um algoritmo
que tenha somente um comando de entrada de dados e que este
seja repetido 100 vezes, dependendo da situao.
06/05/2015
06/05/2015
06/05/2015
06/05/2015
06/05/2015
06/05/2015
06/05/2015
06/05/2015
06/05/2015
10
06/05/2015
06/05/2015
11
12
06/05/2015
Como exemplo, observe o algoritmo abaixo que deve ler 10 nmeros, som-los e
apresentar o resultado da soma e a mdia.
Algoritmo
algoritmo "Repetio"
var
CONT : inteiro
NUM, SOMA, MEDIA : real
inicio
CONT <- 1
SOMA <- 0
MEDIA <- 0
enquanto (CONT <= 10) faca
escreva("Digite um nmero [", CONT, "]:")
leia (NUM)
SOMA <- SOMA + NUM
CONT <- CONT + 1
fimenquanto
MEDIA <- SOMA / (CONT-1)
escreval ("A soma total :", SOMA)
escreval ("A mdia :", MEDIA)
fimalgoritmo
06/05/2015
13
06/05/2015
14
06/05/2015
15
06/05/2015
16
06/05/2015
Observe o que deve ser feito para que o Teste de Mesa seja realizado
(vamos utilizar o algoritmo acima como exemplo):
Em primeiro lugar, crie uma tabela onde cada linha tenha o nome
de uma das variveis do algoritmo. Todas as variveis devem ser
colocadas na tabela. No exemplo: CONT, NUM, SOMA e MEDIA.
Observe que se a quantidade de vezes que se deseja repetir alta
voc pode reduzir para uma quantidade menor, alm de ser
possvel de ser testada em um tempo razovel. No exemplo, o
algoritmo pretende repetir as operaes 10 vezes, o que no to
grande, mas se fossem 100, 1000 ou mais vezes, poderamos
diminuir a quantidade para um valor menor, tal como, 4 ou 5
vezes, apenas para efeito de teste.
06/05/2015
17
18
06/05/2015
06/05/2015
19
20
10
06/05/2015
21
Sentinela - O uso da varivel Sentinela, identifica um determinado valor a ser indicado para o
trmino da repetio.
Exemplo:
escreva(Digite o nmero:?)
leia(NUM)
enquanto (NUM <> 0) faca
...
escreva(Digite o nmero:?)
leia(NUM)
fimenquanto
06/05/2015
22
11
06/05/2015
Critrio de Encerramento Uma varivel controla se os valores esto dentro de um critrio prestabelecido.
Exemplo 1 (temperaturas maiores do que -40 C E menores do que 100 C) :
escreva(Digite a temperatura:)
leia(TEMP)
enquanto (TEMP > -40 E TEMP < 100) faca
...
escreva(Digite a temperatura:)
leia(TEMP)
fimenquanto
Exemplo 2(nmero positivos) :
escreva(Digite o nmero:)
leia(NUM)
enquanto (NUM >= 0) faca
...
escreva(Digite o nmero:)
leia(NUM)
fimenquanto
06/05/2015
23
Exemplo prtico: Um algoritmo para receber uma quantidade de nmeros inteiros positivos diferentes
de zero e exibir a mdia e a soma dos nmeros digitados:
algoritmo "Repetio"
CONT
0
var
CONT : inteiro
NUM
0
NUM, SOMA, MEDIA : real
SOMA
0
inicio
CONT <- 0
MEDIA
0
SOMA <- 0
escreva("Digite um nmero positivo diferente de zero:")
leia (NUM)
enquanto (NUM > 0) faca
SOMA <- SOMA + NUM
CONT <- CONT + 1
escreva("Digite um nmero positivo diferente de zero:")
leia (NUM)
fimenquanto
MEDIA <- SOMA / (CONT)
escreval ("Soma:",SOMA)
escreval ("Mdia:",MEDIA)
Fimalgoritmo
//Obs: Os comandos sero repetidos at que seja digitado 0 ou nmero negativo.
06/05/2015
24
12
06/05/2015
Exerccios
1. Faa um algoritmo que solicite uma sequncia de 20 nmeros e
apresente a soma e a mdia dos nmeros digitados;
2. Faa um algoritmo que solicite um conjunto de nmeros at que
seja digitado 9999 e apresente a soma e a mdia dos nmeros
vlidos;
3. Faa um algoritmo que solicite um conjunto de temperaturas
entre -10C e 45C e apresente a soma e a mdia das
temperaturas vlidas, o programa deve encerrar quando for
digitada alguma temperatura invlida;
4. Faa um algoritmo que solicite um conjunto de temperaturas e
apresente a soma e a mdia das temperaturas, o programa deve
perguntar ao usurio se o mesmo deseja continuar ou no a cada
temperatura digitada.
06/05/2015
25
FIM da Aula 8
06/05/2015
26
13