SlideShare uma empresa Scribd logo
1 de 44
Baixar para ler offline
Estruturas de Repetição
Vanessa Braganholo
vanessa@ic.uff.br
Estruturas de Repetição
2
} Permitem que um bloco de comandos seja executado
diversas vezes
} Dois tipos de Repetição:
} Repetição condicional: executa um bloco de código
enquanto uma condição lógica for verdadeira (while)
} Repetição contável: executa um bloco de código um
número predeterminado de vezes (for)
Repetição condicional
Pseudocódigo Python
3
...
enquanto CONDIÇÃO
faça
INSTRUÇÃO 1;
INSTRUÇÃO 2;
...
INSTRUÇÃO N;
...
...
while CONDIÇÃO:
INSTRUÇÃO 1;
INSTRUÇÃO 2;
...
INSTRUÇÃO N;
...
Repetição condicional
Se Enquanto
4
Condição?
Código
V
F
Condição?
V
F
código
F
Repetição Condicional
5
} Executa o bloco de instruções enquanto a condição
for verdadeira
} A condição é uma expressão booleana que pode fazer
uso de quaisquer operadores
} O bloco de código pode conter um ou mais comandos
} O início e o fim do bloco são definidos de acordo com a
endentação
Repetição Condicional
6
} Executa o bloco de instruções enquanto a condição for
verdadeira
} A condição é uma expressão booleana que pode fazer uso
de quaisquer operadores
} O bloco de instruções pode conter um ou mais comandos
} O início e o fim do bloco são definidos de acordo com a
endentação
Nenhuma novidade: igual ao if!!!
Repetição Condicional
7
} A estrutura de repetição é chamada de loop porque
continua-se voltando ao início da instrução até que a
condição se torne falsa
} Deve haver algum processo dentro do bloco de
comandos que torne a condição falsa para que a
repetição seja encerrada
} Quando a condição se torna falsa, a próxima instrução
após o bloco do while é executada
} Se a condição do while for falsa desde o início, o bloco
de instruções nunca é executado
Exemplo 1
8
numero = int(input('Digite um numero: '))
while numero > 0:
numero = numero - 1
print(numero)
print('Boom!!')
Exemplo 2 – Contador
9
} Programa que imprime a quantidade de números pares de
100 até 200, incluindo-os
Exemplo 2 – Contador
10
} Programa que imprime a quantidade de números pares de
100 até 200, incluindo-os
num = 100
contador_pares = 0
while num <= 200:
if num % 2 == 0:
contador_pares = contador_pares + 1
num = num + 1
print(contador_pares)
Desafio
11
} Como fazer para contar a quantidade de números pares
entre dois números quaisquer?
Desafio
12
} Como fazer para contar a quantidade de números pares
entre dois números quaisquer?
num1 = int(input('Entre com o valor inicial: '))
num2 = int(input('Entre com o valor final: '))
contador_pares = 0
while num1 <= num2:
if num1 % 2 == 0:
contador_pares = contador_pares + 1
num1 = num1 + 1
print(contador_pares)
Exemplo 3 - Acumulador
13
} Programa que imprime a soma de todos os números
pares entre dois números quaisquer, incluindo-os
num1 = int(input('Entre com o valor inicial: '))
num2 = int(input('Entre com o valor final: '))
soma = 0
while num1 <= num2:
if num1 % 2 == 0:
soma = soma + num1
num1 = num1 + 1
print('A soma eh', soma)
Exemplo 4 – Fatorial de um número
14
numero = int(input('Digite um número inteiro positivo: '))
fatorial = 1
while numero > 0:
fatorial = fatorial * numero
numero = numero – 1
print('O fatorial desse número é ', fatorial)
Exemplo 5
15
} Qual a saída do programa abaixo?
i = 1
while True:
i = i + 1
print(i)
Exemplo 5
16
} Qual a saída do programa abaixo?
i = 1
while True:
i = i + 1
print(i)
Evitem forçar loops infinitos sempre que
possível!
Exercício
17
} Faça um programa que gere números inteiros aleatórios
entre 1 e 10 e calcule a soma desses números, até que
seja gerado um número num que foi informado pelo
usuário anteriormente.
} Dica 1: antes de mais nada, peça para o usuário digitar um
número entre 1 e 10 e guarde o valor em num
} Dica2: use a função randint(inicio, fim) do módulo random para
gerar um número aleatório entre 1 e 10
Solução do Exercício
18
from random import randint
num = int(input('Digite um numero inteiro entre 1 e 10: '))
soma = 0
numero_sorteado = randint(1,10)
print(numero_sorteado)
while num != numero_sorteado:
soma = soma + numero_sorteado
numero_sorteado = randint(1,10)
print(numero_sorteado)
print('A soma eh', soma)
Solução do Exercício
19
from random import randint
num = int(input('Digite um numero inteiro entre 1 e 10: '))
soma = 0
numero_sorteado = randint(1,10)
print(numero_sorteado)
while num != numero_sorteado:
soma = soma + numero_sorteado
numero_sorteado = randint(1,10)
print(numero_sorteado)
print('A soma eh', soma)
Quantas vezes acontecerá essa repetição?
Solução do Exercício
20
Quantas vezes acontecerá essa repetição?
- Não é possível determinar de antemão
from random import randint
num = int(input('Digite um numero inteiro entre 1 e 10: '))
soma = 0
numero_sorteado = randint(1,10)
print(numero_sorteado)
while num != numero_sorteado:
soma = soma + numero_sorteado
numero_sorteado = randint(1,10)
print(numero_sorteado)
print('A soma eh', soma)
Repetição Contável
21
} E se o enunciado fosse “Faça um programa que soma X
números gerados aleatoriamente no intervalo de 1 a 10,
onde X é informado pelo usuário” ??
Repetição Contável
22
from random import randint
x = int(input('Digite um numero: '))
soma = 0
contador = 0
while contador < x:
numero_sorteado = randint(1,10)
print(numero_sorteado)
soma = soma + numero_sorteado
contador = contador + 1
print('A soma eh', soma)
Repetição Contável
23
Número de repetições é fixo!
from random import randint
x = int(input('Digite um numero: '))
soma = 0
contador = 0
while contador < x:
numero_sorteado = randint(1,10)
print(numero_sorteado)
soma = soma + numero_sorteado
contador = contador + 1
print('A soma eh', soma)
Repetição Contável
Pseudocódigo Python
24
...
para VARIÁVEL variando de
VALOR INICIAL a VALOR
FINAL com passo
INCREMENTO
INSTRUÇÃO 1
INSTRUÇÃO 2
...
INSTRUÇÃO N
...
...
for VARIÁVEL in (faixa-
de-valores):
INSTRUÇÃO 1
INSTRUÇÃO 2
...
INSTRUÇÃO N
...
Faixa de Valores
25
} Os valores podem ser listados explicitamente
} Exemplo:
for x in (0,1,2,3,4):
print(x)
Faixa de Valores
26
} Os valores podem ser listados explicitamente
} Exemplo:
for x in (0,1,2,3,4):
print(x)
print(x) será repetido 5 vezes,
uma para cada valor especificado
entre parênteses no comando for
Faixa de Valores
27
} Os valores podem ser especificados como um intervalo
com início, fim e incremento, usando range
} Exemplo:
for x in range(0,5,1):
print(x)
início (opcional) –
quando omitido,
início = 0 fim (obrigatório)
incremento (opcional) –
quando omitido,
incremento = 1
Exemplo de Range
for variavel in range(6):
print(variavel)
>>>
0
1
2
3
4
5
Exemplo de Range
for variavel in range(1,6):
print(variavel)
>>>
1
2
3
4
5
Exemplo de Range
for variavel in range(2,10,2):
print(variavel)
>>>
2
4
6
8
Exemplo de Range
for variavel in range(10,0,-2):
print(variavel)
>>>
10
8
6
4
2
Retomando o Exemplo de Soma de Números
Aleatórios
32
} Faça um programa que soma X números gerados
aleatoriamente no intervalo de 1 a 10, onde X é
informado pelo usuário
Soma de Números Aleatórios com while
33
from random import randint
x = int(input('Digite um numero: '))
soma = 0
contador = 0
while contador < x:
numero_sorteado = randint(1,10)
print(numero_sorteado)
soma = soma + numero_sorteado
contador = contador + 1
print('A soma eh', soma)
Soma de Números Aleatórios com while
34
Vamos substituir por um
for e eliminar a necessidade de
controlar o contador
from random import randint
x = int(input('Digite um numero: '))
soma = 0
contador = 0
while contador < x:
numero_sorteado = randint(1,10)
print(numero_sorteado)
soma = soma + numero_sorteado
contador = contador + 1
print('A soma eh', soma)
Soma de Números Aleatórios com for
35
from random import randint
x = int(input('Digite um numero: '))
soma = 0
for contador in range(x):
numero_sorteado = randint(1,10)
print(numero_sorteado)
soma = soma + numero_sorteado
print('A soma eh', soma)
Exemplo
36
} Programa que imprime a soma de todos os números
pares entre dois números quaisquer, incluindo-os
num1 = int(input('Entre com o valor inicial: '))
num2 = int(input('Entre com o valor final: '))
soma = 0
for i in range(num1, num2 + 1):
if i % 2 == 0:
soma = soma + i
print('A soma eh', soma)
Fatorial
37
} Programa para calcular fatorial de um número:
numero = int(input(’Digite um inteiro positivo: '))
fatorial = 1
for i in range(1, numero + 1):
fatorial = fatorial * i
print('O fatorial desse número é ', fatorial)
Tabela de Jogos
38
} Programa para gerar a tabela de jogos de um campeonato
que tem 5 times (times jogam em casa e na casa do
adversário)
for time1 in ('Fla','Flu','Bot','Vas','Ame'):
for time2 in ('Fla','Flu','Bot','Vas','Ame'):
if time1 != time2:
print(time1, 'x', time2)
Agenda
39
} Programa para imprimir uma agenda diária, com horários
de 15 em 15 minutos
for hora in range(24):
for minuto in range(0,60,15):
print(str(hora) + ":" + str(minuto))
Exercícios
40
1. Faça um programa para montar a tabela de
multiplicação de números de 1 a 10 (ex.: 1 x 1 = 1, 1 x 2
= 2, etc.)
2. Faça um programa para determinar o número de dígitos
de um número inteiro positivo informado
3. Faça um programa para calcular a série de Fibonacci
para um número informado pelo usuário, sendo F(0) =
0, F(1) = 1 e F(n)= F(n-1)+F(n-2)
} Por exemplo, caso o usuário informe o número 9, o resultado seria:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34
Exercícios
41
4. Faça um programa para listar todos os divisores de um
número ou dizer que o número é primo caso não
existam divisores
} Ao final, verifique se o usuário deseja analisar outro número
Exercícios
42
5. Faça um programa que calcule o retorno de um investimento
financeiro fazendo as contas mês a mês, sem usar a fórmula de
juros compostos
} O usuário deve informar quanto será investido por mês e qual será a
taxa de juros mensal
} O programa deve informar o saldo do investimento após um ano (soma
das aplicações mês a mês considerando os juros compostos), e
perguntar ao usuário se ele deseja que seja calculado o ano seguinte,
sucessivamente
} Por exemplo, caso o usuário deseje investir R$ 100,00 por mês, e tenha
uma taxa de juros de 1% ao mês, o programa forneceria a seguinte
saída:
Saldo do investimento após 1 ano: R$ 1268.25
Deseja processar mais um ano? (S/N)
Referências
43
} Slides feitos em conjunto com Leonardo Murta e Aline
Paes
Estruturas de Repetição
Vanessa Braganholo
vanessa@ic.uff.br

