Buscar

Algoritmos Aula 7 Estrutura de repetição – Parte I

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

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

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

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

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

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

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

Prévia do material em texto

Algoritmos Aula 7 - Estrutura de repetição – Parte I 
Introdução 
A estrutura de repetição, junto com as estruturas 
sequenciais e de decisão, forma a trinca de estruturas 
fundamentais de desenvolvimento em qualquer linguagem 
de programação. 
É interessante notar o quanto fazemos tarefas repetidas no 
dia a dia. Todos os dias acordamos, estudamos, 
trabalhamos, dormimos etc. 
Na programação, não é diferente. Jogar um “joguinho” no 
computador é uma estrutura de repetição, assim como o 
próprio sistema operacional funciona em uma estrutura de 
repetição. Existem milhares de exemplos. 
Vamos começar a estudá-los nesta aula. 
Vamos lá? 
Repetições 
Vamos a mais uma importante estrutura de programação: a 
estrutura de repetição. 
Chico Buarque diz, na música Cotidiano: 
“todo dia ela faz tudo sempre igual, me sacode às seis horas 
da manhã, me sorri um sorriso pontual”... 
Concorda que essa é uma repetição? 
Repetições infinitas não são muito agradáveis, seja no 
mundo real ou em programas de computador. 
Vamos a um exemplo mais prático. Creio que você sabe 
jogar o famoso “jogo da velha”, certo? 
Olha só como é o jogo: 
Pergunto a você: 
- Quantas jogadas no máximo podemos ter em um jogo da 
velha?- Como o jogo começa? 
Como termina? 
Em breve, você terá condições de criar um jogo da velha 
bem bacana em C++, sabia? 
Até lá, essas perguntas deverão estar respondidas. Um jogo 
como este, ou um jogo de videogame qualquer, é uma 
estrutura de repetição. 
No mundo empresarial, temos milhares de situações 
envolvendo repetições: o cálculo de uma folha de 
pagamento, uma linha de produção em uma fábrica, um 
projeto de desenvolvimento de software etc. 
Ah, respondendo às perguntas do jogo da velha: 
Temos no máximo nove jogadas; se o jogador “X” começar, 
ele terá uma jogada a mais. Idem para o jogador “O”. Isto se 
o jogo não acabar antes; 
O jogo termina com todas as posições em branco, 
esperando ser preenchidas com “X” ou “O”;- O jogo finaliza 
quando algum dos jogadores ganha ou quando há um 
empate e ninguém faz uma sequência. 
Trocando para a linguagem de computador, teríamos: 
 
A palavra repetir é muito importante no exemplo. 
É ela que vai fazer com que a repetição ocorra nove vezes, 
que é um número conhecido. 
A cada repetição, quatro atividades serão feitas (jogada do 
“X”, verifica se ganhou; jogada do “Y”, verifica se ganhou). 
Sendo assim, temos nossa primeira forma de fazer 
repetição em C++. 
A Estrutura For 
Qual é a tradução de for? 
“Para”, certo? Pois bem, a estrutura for é muito usada nas 
repetições, principalmente nas ocasiões nas quais sabemos 
a quantidade de repetições que ocorrerão. 
Esse tipo de repetição é chamada de repetição controlada 
por contador, pois teremos uma variável que determinará o 
número de repetições daquela parte do programa. 
Observe: é um pouco estranho ter duas repetições e meia, 
ou “repita 10 vezes e meia”, certo? Logo, esta variável tem 
que ser inteira. Não podemos ter uma variável decimal para 
contar quantas repetições teremos. 
Exemplo 
Vamos a um exemplo em C++:O exemplo mais simples que 
podemos fazer é criar um programa que conta de 1 a 10. 
Veja só: 
 
A execução do programa gera o seguinte resultado: 
 
