Técnicas de Programação III
Técnicas de Programação III
Técnicas de Programação III
Programação
Material Teórico
Estruturas de Repetição
Revisão Técnica:
Prof. Me. Douglas Almendro
Revisão Textual:
Prof. Me. Selma Aparecida Cesarin
a
Estruturas de Repetição
• 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!
5
Unidade: Estruturas de Repetição
Contextualização
6
Estruturas de Repetição
Pseudocódigo Java
para for
enquanto while
faça...enquanto do while
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.
7
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.
8
A condição geralmente verifica se essa variável já chegou em determinado valor para decidir
se o laço deve ser encerrado.
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
9
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 Acumulador
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
10
Em Java
Pseudocódigo:
{iniciar a variável de controle}
enquanto (condição for verdadeira)
{instruções} Instrução que modifica o
{atualizar a variável de controle} estado de algum elemento
utilizado na condição.
fim enquanto
Java
{iniciar a variável de controle} Nestes casos de laços
while (condição for verdadeira){ de repetição, as chaves
identificarão o início e o
{instruções} fim do bloco a ser repetido.
{atualizar a variável de controle}
}
11
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
12
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}
Instrução que modifica o
faça estado de algum elemento
{instruções} utilizado na condição.
{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);
13
Unidade: Estruturas de Repetição
Em Java
14
Agrupando comandos
Em Java
15
Unidade: Estruturas de Repetição
Em Java
16
Material Complementar
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.
17
Unidade: Estruturas de Repetição
Referências
DEITEL, H. M. Java: Como Programar. 6.ed. Porto Alegre: Bookman, 2003. (e-book)
18
Anotações
19