Mais conteúdo relacionado

Mais procurados

Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlgWillians Miyabara
 
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Alg   aula 05-2 - estruturas de-repeticao tp1 (para)Alg   aula 05-2 - estruturas de-repeticao tp1 (para)
Alg aula 05-2 - estruturas de-repeticao tp1 (para)Thalles Anderson
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
FORTRAN 90 - Representacao numeroscomputador
FORTRAN 90 - Representacao numeroscomputadorFORTRAN 90 - Representacao numeroscomputador
FORTRAN 90 - Representacao numeroscomputadorDafmet Ufpel
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bitsRicardo Bolanho
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2engenhariadecomputacao
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício respostaHercules Santhus
 
Linguagem C 04 Estruturas De Repeticao
Linguagem C 04 Estruturas De RepeticaoLinguagem C 04 Estruturas De Repeticao
Linguagem C 04 Estruturas De RepeticaoRegis Magalhães
 
Laços de repetição como fazer
Laços de repetição como fazerLaços de repetição como fazer
Laços de repetição como fazerRodolfo Fonseca
 

Mais procurados (20)

Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Aula 2 aed - pseudocódigo
Aula 2   aed - pseudocódigoAula 2   aed - pseudocódigo
Aula 2 aed - pseudocódigo
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Aula 05 Vetores
Aula 05  VetoresAula 05  Vetores
Aula 05 Vetores
 
