Buscar

Unidade III Estrtuturas de repetição

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

Técnicas de 
Programação 
Material Teórico
Responsável pelo Conteúdo:
Prof. Esp. Margarete Eliane da Silva Almendro
Revisão Técnica:
Prof. Me. Douglas Almendro
Revisão Textual:
Prof.a Me. Selma Aparecida Cesarin
Estruturas de Repetição
5
• Estruturas de Repetição
• Agrupando comandos
Nesta Unidade, o aluno terá uma visão do que vem a ser estrutura de 
repetição e aplicação na programação bem como suas facetas para entender 
a resolução de problemas computacionais.
Olá, alunos(as)!
Hoje veremos alguns assuntos introdutórios na nossa Disciplina e aproveito para apresentar 
alguns conceitos que utilizaremos na estrutura de todas as nossas unidades.
Para obter um bom aproveitamento, vamos conferir a estrutura desta Unidade:
Atividade de Sistematização: os exercícios disponibilizados são de autocorreção e 
objetivam que você pratique o que aprendeu na Disciplina e a que identifique os pontos aos 
quais precisa prestar mais atenção ou sobre os quais necessita pedir esclarecimentos a seu 
tutor. Além disso, a esses exercícios serão atribuídas notas que farão parte de sua média final 
na Disciplina;
Atividade de Aprofundamento: é uma atividade dissertativa ou de pesquisa;
Material Complementar e Referências Bibliográficas: nestes links, você receberá 
sugestões de leitura ou de mídias por meio das quais você poderá ampliar seus conhecimentos;
Videoaula: aqui serão apresentadas algumas ferramentas na prática e também a resolução 
de alguns exercícios de forma prática. 
Lembramos a você a importância de realizar todas as atividades propostas dentro do prazo 
estabelecido para cada Unidade. Dessa forma, você evitará que o conteúdo se acumule e que 
tenha problemas ao final do semestre.
Uma última recomendação, caso tenha problemas para acessar algum item da disciplina ou 
dúvidas com relação ao conteúdo, não deixe de entrar em contato com seu professor tutor por 
meio do botão mensagens ou nos fóruns.
Bom estudo!
Estruturas de Repetição
6
Unidade: Estruturas de Repetição
Contextualização
Em algumas situações, perceberemos que os códigos desenvolvidos se repetirão, mas, não 
se preocupem, isso é normal. Para solucionarmos esses problemas, utilizaremos recursos da 
lógica de programação chamados de malhas ou repetições.
As estruturas de repetições são conhecidas como estrutura enquanto... faça... fim enquanto 
tem o seu funcionamento controlado por decisão, as estruturas de repetição são utilizadas 
para executar repetidamente uma instrução ou um bloco de instruções enquanto determinada 
condição for verdadeira.
Com as malhas ou repetições podemos utilizar o mesmo trecho de código, executando-o 
quantas vezes forem necessárias.
7
Estruturas de Repetição
As estruturas de repetição são também conhecidas como laços (loop). Em algumas 
circunstâncias, é necessária a repetição de um trecho do programa algumas quantidades de 
vezes. Sendo assim, deverá ser criado um laço que repita o processamento n vezes quantas 
forem necessárias. 
A estrutura enquanto... faça... fim_enquanto tem o seu funcionamento controlado por 
decisão. É muito parecido com a estrutura de decisão vista anteriormente.
As estruturas de repetição são utilizadas para executar repetidamente uma instrução ou um 
bloco de instruções enquanto determinada condição for verdadeira.
Temos três tipos:
Pseudocódigo Java
para for
enquanto while
faça...enquanto do while
Para determinarmos qual é a estrutura mais adequada, devemos saber:
• O número de vezes que o trecho programa vai ser executado → laços contados; ou 
• A condição para que ela aconteça → laços condicionais.
Laços contados
Auxílio de um contador, que auxiliará no laço. Este possibilita a repetição da estrutura até 
que o contador atinja o limite estipulado na condição.
Laços condicionais
 O valor é desconhecido e devemos utilizar uma variável com valor pré-definido em uma 
