Buscar

ALGORITMO Repeticao

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 13 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 13 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 13 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

Algoritmos e Estruturas de Dados I
1
Algoritmos e 
Estruturas de Dados I
Algoritmos com Repetição
Profa. Márcia Cristina Moraes
Profa. Milene Selbach Silveira
Prof. Iara C. de Almeida
Material para estudo:
Forbellone, A. e Eberspächer, H. (2005) 
� capítulo 3 (estrutura de repetição)
� a sintaxe utilizada em nossos algoritmos será diferenciada 
em alguns poucos detalhes, mas a lógica é a mesma
Calcular média das notas de aluno
Algoritmo Média
inteiro: num
real: n1, n2, n3, m
Início
escreva(“Informe seu número de matrícula e suas três notas”)
leia(num, n1, n2, n3)
m ←(n1 + n2 + n3)/3
escreva(“Média = ”, m)
Fim
Como calcular a média das notas de 30 alunos ?
Solução simplista: executar 30 vezes este algoritmo
Solução correta: trabalhar com algoritmo de repetição!
Algoritmos e Estruturas de Dados I
2
Algoritmos com Repetição
� Algoritmos que repetem uma ou mais 
instruções.
� Todo o algoritmo que tem a execução de um 
ou mais de seus passos repetido duas ou 
mais vezes é denominado de algoritmo de 
repetição (Orth, 2001).
Algoritmo com Repetição -
Enquanto
� Sempre que quisermos realizar uma 
instrução ou uma sequência de instruções 
mais de uma vez, necessitamos de uma 
instrução de repetição.
Sequência de Instruções: 
1 ou mais instruções quaisquer
Enquanto <condição> faça
Início
<sequencia de instruções>
Fim
Algoritmos e Estruturas de Dados I
3
� Também é preciso uma variável que conte
quantas vezes é executada a “sequência de 
passos” que se pretende repetir
� Esta variável contador deve
� receber um valor inicial,
� ser incrementada sempre que “a sequência de 
passos foi repetida”, e
� ser comparada ao valor final
Algoritmo com Repetição
Variável Contador
� Também é preciso uma variável que conte
quantas vezes é executada a “sequência de 
passos” que se pretende repetir
� Esta variável contador deve
� receber um valor inicial �permite iniciar a contagem
� ser incrementada sempre que “a sequência de 
passos foi repetida” � permite contar n vezes
� ser comparada ao valor final � permite finalizar a 
contagem
Algoritmo com Repetição
Variável Contador
Algoritmos e Estruturas de Dados I
4
Exemplo
Algoritmo Média
inteiro: num, cont
real: n1, n2, n3, m
Início
cont � 0 {inicialização do contador}
enquanto (cont < 30) faça
Início
escreva (“Informe seu número de matrícula e suas três notas”)
leia(num, n1, n2, n3)
m � (n1 + n2 + n3)/3
escreva(“Média = ”, m)
cont � cont + 1 {incremento do contador}
Fim
Fim
Exercício 1
� Faça um algoritmo que leia 20 pares de 
valores a e b, e para cada par de valores 
lido escreve qual é o maior valor.
SUGESTÃO 
(1) especificar um algoritmo para determinar o maior de 
um par de valores
… e, só depois, 
(2) verificar o que é preciso para repetir 20 vezes os 
passos definidos em (1)
Algoritmos e Estruturas de Dados I
5
Exercício 2
� Escreva um algoritmo que lê um número
inteiro n. Calcule e escreva a tabuada (de
1 a 10) deste número
� No exemplo anterior, caso se queira saber ao final a 
média geral desta turma, deve-se se utilizar o conceito 
de variável acumulador.
� Variável acumulador é qualquer variável que recebe 
um valor inicial constante e é incrementada em algum 
outro ponto do algoritmo de um valor variável.
soma � 0
....
...
soma � soma + valor
Exemplo:
Inicialização da variável acumulador
Incremento da variável acumulador de
um valor variável
Algoritmo com Repetição
Variável Acumulador
Algoritmos e Estruturas de Dados I
6
Exemplo
Algoritmo MédiaGeral
inteiro: num, cont
real: n1, n2, n3, m, mg, soma
Início
cont � 0 {inicialização do contador}
soma � 0 {inicialização do acumulador}
enquanto (cont < 30) faça
Início
escreva(“Informe seu número de matrícula e suas três notas”) 
leia(num, n1, n2, n3)
m � (n1 + n2 + n3)/3
escreva(“Média = “, m)
soma � soma + m {incremento do acumulador}
cont � cont + 1 {incremento do contador}
Fim 
mg � soma/30 {calcula média DEPOIS do laço}
escreva(“Media Geral = “, mg)
Fim
Exercício 3
� Escrever um algoritmo que lê o código e o 
valor de 25 produtos e calcula e apresenta o 
valor total a ser pago por eles.
Algoritmos e Estruturas de Dados I
7
Exercício 4
� Escrever um algoritmo que lê um número n e 
calcula o somatório de n. Por exemplo:
S = 1 + 2 + 3 + 4 + ... + n. 
Ao final do cálculo, escrever o valor do 
somatório calculado.
Algoritmo com Repetição –
Enquanto com número desconhecido 
de repetições
� No exemplo anterior sabíamos exatamente o 
número de vezes que o laço de repetição 
deveria ocorrer, mas existem casos em que o 
número de repetição pode estar 
condicionado a um valor de entrada.
� Por exemplo: ler um conjunto não 
determinado de números de alunos. O 
algoritmo deve parar quando o número do 
aluno for um número negativo.
Algoritmos e Estruturas de Dados I
8
Algoritmo MédiaGeralCondicional
inteiro: num, cont
real: n1, n2, n3, m, mg, soma
Início
soma � 0 {inicialização do acumulador}
cont � 0 {inicialização do contador}
escreva(“Informe seu número de matrícula”) 
leia(num) {leitura da matrícula do aluno ANTES}
enquanto (num > 0) faça {número de aluno válido? Continua!}
Início
escreva(“Informe suas três notas”) 
leia(n1,n2,n3)
m � (n1 + n2 + n3)/3
escreva(“Média = “, m)
soma � soma + m {incremento do acumulador}
cont � cont + 1 {incremento do contador}
escreva(“Informe seu número de matrícula”) 
leia(num) {novo aluno}
Fim 
mg � soma/cont
escreva(“Media Geral = “, mg)
Fim
Exemplo
Comparação dos Algoritmos
Enquanto Contado Enquanto Condicional
Algoritmo MédiaGeralCONTADA
inteiro: num, cont
real: n1, n2, n3, m, mg, soma
Início
cont � 0
soma � 0 
enquanto (cont < 30) faça
Início
escreva(“Informe....”) 
leia(num, n1, n2, n3)
m � (n1 + n2 + n3)/3
escreva(“Média = “, m)
soma � soma + m
cont � cont + 1
Fim
mg � soma/30
escreva(“Media Geral = “, mg)
Fim
Algoritmo MédiaGeralCONDICIONAL
inteiro: num, cont
real: n1, n2, n3, m, mg, soma
Início
soma � 0
cont � 0
escreva(“Informe seu número...”) 
leia(num)
enquanto (num > 0) faça
Início
escreva(“Informe... notas”) 
leia(n1,n2,n3)
m � (n1 + n2 + n3)/3
escreva(“Média = “, m)
soma � soma + m
cont � cont + 1
escreva(“Informe seu número...”) 
leia(num)
Fim 
mg � soma/cont
escreva(“Media Geral = “, mg)
Fim
Algoritmos e Estruturas de Dados I
9
Exercício 5
� Faça um algoritmo que lê uma quantidade 
não determinada de valores e verifica qual o 
maior e qual o menor valor digitados. O 
algoritmo pára quando for digitado o valor 0 
(zero).
Algoritmo com Repetição -
Para
� Outra forma de repetição…
Para variável de Exp1 até Exp2 [passo Exp3]
Início
<instruções>
Fim
� Variável: variável de controle
� Exp1, Exp2, Exp3 são constantes ou expressões aritméticas
� Exp1 representa o valor inicial
� Exp2 representa o valor final
� Exp3 representa o valor a ser incrementado a cada iteração. Se não for especificado 
este item, assume-se o valor 1
Algoritmos e Estruturas de Dados I
10
Algoritmo com Repetição -
Para
� Na instrução “Para” ocorrem 3 passos:
1) inicialização da variável de controle com o 
valor inicial igual a Exp1
2) um teste que verifica se o valor da variável 
de controle já ultrapassou o seu valor final 
indicado em Exp2 
3) a cada nova repetição ocorrerá um 
incremento da variável de controle de um 
valor igual ao que esta estabelecido em Exp3 
ou de 1 caso não tenha esta especificação
Exemplos
Para i de 1 até 5
Início
Instruções
Fim
A cada repetição ocorre o incremento de 1 na
variável i
Para x de a até b passo 2
Início
Instruções
Fim
Para i de n até 1 passo -1 
Início
Instruções
Fim
Quando o incremento é negativo o 
testeé sempre se o valor da 
variável é menor do que o valor 
final especificado
A cada repetição ocorre o incremento 
de 2 na variável x
Algoritmos e Estruturas de Dados I
11
Exemplo
Algoritmo MédiaGeralPARA
inteiro: num, cont
real: n1, n2, n3, m, mg, soma
Início
soma � 0
Para cont de 1 até 30
Início
escreva(“Informe...”) 
leia(num, n1, n2, n3)
m � (n1 + n2 + n3)/3
escreva(“Média = “, m)
soma � soma + m
Fim
mg � soma/30
escrever(“Media Geral = “, mg)
Fim
Qual o valor de cont
após o laço de 
repetição?
Exercício 
� Modifique os exercícios 1, 2 e 3 para que 
eles sejam realizados com a instrução Para.
Algoritmos e Estruturas de Dados I
12
Algoritmo com Repetição -
Repita
� Além do “Enquanto” e do “Para” podemos
ainda usar o “Repita”
Repita
Inicio
<instruções>
Fim
até <condição>
Exemplo
Algoritmo MédiaGeralPARA
inteiro: num, cont
real: n1, n2, n3, m, mg, soma
Início
cont � 0
soma � 0
Repita
Inicio
escreva(“Informe...”)
leia(num, n1, n2, n3)
m � (n1 + n2 + n3)/3
escreva(“Média = “, m)
soma � soma + m
cont� cont + 1
Fim
Até cont == 30
mg � soma/30
escrever(“Media Geral = “, mg)
Fim
Enquanto Contado
Algoritmo MédiaGeralCONTADA
inteiro: num, cont
real: n1, n2, n3, m, mg, soma
Início
cont � 0
soma � 0 
Enquanto (cont < 30) faça
Início
escreva(“Informe....”) 
leia(num, n1, n2, n3)
m � (n1 + n2 + n3)/3
escreva(“Média = “, m)
soma � soma + m
cont � cont + 1
Fim 
mg � soma/30
escreva(“Media Geral = “, mg)
Fim
Repita
Algoritmos e Estruturas de Dados I
13
Bibliografia
� Orth, Afonso Inácio. Algoritmos e 
Programação. Editora AIO. 2001.
� Forbellone, A. e Eberspacher, H. Lógica 
de Programação: A Construção de 
Algoritmos e Estruturas de Dados. 
Makron Books, São Paulo, 3ª edição. 
2005.

Continue navegando