Lista c
Lista cLista c
Lista c
 
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Alg   aula 05-2 - estruturas de-repeticao tp1 (para)Alg   aula 05-2 - estruturas de-repeticao tp1 (para)
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
 
Algop - aula 07 resposta exercícios
Algop - aula 07 resposta exercíciosAlgop - aula 07 resposta exercícios
Algop - aula 07 resposta exercícios
 
Construcao de Algoritmos - Aula 09
Construcao de Algoritmos - Aula 09Construcao de Algoritmos - Aula 09
Construcao de Algoritmos - Aula 09
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Construcao de Algoritmos - Aula 10
Construcao de Algoritmos - Aula 10Construcao de Algoritmos - Aula 10
Construcao de Algoritmos - Aula 10
 
Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
FORTRAN 90 - Representacao numeroscomputador
FORTRAN 90 - Representacao numeroscomputadorFORTRAN 90 - Representacao numeroscomputador
FORTRAN 90 - Representacao numeroscomputador
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício resposta
 
Linguagem C 04 Estruturas De Repeticao
Linguagem C 04 Estruturas De RepeticaoLinguagem C 04 Estruturas De Repeticao
Linguagem C 04 Estruturas De Repeticao
 
Laços de repetição como fazer
Laços de repetição como fazerLaços de repetição como fazer
Laços de repetição como fazer
 