condição dentro do laço para finalizarmos a repetição
Independente do tipo de laço, todos são constituídos por três partes:
• Inicialização(ões) da(s) variável(is) de controle;
• Condição(ões);
• Atualização da(s) variável(is) de controle.
8
Unidade: Estruturas de Repetição
Para sabermos quando utilizar uma estrutura de repetição, basta analisarmos se uma 
instrução ou uma sequência de instruções precisa ser executada várias vezes. Se isto se 
confirmar, então se deve utilizar uma estrutura de repetição. As estruturas de repetição, assim 
como a de decisão (seleção), envolvem a avaliação de uma condição (teste). 
Então, as estruturas de repetição permitem que um trecho do algoritmo (conjunto de 
instruções) seja repetido um número determinado (ou indeterminado) de vezes, sem que o código 
correspondente, ou seja, as instruções a serem repetidas, tenha de ser escrito mais de uma vez.
A estrutura de repetição é uma estrutura de desvio do fluxo de controle presente em todas 
as linguagens de programação que a princípio realiza e/ou repete diferentes algoritmos/ações 
dependendo se uma condição é verdadeira ou falsa, em que a expressão é processada e 
transformada em um valor booleano.
Está associada diretamente a uma estrutura de repetição uma condição (também chamada 
“expressão de controle” ou “condição de parada”) e um bloco de código: verifica-se a condição, 
e caso seja verdadeira, o bloco é executado. Após o final da execução do bloco, a condição 
é verificada novamente e, caso ela ainda seja verdadeira, o código é executado novamente.
Devemos observar que, caso o bloco escolhido nunca modifique o estado da condição, a 
estrutura será executada infinitamente, uma situação chamada laço infinito. Da mesma forma, 
é possível especificar uma estrutura em que o bloco de código modifica o estado da condição, 
mas esta é sempre verdadeira.
Algumas linguagens de programação especificam ainda uma palavra reservada para 
sair “break go to” da estrutura de repetição de dentro do bloco de código, “quebrando” a 
estrutura. Também é oferecido por algumas linguagens uma palavra reservada para terminar 
uma iteração específica do bloco de código, forçando nova verificação da condição no laço.
É compacta pois a inicialização, condição e atualização estão reunidas na declaração do laço.
Pseudocódigo:
para (inicialização; condição; atualização)
 instruções
fim para
Java
for (inicialização; condição; atualização) 
{
 instruções;}
Utiliza uma variável inteira para controlar o número de vezes que se deve repetir a execução 
das instruções → laço contado.
É inicializada com um valor qualquer e é incrementada ou decrementada a cada iteração.
9
A condição geralmente verifica se essa variável já chegou em determinado valor para decidir 
se o laço deve ser encerrado.
Vamos fazer um exemplo!
Algoritmo Tabuada
inteiro numero, i
início
escreva (“Entre com o número:”)
leia (numero)
para (i=0; i<=10; i++)
escreva ( numero* i )
fim para
fim
Em Java
10
Unidade: Estruturas de Repetição
Percebam que a mensagem da tabuada estará aparecendo 11 vezes, pois nós estamos 
inicializando a variável de controle em 0, que estará exibindo desde a multiplicação do 0 até o 
10 (estamos incluindo o zero).
No caso do Java, estamos usando o comando no modo console e não com o visual do 
JOptionPane. 
Vamos fazer outro exemplo!
Prestar atenção ao enunciado! 
Faça um algoritmo que calcula e mostra a soma de 10 números reais digitados pelo usuário. 
Use a estrutura de repetição para.
Algoritmo Somatório
real n1, soma
inteiro i
início
soma=0
para (i=1;i<=10;i++)
escreva (“Digite um número: ”)
leia (n1)
soma=soma+n1
fim para
escreva (“A somatória é: “ + soma)
fim
 Algoritmo Somatório
 real n1, soma
 inteiro i
início
 soma=0
 para (i=1;i<=10;i++)
 escreva (“Digite um número: ”)
 leia (n1)
 soma=soma+n1
 fim para
 escreva (“A somatória é: “ + soma)
 fim
Acumulador
11
Em Java
 
Estrutura enquanto (while)
Estrutura utilizada tanto para laços contados quanto para os laços condicionais, possui e a 
seguinte sintaxe:Pseudocódigo:
{iniciar a variável de controle}
enquanto (condição for verdadeira)
 {instruções}
 {atualizar a variável de controle}
fim enquanto 
Java
{iniciar a variável de controle}
while (condição for verdadeira){ 
 {instruções}
 {atualizar a variável de controle}
}
Instrução que modifica o 
estado de algum elemento 
utilizado na condição.
Nestes casos de laços 
de repetição, as chaves 
identificarão o início e o 
fim do bloco a ser repetido.
12
Unidade: Estruturas de Repetição
Exemplo
Faça um algoritmo que calcula e mostra a média entre duas notas de 10 alunos. Use a 
estrutura de repetição enquanto.
Algoritmo media_com_enquanto
real media, soma
inteiro num, qtde
caracter resp
Inicio
soma=0
qtde = 0
resp = ‘s’
enquanto (resp==‘s’’ || resp == ‘S’)
escreva(“Digite um número”)
leia(num)
soma=soma+num
qtde=qtde+1
escreva(“Deseja continuar?”)
leia(resp)
fim enquanto
media=soma/qtde
escreva(“A média dos números digitados é: “ + media)
fim
Em Java
13
Estrutura faça ... enquanto (do-while)
É uma variação da estrutura enquanto:
• enquanto (while) → condição testada antes da primeira execução do loop. Se condição 
for falsa na 1. vez que for avaliada, as instruções desse laço não serão executadas 
nenhuma vez;
• faça... enquanto (do...while) → a condição é avaliado depois que suas instruções são 
executadas. Mesmo que a condição desse laço seja falsa antes mesmo de ele iniciar, suas 
instruções serão executadas uma vez.
Estrutura utilizada tanto para laços contados quanto para os laços condicionais, possui a 
seguinte sintaxe:
Pseudocódigo:
{iniciar a variável de controle}
faça
 {instruções}
 {atualizar a variável de controle}
