Buscar

AulaVIII-LOGICAPROGRAMACAO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 11 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Estruturas de Repetição
Curso de Redes de Computadores 
Faculdade FIB
Prof. Rosemary Silveira
-2010-
Lógica de Programação
Estrutura de Repetição
• O algoritmo ao lado só é 
realizado uma vez e para um 
único aluno. 
• Se fosse necessário calcular 
esta mesma média para vários 
alunos, este trecho de código 
teria que ser repetido para cada 
média de aluno a ser calculada.
• A esses trechos do algoritmo que 
são repetidos damos o nome de 
laços de repetição (o número 
de repetições pode ser 
indeterminado, porém 
necessariamente finito).
Ex1.: Exemplo no Visualg
algoritmo "Media"
var n1, n2, n3, n4, md: real
inicio
leia(n1, n2, n3, n4)
md <- (n1 + n2 + n3 + n4)/4
escreva(md)
fimalgoritmo
Estrutura de Repetição
Repetição com teste no início
• Estrutura que permite repetir 
diversas vezes um mesmo 
trecho de algoritmo, verificando 
antes de cada execução se é 
‘permitido’ executar o mesmo 
trecho.
Representação:
Enquanto <condição> faça
c1;
c2;
:
cn
fimenquanto
Ex2.: Cálculo da Média para 50 alunos
Algoritmo “MediaRepeticao”
var nt1, nt2, md: real
cont: inteiro
Inicio
cont<- 1
enquanto (cont <= 50) faca
leia(nt1, nt2)
md <- (nt1 + nt2)/2
escreval(md)
cont<- cont + 1
fimenquanto
fimalgoritmo
Estrutura de Repetição
Funcionamento:
• Executa comando(s) enquanto uma 
determinada <condição> for verdadeira.
• Quando o resultado da <condição> for
falso, o comando de repetição será 
abandonado.
• Se da primeira vez o resultado é falso, os 
comandos não são executados nenhuma 
vez (característica principal deste modelo 
de repetição).
Importante:
• No exemplo ao lado foi utilizado um 
contador para controlar a quantidade de 
alunos lidos.
• Contador representa uma variável com 
um dado valor inicial, o qual é 
incrementado a cada repetição, este valor 
adicionado é sempre constante.
Ex2.: Cálculo da Média para 50 alunos.
Algoritmo “MediaRepeticao”
var nt1, nt2, md: real;
cont: inteiro;
Inicio
cont <- 1
enquanto (cont <= 50) faca
leia(nt1, nt2)
md <- nt1 + nt2/2
escreva(md)
cont<- cont + 1
fimenquanto
fimalgoritmo
Estrutura de Repetição
Comentários sobre o exemplo:
• Para calcular a média geral da turma 
teria que se utilizar a expressão 
gigante abaixo, que na prática é 
inviável:
(m1 + m2 + m3 + ...+ m50)/50
• Para solucionar este problema 
utilizou-se uma variável do tipo 
acumulador.
• Acumulador é uma variável que 
acumula os valores somados a cada 
repetição e estes valores podem 
variar. 
• Para o exemplo ao lado foi 
necessário acumular o valor da 
média dos alunos lidas. Após o 
término da repetição, obtém-se a 
soma de todas as médias nesta 
variável de acumulação.
Ex3.: Cálculo da Média geral de 50 
alunos
Algoritmo “MediaGeralRepeticao”
var mda, mdt, somamd: real
cont: inteiro;
Inicio
cont<- 0
somamd <- 0
enquanto (cont < 50) faca
leia(mda)
somamd <- somamd + mda
cont<- cont + 1
fimenquanto
mdt <- somamd/cont
escreva(mdt) 
fimalgoritmo
Estrutura de Repetição
Comentários sobre o exemplo:
• O exemplo no slide anterior utiliza o 
pré-conhecimento da quantidade de 
alunos da turma.
• Se não tivesse este pré-
conhecimento da quantidade de 
alunos, seria necessário definir outro 
critério para controlar o laço.
• Uma alternativa para isto seria 
utilizar um valor pré-definido como 
finalizador, a ser informado após a 
última média informada.
ex.: finalizador com o valor -1
Ex3.: Cálculo da Média geral de 50 
Alunos
Algoritmo “MediaGeralRepFin”
var mda, mdt, somamd: real
cont: inteiro
Inicio
cont<- 0
somamd <- 0
leia(mda)
enquanto (mda <> -1) faca
somamd <- somamd + mda
cont<- cont + 1
leia(mda)
fimenquanto
se (cont <> 0) entao
mdt <- somamd/cont
escreva(mdt) 
fimse
fimalgoritmo
Estrutura de Repetição
Exercício de Fixação:
1) Construa um algoritmo que calcule a média aritmética de um conjunto de números 
pares informados pelo usuário. O valor de finalização será a entrada do número 
zero. Observe que nada impede que o usuário forneça quantos números ímpares 
quiser, com a ressalva de que eles não poderão ser acumulados.
Estrutura de Repetição
Repetição com teste no final
• Estrutura que permite que um bloco 
de comandos seja repetido até que 
uma determinada <condição> seja 
verdadeira.
• A inspeção da condição é feita após 
a execução do bloco.
• O bloco de comando(s) é executado 
pelo menos uma vez, independente 
da condição.
• A condição do repita corresponde a 
negação do enquanto.
Representação:
Repita
c1;
c2;
:
cn
ate <condicao>
Ex1.: Cálculo da Média para 50 alunos
Algoritmo “MediaRepeticaoFinal”
var nt1, nt2, md: real
cont: inteiro
Inicio
cont<- 1
repita
leia(nt1, nt2)
md <- (nt1 + nt2)/2
escreval(md)
cont<- cont + 1
ate (cont > 50)
fimalgoritmo
Estrutura de Repetição
Ex2.: Calcule a soma dos números informados menores que vinte, até que seja informado 
um valor maior ou igual a 20. No final, informe a soma dos números lidos
Algoritmo “SomaValores”
var valor, soma: inteiro
Inicio
soma <- 0
repita
leia(valor)
se (valor < 20) entao
soma<- soma + valor
fimse
ate (valor >= 20)
escreva(soma)
fimalgoritmo
Estrutura de Repetição
Exercício de Fixação:
1) Tem-se um conjunto de dados contendo a altura e sexo (masculino, feminino) de 
50 pessoas. Fazer um algoritmo que calcule e escreva:
a) A maior e menor altura do grupo;
b) A média de altura das mulheres;
c) O número de homens.
Estrutura de Repetição
Exercício de Fixação:
2) Uma pesquisa sobre algumas características físicas da população de uma 
determinada região coletou os seguintes dados, referentes a cada habitante, para 
serem analisados:
• sexo (masculino, feminino)
• cor dos olhos (azuis, verde, castanhos)
• cor dos cabelos (louros, castanhos, pretos)
• Idade em anos.
Para cada habitante, foi digitada uma linha com esses dados e a última linha, que 
não corresponde a ninguém, conterá o valor de idade igual a -1.
Fazer um algoritmo que determine e escreva:
• a maior idade dos habitantes;
• a porcentagem de indivíduos do sexo feminino cuja idade está entre 18 e 
35 inclusive e que tenham olhos verdes e cabelos louros.

Outros materiais