Simples, não é? 
Observe a sintaxe do for em C++:for (inicialização ; condição 
; incremento) 
O comando for em C++ é composto por três partes, e cada 
uma delas é separada por ponto e vírgula: 
INICIALIZAÇÃO 
declaramos uma variável do tipo inteiro (sempre) e 
atribuímos um valor inicial; 
CONDIÇÃO 
é uma expressão relacional que determina quando a 
repetição acaba. Quando a condição se tornar falsa, a 
execução do programa continua no comando seguinte ao 
for; 
INCREMENTO 
configura como a variável de controle da repetição varia 
cada vez que a repetição é executada. Pode ser positivo ou 
negativo. 
O for do primeiro exemplo está mostrado na linha 5. 
O que podemos fazer com o for? 
Agora que vimos o que podemos fazer com os operadores 
em C++, olha só o que podemos fazer com o for: 
Alterar a variável de controle de 1 a 100 incrementando de 
1for (int i=1; i<=100; i++) 
Alterar a variável de controle de 100 a 1 em decrementos 
de 1for (int i=100; i>=1; i--) 
Alterar a variável de controle de 8 a 88 em incrementos de 
8for (int i=8; i<=88; i+=8) 
Alterar a variável de controle de 20 a 2 em decrementos de 
2for (int i=20; i>=2; i-=2) 
Alterar a variável de controle sobre uma sequência de 
valores. Por exemplo: 2,5,8,11,14,17,20for (int i=2; i<=20; 
i+=3) 
Alterar a variável de controle sobre uma sequência de 
valores. Por exemplo: 99,88,77,66,55,44,33,22,11,0for (int 
i=99; i>=0; i -=11) 
O comando for é usado para várias finalidades, em qualquer 
linguagem de programação. Uma das aplicações é somar 
valores. 
Observe o exemplo a seguir: 
 
A execução do programa gera o seguinte resultado: 
 
Embora o exemplo seja muito simples, ele mostra um uso 
muito comum desse tipo de estrutura de repetição: usar o 
for para somar valores e armazenar em uma variável que 
está dentro da repetição. 
Vamos fazer outro exemplo, e com ele, ajudar uma criança 
a aprender a tabuada. A ideia do programa é obter um valor 
do usuário referente à tabuada que ele deseja estudar e 
“tomar” a tabuada do número desejado. 
Clique aqui e saiba mais. 
Veja a execução do programa: 
Fonte: https://www.youtube.com/embed/N6EQKSRMK_E 
Como vimos no vídeo e na listagem, o programa cria uma 
repetição de 1 a 10 entre as linhas 13 a 24. Veja que nem 
sempre o for faz repetições somente com uma linha, como 
vimos nos exemplos anteriores. Neste programa e na 
maioria deles, o bloco de repetição pode ser bem grande. 
Para cada repetição, o programa pergunta o resultado da 
multiplicação do número da tabuada e do número da 
repetição atual. Se o usuário acertar, a variável acertos é 
acumulada, senão a variável erros é incrementada. 
Para isso, usamos uma estrutura de decisão composta 
(lembra?). Ou seja, misturamos nesse programa a estrutura 
de repetição com a estrutura de decisão vista 
anteriormente. 
No final do programa, nas linhas 25 a 30 é feita uma 
pequena análise do desempenho do usuário durante o 
programa. O programa “premia” o usuário que acertou 
todas as respostas; se houve um erro ou mais, ele mostra a 
quantidade de erros (de acordo com a variável erros) e a 
quantidade de acertos (variável acertos). 
Existem muitas coisas que dá para fazer com o for. Mas por 
enquanto, para aprender como ele funciona, está ótimo. 
1- O que o seguinte pedaço de programa faz? 
 
Escreve os números de 1 a 10, na mesma linha; 
GABARITO 
Verifique a condição de parada. Como a condição é até 11, 
o número 11 não será impresso e como não temos o endl 
após o cout, os números ficarão na mesma linha. 
2. Em qual situação abaixo podemos usar um comando de 
repetição? 
Verificar se um número é par ou ímpar. 
Determinar a idade em dias de uma pessoa. 
Calcular a folha de pagamento de uma empresa. 
Fazer a conversão de dólar para real. 
Calcular a velocidade média de um carro, dados a distância 
e o tempo. 
GABARITO 
O cálculo da folha de pagamento envolve fazer um cálculo 
do salário de cada funcionário, começando por um 
determinado funcionário e repetir a operação até que a lista 
de funcionários termine. 
3. Quero contar os números pares de 1 a 100. Como faço 
isto usando um for? 
for (int i=1; i = 100; i++) 
for (int i=1; i<=100;i+2) 
for (int i=1; i<100; i+=2) 
for (int i=0; i<=100; i+=2) 
for (int i=0; i<=100; i++) 
GABARITOObservando as condições de início e fim, temos que o início 
tem que começar em 2 (i=0) e parar em 100 (i<=100). Para 
mostrar somente os números pares, temos que usar o passo 
2 no looping (+=2).

Outros materiais