enquanto (condição for verdadeira)
Java
{iniciar a variável de controle}
do{
 {instruções}
 {atualizar a variável de controle}
}while(condição for verdadeira);
Instrução que modifica o 
estado de algum elemento 
utilizado na condição.
 
14
Unidade: Estruturas de Repetição
Vamos colocar em prática?
Faça um algoritmo que calcula e mostra a soma dos números ímpares digitados pelo usuário. 
Para encerrar a entrada de dados, digite o número zero.
Use a estrutura de repetição faça ... enquanto
Algoritmo soma_dos_pares_com DoWhile
inteiro num, soma
Inicio
soma=0
faça
escreva(“Digite um número”)
leia(num)
se(num%2!=0)
soma=soma+num
fim se
enquanto(num!=0) 
escreva(“A soma dos números ímpares é: “ + soma)
Fim
Em Java
15
 Agrupando comandos
Agora que já conhecemos os comandos de decisão e os comandos de repetição, podemos 
interagir um com o outro de forma que nossos algoritmos alcancem os objetivos.
Vamos trabalhar com alguns exemplos com comandos de repetição aninhados.
Crie um algoritmo que calcule a soma de todos os números inteiros de um intervalo dado 
pelo usuário. Quando mostrar a resposta, pergunte ao usuário se deseja começar novamente.
Algoritmo Soma de um Intervalo
 inteiro inicio, fim, soma, i
 caracter continua
início
faça 
 faça 
 escreva(“Início do intervalo”)
 leia(inicio)
 escreva(“Fim do intervalo”)
leia(fim) 
 soma=0
 para(i=inicio; i<=fim; i++)
Repetição 
interna
Repetição 
Externa
 soma = soma + 
fim para
 escreva(“A soma deu “ + soma)
 escreva(“Quer continuar (S/N)”);
 leia(continua)
 enquanto(continua==‘s’ ou continua == ‘S’)
fim
Em Java
16
Unidade: Estruturas de Repetição
Comandos de Repetição e Decisão
Uma escola quer saber qual o aluno mais alto da turma. Para isso, desenvolva um programa 
que leia a altura dos 50 alunos de uma turma e imprima qual a maior altura cadastrada.
Algoritmo Maior Altura
real altura, maior
inteiro i
início
maior=0
para(i=1; i<=50; i++)
escreva(“Qual a altura do aluno “ + i)
leia(altura)
se(altura > maior)
maior = altura
fim se
fim para
escreva(“A maior altura digitada foi “ + maior)
fim
Em Java
17
Material Complementar
Para aprofundar seus conhecimentos, consulte:
Vídeos:
Videoaula Algoritmos 11 - Comandos de Repetição. Acessado em 15 de janeiro de 2018.
https://www.youtube.com/watch?v=G7975lAWYFU
Livros:
MANZANO, José Augusto N.G. e OLIVEIRA, Jayr Figueiredo. Livro Estudo Dirigido 
de Algoritmos. Editora Érica, 2010.
WIRTH, N. Algoritmos e Estruturas de Dados. Rio de Janeiro: Ltc-Livros Técnicos 
e Científicos, 1999.
18
Unidade: Estruturas de Repetição
Referências
DEITEL, H. M. Java: Como Programar. 6.ed. Porto Alegre: Bookman, 2003. (e-book)
FARRER, H. Algoritmos Estruturados. 3.ed. Rio de Janeiro: Ltc-Livros Técnicos e 
Científicos, 1999.
FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de Programação: A Construção 
de Algoritmos e Estrutura de Dados. 3.ed. São Paulo: Pearson Prentice Hall, 2008.
FURGERI, S. JAVA 6 – Ensino Didático: Desenvolvendo e Implementando Aplicações. 
2.ed. São Paulo: Érica, 2009.
MANZANO, J. A. N. G. Algoritmos: Lógica para Desenvolvimento de Programação. 24.ed. 
São Paulo: Érica, 2010.
OLIVEIRA, J. F.; MANZANO, J. A. N. G. Algoritmos – Lógica para desenvolvimento 
de programação de computadores. Ver o conteúdo de Parte II – Técnicas Básica de 
Programação - Capítulo 3 – Tipo de Dados e Instruções Primitivas.
19
Anotações

Continue navegando