Exercicios facebook
Exercicios facebookExercicios facebook
Exercicios facebook
 
Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05Construcao de Algoritmos - Aula 05
Construcao de Algoritmos - Aula 05
 
Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08
 

Semelhante a 05 repeticao

Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptxzarusca
 
15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticaoLee Aragão
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9Felipe Santos
 
Algoritmos - Aula 07 B - Resolucao de Exercicios
Algoritmos - Aula 07 B - Resolucao de ExerciciosAlgoritmos - Aula 07 B - Resolucao de Exercicios
Algoritmos - Aula 07 B - Resolucao de ExerciciosRodrigo Kiyoshi Saito
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoFelipe J. R. Vieira
 
07 algoritmo - eSTRUTURA DE REPETIÇÃO
07   algoritmo - eSTRUTURA DE REPETIÇÃO07   algoritmo - eSTRUTURA DE REPETIÇÃO
07 algoritmo - eSTRUTURA DE REPETIÇÃORoney Sousa
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_javaMirlem Pereira
 
Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6engenhariadecomputacao
 
Laços de Repetição - C++
Laços de Repetição - C++Laços de Repetição - C++
Laços de Repetição - C++profjr
 

Semelhante a 05 repeticao (20)

Programação em Python_6.pptx
Programação em Python_6.pptxProgramação em Python_6.pptx
Programação em Python_6.pptx
 
Laços de repetição
Laços de repetiçãoLaços de repetição
Laços de repetição
 
While e For.pdf
While e For.pdfWhile e For.pdf
While e For.pdf
 
Laços de Repetição
Laços de RepetiçãoLaços de Repetição
Laços de Repetição
 
03 algoritmos basicos
03 algoritmos basicos03 algoritmos basicos
03 algoritmos basicos
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao15080590 aula6-estrutura-de-repeticao
15080590 aula6-estrutura-de-repeticao
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
Aula05
Aula05Aula05
Aula05
 
Algop - aula 07
Algop - aula 07Algop - aula 07
Algop - aula 07
 
01 variaveis io if
01 variaveis io if01 variaveis io if
01 variaveis io if
 
Curso De Algoritmo Aula 9
Curso De Algoritmo   Aula 9Curso De Algoritmo   Aula 9
Curso De Algoritmo Aula 9
 
Lista9 maicon menezes
Lista9 maicon menezesLista9 maicon menezes
Lista9 maicon menezes
 
02 while
02 while02 while
02 while
 
Algoritmos - Aula 07 B - Resolucao de Exercicios
Algoritmos - Aula 07 B - Resolucao de ExerciciosAlgoritmos - Aula 07 B - Resolucao de Exercicios
Algoritmos - Aula 07 B - Resolucao de Exercicios
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de Repetição
 
