Buscar

Aula 08 Estruturas de repeticao (1)

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

Raphael Gomide
raphael.gomide@live.estacio.br
Contextualização
 Imagine que você precise elaborar um programa para
escrever na tela o seu nome 10 vezes:
Contextualização
 E se agora você precisasse escrever o seu nome 1.000 vezes?
 Fica chato e entediante digitar ou copiar/colar a instrução
1.000 vezes
 Ainda bem que não precisamos disso, graças às estruturas de
repetição!
 Com 2 linhas de código você consegue escrever o seu nome
quantas vezes quiser!
Repetição para o computador
 Definir se determinado trecho/bloco de código será
executado, executado novamente, e assim sucessivamente
 As repetições, assim como as decisões, são também baseadas
em regras, que são, na verdade, proposições lógicas
 Isso significa que, em algum momento durante a repetição, a
proposição deve ser falsa para que a repetição se encerre
 Se isso não for feito, temos um grave problema, onde a
repetição é executada para sempre. Esse fenômeno é
também conhecido como loop/laço infinito
 As estruturas de repetição são: while, do...while e for
Conceitos importantes
 Variável de controle: para utilizarmos repetições,
necessitamos de uma variável que faça o controle da mesma.
Essa variável vai indicar quantas vezes a repetição será
executada. Essa variável é também conhecida como:
 Índice
 Sentinela
 Contador
 Como toda variável, qualquer nome pode ser dado a ela.
 Os nomes mais utilizados são: i, j e cont
Conceitos importantes
 Repetição/iteração/laço/loop/looping: indica um ciclo
completo de execução do código a ser repetido.
 Repetição/Iteração/Laço/loop/looping infinito: ocorre
quando o programador não define uma condição de parada
da repetição, ou seja, a proposição nunca fica falsa. Nessa
situação, o programa permanece executando e enchendo a
memória. É uma das grandes causas dos programas travarem.
 Em regra, toda repetição tem:
 Inicialização da variável de controle
 Proposição lógica
 Incremento/decremento da variável de controle
Repetição com o comando while
 Exemplo:
Repetição com o comando while
 Declarando e 
inicializando a 
variável de controle
 Declarando e 
inicializando a variável 
para guardar a soma 
de valores
Repetição com o comando while
 while (enquanto, em 
inglês)
Repetição com o comando while
 Proposição lógica
 Deve estar sempre 
entre parênteses
 Aceita proposições 
múltiplas
 Leitura: enquanto o 
valor da variável i for 
menor ou igual a 100, 
execute os comandos 
do bloco
Repetição com o comando while
 Assim como no 
comando if/else, o 
while é também um 
comando de bloco
 As mesmas regras de 
aplicam, ou seja, 
quando existir apenas 
um comando ou 
instrução, as chaves 
são opcionais
Repetição com o comando while
 Esse é o cálculo que 
será executado 
repetidas vezes
 É possível perceber 
que se trata de um 
somatório, pois a 
variável soma é 
sempre utilizada no 
cálculo, mantendo o 
seu valor anterior
 soma = 0 + 1 
Repetição com o comando while
 Aqui é feito o 
incremento da variável 
de controle
 Esse código é 
importantíssimo, pois 
sem ele, a variável i 
sempre iria valer 1, 
ocasionando o laço 
infinito
 i++  i = i + 1
//i passou de 1 para 2
Repetição com o comando while
 Após o incremento, o 
código volta ao while, 
que testa a condição 
novamente
 Nesse momento, a 
variável i vale 2, 
correto?
 Então:
 2 <= 100? V
 O bloco é executado 
novamente
Repetição com o comando while
 A soma é feita 
novamente, lembrando 
que o seu valor atual é 1
 soma = 1 + 2
 Após o cálculo do 
somatório, o valor de i 
incrementa novamente, 
passando de 2 para 3
 E assim 
sucessivamente...
Repetição com o comando while
 Em algum momento, a 
repetição irá parar
 Quando i valer 100, será a 
última entrada no bloco
 O valor da soma será 
acrescido de 100
 A variável de controle i 
será incrementada e 
passará a valer 101
 E aí o teste do while será 
Falso!
Repetição com o comando while
 Após o termino da 
execução da repetição, o 
valor da soma passou a 
ter:
 0 + 1 + 2 + 3 + 4 + 5 + 6 + 
7 + 8 + 9 + 10 + 11 + ... + 
95 + 96 + 97 + 98 + 99 + 
100 = 5.050
 Essa é a mágica das 
estruturas de repetição!
Repetição com o comando while
 Inicialização da variável de controle
Proposição lógica
 incremento
Repetição com o comando while
 Em regra, quando a 
variável de controle 
começa com 0, a 
proposição utiliza o 
operador <
 Em regra, quando a 
variável de controle 
começa com 1, a 
proposição utiliza o 
operado <=
Repetição com o comando while
 É possível também utilizar o laço invertido, ou seja, iniciar a 
variável de controle com o total e decrementar o valor até se obter 
o valor 0, por exemplo
 Nesse caso utilizamos, para decrementar, i--  i = i – 1
 Além disso, o operador de comparação deve ser invertido na 
proposição
Repetição com o comando do...while
 Observe o seguinte 
trecho de código
 Ele faz a mesma 
tarefa do código 
feito com while, 
com algumas 
pequenas 
diferenças
 Quais são essas 
diferenças?
Repetição com o comando do...while
 Diferenças visuais:
 O comando 
começa com do e 
termina com while
 Em português, 
seria repita... 
Enquanto
 Ao final do while e 
da proposição, 
existe ponto-e-
vírgula
Repetição com o comando do...while
 Diferenças na execução:
 Com do...while, você 
garante que o código 
será executado pelo 
menos uma vez!
 Isso acontece porque o 
teste da proposição é 
feito somente no final
do laço.
 No comando while, o 
teste é feito no início! 
Se der falso, “nem 
entra”
Repetição com o comando for
 O comando for é uma estrutura de repetição mais elegante e mais 
bem organizada que o while e o do...while
 Ele engloba a inicialização, o teste da proposição e o 
incremento/decremento em uma única linha de código
 Isso auxilia o programador a não se esquecer dessas etapas, evitando 
problemas como o loop infinito
Repetição com o comando for
 A palavra for em inglês significa para
 A leitura do código é a seguinte: para cada i iniciando com zero, 
enquanto menor ou igual a 100 e incrementando de um em um, 
faça...
 A inicialização, proposição e incremento/decremento são delimitadas 
por ponto-e-vírgula
Alguns exemplos de programas
Alguns exemplos de programas
Alguns exemplos de programas
Resumo – estruturas de repetição em C++
 Em regra, toda repetição tem três etapas: inicialização da variável de controle, teste 
da proposição e incremento/decremento
 Os comandos utilizados são: while / do...while / for
 No comando while, o teste é executado no início
 No comando do...while, o teste é executado no final, o que garante que o código é 
executado pelo menos uma vez!
 No comando for, o teste é executado no início e o comando é mais elegante e 
organizado, pois possui estrutura específica para armazenar as três etapas
 As repetições são executadas enquanto a proposição de testes for verdadeira
 É responsabilidade do programador tornar a proposição falsa em algum momento
 Se o programador se esquece de tornar o teste da proposição falso, a repetição é 
executada para sempre e ocorre o problema do loop infinito
Fim!

Outros materiais