07 algoritmo - eSTRUTURA DE REPETIÇÃO
07   algoritmo - eSTRUTURA DE REPETIÇÃO07   algoritmo - eSTRUTURA DE REPETIÇÃO
07 algoritmo - eSTRUTURA DE REPETIÇÃO
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6
 
Laços de Repetição - C++
Laços de Repetição - C++Laços de Repetição - C++
Laços de Repetição - C++
 

Mais de GestoFinanceiraFatec (6)

Gsp007
Gsp007Gsp007
Gsp007
 
Gsp313 desafio selo_01
Gsp313 desafio selo_01Gsp313 desafio selo_01
Gsp313 desafio selo_01
 
Nao sensivel
Nao sensivelNao sensivel
Nao sensivel
 
Aula17
Aula17Aula17
Aula17
 
Bd 02 mer
Bd 02 merBd 02 mer
Bd 02 mer
 
Python aula02.ipynb colaboratory
Python aula02.ipynb   colaboratoryPython aula02.ipynb   colaboratory
Python aula02.ipynb colaboratory
 

05 repeticao

  • 1. Estruturas de Repetição Vanessa Braganholo vanessa@ic.uff.br
  • 2. Estruturas de Repetição 2 } Permitem que um bloco de comandos seja executado diversas vezes } Dois tipos de Repetição: } Repetição condicional: executa um bloco de código enquanto uma condição lógica for verdadeira (while) } Repetição contável: executa um bloco de código um número predeterminado de vezes (for)
  • 3. Repetição condicional Pseudocódigo Python 3 ... enquanto CONDIÇÃO faça INSTRUÇÃO 1; INSTRUÇÃO 2; ... INSTRUÇÃO N; ... ... while CONDIÇÃO: INSTRUÇÃO 1; INSTRUÇÃO 2; ... INSTRUÇÃO N; ...
  • 5. Repetição Condicional 5 } Executa o bloco de instruções enquanto a condição for verdadeira } A condição é uma expressão booleana que pode fazer uso de quaisquer operadores } O bloco de código pode conter um ou mais comandos } O início e o fim do bloco são definidos de acordo com a endentação
  • 6. Repetição Condicional 6 } Executa o bloco de instruções enquanto a condição for verdadeira } A condição é uma expressão booleana que pode fazer uso de quaisquer operadores } O bloco de instruções pode conter um ou mais comandos } O início e o fim do bloco são definidos de acordo com a endentação Nenhuma novidade: igual ao if!!!
  • 7. Repetição Condicional 7 } A estrutura de repetição é chamada de loop porque continua-se voltando ao início da instrução até que a condição se torne falsa } Deve haver algum processo dentro do bloco de comandos que torne a condição falsa para que a repetição seja encerrada } Quando a condição se torna falsa, a próxima instrução após o bloco do while é executada } Se a condição do while for falsa desde o início, o bloco de instruções nunca é executado
  • 8. Exemplo 1 8 numero = int(input('Digite um numero: ')) while numero > 0: numero = numero - 1 print(numero) print('Boom!!')
  • 9. Exemplo 2 – Contador 9 } Programa que imprime a quantidade de números pares de 100 até 200, incluindo-os
  • 10. Exemplo 2 – Contador 10 } Programa que imprime a quantidade de números pares de 100 até 200, incluindo-os num = 100 contador_pares = 0 while num <= 200: if num % 2 == 0: contador_pares = contador_pares + 1 num = num + 1 print(contador_pares)
  • 11. Desafio 11 } Como fazer para contar a quantidade de números pares entre dois números quaisquer?
  • 12. Desafio 12 } Como fazer para contar a quantidade de números pares entre dois números quaisquer? num1 = int(input('Entre com o valor inicial: ')) num2 = int(input('Entre com o valor final: ')) contador_pares = 0 while num1 <= num2: if num1 % 2 == 0: contador_pares = contador_pares + 1 num1 = num1 + 1 print(contador_pares)
  • 13. Exemplo 3 - Acumulador 13 } Programa que imprime a soma de todos os números pares entre dois números quaisquer, incluindo-os num1 = int(input('Entre com o valor inicial: ')) num2 = int(input('Entre com o valor final: ')) soma = 0 while num1 <= num2: if num1 % 2 == 0: soma = soma + num1 num1 = num1 + 1 print('A soma eh', soma)
  • 14. Exemplo 4 – Fatorial de um número 14 numero = int(input('Digite um número inteiro positivo: ')) fatorial = 1 while numero > 0: fatorial = fatorial * numero numero = numero – 1 print('O fatorial desse número é ', fatorial)
  • 15. Exemplo 5 15 } Qual a saída do programa abaixo? i = 1 while True: i = i + 1 print(i)
  • 16. Exemplo 5 16 } Qual a saída do programa abaixo? i = 1 while True: i = i + 1 print(i) Evitem forçar loops infinitos sempre que possível!
  • 17. Exercício 17 } Faça um programa que gere números inteiros aleatórios entre 1 e 10 e calcule a soma desses números, até que seja gerado um número num que foi informado pelo usuário anteriormente. } Dica 1: antes de mais nada, peça para o usuário digitar um número entre 1 e 10 e guarde o valor em num } Dica2: use a função randint(inicio, fim) do módulo random para gerar um número aleatório entre 1 e 10
  • 18. Solução do Exercício 18 from random import randint num = int(input('Digite um numero inteiro entre 1 e 10: ')) soma = 0 numero_sorteado = randint(1,10) print(numero_sorteado) while num != numero_sorteado: soma = soma + numero_sorteado numero_sorteado = randint(1,10) print(numero_sorteado) print('A soma eh', soma)
  • 19. Solução do Exercício 19 from random import randint num = int(input('Digite um numero inteiro entre 1 e 10: ')) soma = 0 numero_sorteado = randint(1,10) print(numero_sorteado) while num != numero_sorteado: soma = soma + numero_sorteado numero_sorteado = randint(1,10) print(numero_sorteado) print('A soma eh', soma) Quantas vezes acontecerá essa repetição?
  • 20. Solução do Exercício 20 Quantas vezes acontecerá essa repetição? - Não é possível determinar de antemão from random import randint num = int(input('Digite um numero inteiro entre 1 e 10: ')) soma = 0 numero_sorteado = randint(1,10) print(numero_sorteado) while num != numero_sorteado: soma = soma + numero_sorteado numero_sorteado = randint(1,10) print(numero_sorteado) print('A soma eh', soma)
  • 21. Repetição Contável 21 } E se o enunciado fosse “Faça um programa que soma X números gerados aleatoriamente no intervalo de 1 a 10, onde X é informado pelo usuário” ??
  • 22. Repetição Contável 22 from random import randint x = int(input('Digite um numero: ')) soma = 0 contador = 0 while contador < x: numero_sorteado = randint(1,10) print(numero_sorteado) soma = soma + numero_sorteado contador = contador + 1 print('A soma eh', soma)
  • 23. Repetição Contável 23 Número de repetições é fixo! from random import randint x = int(input('Digite um numero: ')) soma = 0 contador = 0 while contador < x: numero_sorteado = randint(1,10) print(numero_sorteado) soma = soma + numero_sorteado contador = contador + 1 print('A soma eh', soma)
  • 24. Repetição Contável Pseudocódigo Python 24 ... para VARIÁVEL variando de VALOR INICIAL a VALOR FINAL com passo INCREMENTO INSTRUÇÃO 1 INSTRUÇÃO 2 ... INSTRUÇÃO N ... ... for VARIÁVEL in (faixa- de-valores): INSTRUÇÃO 1 INSTRUÇÃO 2 ... INSTRUÇÃO N ...
  • 25. Faixa de Valores 25 } Os valores podem ser listados explicitamente } Exemplo: for x in (0,1,2,3,4): print(x)
  • 26. Faixa de Valores 26 } Os valores podem ser listados explicitamente } Exemplo: for x in (0,1,2,3,4): print(x) print(x) será repetido 5 vezes, uma para cada valor especificado entre parênteses no comando for
  • 27. Faixa de Valores 27 } Os valores podem ser especificados como um intervalo com início, fim e incremento, usando range } Exemplo: for x in range(0,5,1): print(x) início (opcional) – quando omitido, início = 0 fim (obrigatório) incremento (opcional) – quando omitido, incremento = 1
  • 28. Exemplo de Range for variavel in range(6): print(variavel) >>> 0 1 2 3 4 5
  • 29. Exemplo de Range for variavel in range(1,6): print(variavel) >>> 1 2 3 4 5
  • 30. Exemplo de Range for variavel in range(2,10,2): print(variavel) >>> 2 4 6 8
  • 31. Exemplo de Range for variavel in range(10,0,-2): print(variavel) >>> 10 8 6 4 2
  • 32. Retomando o Exemplo de Soma de Números Aleatórios 32 } Faça um programa que soma X números gerados aleatoriamente no intervalo de 1 a 10, onde X é informado pelo usuário
  • 33. Soma de Números Aleatórios com while 33 from random import randint x = int(input('Digite um numero: ')) soma = 0 contador = 0 while contador < x: numero_sorteado = randint(1,10) print(numero_sorteado) soma = soma + numero_sorteado contador = contador + 1 print('A soma eh', soma)
  • 34. Soma de Números Aleatórios com while 34 Vamos substituir por um for e eliminar a necessidade de controlar o contador from random import randint x = int(input('Digite um numero: ')) soma = 0 contador = 0 while contador < x: numero_sorteado = randint(1,10) print(numero_sorteado) soma = soma + numero_sorteado contador = contador + 1 print('A soma eh', soma)
  • 35. Soma de Números Aleatórios com for 35 from random import randint x = int(input('Digite um numero: ')) soma = 0 for contador in range(x): numero_sorteado = randint(1,10) print(numero_sorteado) soma = soma + numero_sorteado print('A soma eh', soma)
  • 36. Exemplo 36 } Programa que imprime a soma de todos os números pares entre dois números quaisquer, incluindo-os num1 = int(input('Entre com o valor inicial: ')) num2 = int(input('Entre com o valor final: ')) soma = 0 for i in range(num1, num2 + 1): if i % 2 == 0: soma = soma + i print('A soma eh', soma)
  • 37. Fatorial 37 } Programa para calcular fatorial de um número: numero = int(input(’Digite um inteiro positivo: ')) fatorial = 1 for i in range(1, numero + 1): fatorial = fatorial * i print('O fatorial desse número é ', fatorial)
  • 38. Tabela de Jogos 38 } Programa para gerar a tabela de jogos de um campeonato que tem 5 times (times jogam em casa e na casa do adversário) for time1 in ('Fla','Flu','Bot','Vas','Ame'): for time2 in ('Fla','Flu','Bot','Vas','Ame'): if time1 != time2: print(time1, 'x', time2)
  • 39. Agenda 39 } Programa para imprimir uma agenda diária, com horários de 15 em 15 minutos for hora in range(24): for minuto in range(0,60,15): print(str(hora) + ":" + str(minuto))
  • 40. Exercícios 40 1. Faça um programa para montar a tabela de multiplicação de números de 1 a 10 (ex.: 1 x 1 = 1, 1 x 2 = 2, etc.) 2. Faça um programa para determinar o número de dígitos de um número inteiro positivo informado 3. Faça um programa para calcular a série de Fibonacci para um número informado pelo usuário, sendo F(0) = 0, F(1) = 1 e F(n)= F(n-1)+F(n-2) } Por exemplo, caso o usuário informe o número 9, o resultado seria: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34
  • 41. Exercícios 41 4. Faça um programa para listar todos os divisores de um número ou dizer que o número é primo caso não existam divisores } Ao final, verifique se o usuário deseja analisar outro número
  • 42. Exercícios 42 5. Faça um programa que calcule o retorno de um investimento financeiro fazendo as contas mês a mês, sem usar a fórmula de juros compostos } O usuário deve informar quanto será investido por mês e qual será a taxa de juros mensal } O programa deve informar o saldo do investimento após um ano (soma das aplicações mês a mês considerando os juros compostos), e perguntar ao usuário se ele deseja que seja calculado o ano seguinte, sucessivamente } Por exemplo, caso o usuário deseje investir R$ 100,00 por mês, e tenha uma taxa de juros de 1% ao mês, o programa forneceria a seguinte saída: Saldo do investimento após 1 ano: R$ 1268.25 Deseja processar mais um ano? (S/N)
  • 43. Referências 43 } Slides feitos em conjunto com Leonardo Murta e Aline Paes
  • 44. Estruturas de Repetição Vanessa Braganholo vanessa@ic.uff.br