Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 9 – Estrutura de Repetição Computação I - 2012/2 2 Estrutura de repetição Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada condição for verdadeira. O que fazer para fornecer mais de um número antes do programa terminar ? def main(): X= input("Me forneça um inteiro: ") if X > 0 : print "%d é um inteiro positivo" % X else : if X < 0 : print "%d é um inteiro negativo" % X else : print "%d é zero" % X if __name__ == "__main__": main() Computação I - 2012/2 3 Estrutura de repetição Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada condição for verdadeira. while expressão : comandos def main(): X = raw_input("Me forneça um inteiro: ") while X != “fim”: X = int(X) if X > 0 : print "%d é um inteiro positivo" % X else : if X < 0 : print "%d é um inteiro negativo" % X else : print "%d é zero" % X X = raw_input("Me forneça um inteiro: ") if __name__ == "__main__": main() Computação I - 2012/2 4 Estrutura de repetição Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada condição for verdadeira. while expressão : comandos def main(): X = raw_input("Me forneça um inteiro: ") while X != “fim”: X = int(X) if X > 0 : print "%d é um inteiro positivo" % X else : if X < 0 : print "%d é um inteiro negativo" % X else : print "%d é zero" % X X = raw_input("Me forneça um inteiro: ") print “Tchau :~)” if __name__ == "__main__": main() Computação I - 2012/2 5 Estrutura de repetição Faça um programa que determina a soma de todos os números pares desde 100 até 200. Computação I - 2012/2 6 Estrutura de repetição Faça um programa que determina a soma de todos os números pares desde 100 até 200. def main(): Soma = 0 Par = 100 while Par <= 200 : Soma = Soma + Par Par = Par + 2 print Soma if __name__ == "__main__": main() Computação I - 2012/2 7 Estrutura de repetição O programa abaixo apresenta algum problema? def main(): X = 10 while X > 8 : print X X = X + 2 if __name__ == "__main__": main() Computação I - 2012/2 8 Estrutura de repetição Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada condição for verdadeira. O que fazer para fornecer mais de um número antes do programa terminar ? Considere que eu quero deixar o usuário dar apenas 3 números. def main(): X = input("Me forneça um inteiro: ") if X > 0 : print "%d é um inteiro positivo" % X else : if X < 0 : print "%d é um inteiro negativo" % X else : print "%d é zero" % X if __name__ == "__main__": main() Computação I - 2012/2 9 Estrutura de repetição Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada condição for verdadeira. def main(): Conta = 0 while Conta < 3: X = input("Me forneça um inteiro: ") if X > 0 : print "%d é um inteiro positivo" % X else: if X < 0 : print "%d é um inteiro negativo" % X else : print "%d é zero" % X Conta = Conta + 1 if __name__ == "__main__": main() Computação I - 2012/2 10 Estrutura de repetição Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada condição for verdadeira. def main(): for Conta in range(3) : X= input("Me forneça um inteiro: ") if X > 0 : print "%d é um inteiro positivo" % X else: if X < 0 : print "%d é um inteiro negativo" % X else: print "%d é zero" % X if __name__ == "__main__": main() for var in range(...) Computação I - 2012/2 11 Estrutura de repetição Permite que o programador especifique que o programa deve repetir um conjunto de comandos enquanto uma dada condição for verdadeira. def main(): for Conta in range(3) : X= input("Me forneça um inteiro: ") if X > 0 : print "%d é um inteiro positivo" % X else: if X < 0 : print "%d é um inteiro negativo" % X else: print "%d é zero" % X if __name__ == "__main__": main() for var in range(...) A variável Conta vai assumir os valores 0,1 e 2 Computação I - 2012/2 12 Estrutura de repetição A função range(...) pode ter 1, 2 ou 3 argumentos: ✔ range(numero): faz com que a variável do for assuma valores de 0 a numero-1 Exemplo: for x in range(10) → x recebe 0,1,2,...,9 ✔ range(inf,sup): faz com que a variável do for assuma valores de inf a sup-1 Exemplo: for x in range(3,8) → x recebe 3,4,5,6,7 ✔ range(inf, sup, inc): faz com que a variável do for assuma valores de inf a sup-1 com incremento de inc Exemplo: for x in range(3,8,2) → x recebe 3,5,7 Computação I - 2012/2 13 Estrutura de repetição A função range(...) pode ter 1, 2 ou 3 argumentos: ✔ range(numero): faz com que a variável do for assuma valores de 0 a numero-1 Exemplo: for x in range(10) → x recebe 0,1,2,...,9 ✔ range(inf,sup): faz com que a variável do for assuma valores de inf a sup-1 Exemplo: for x in range(3,8) → x recebe 3,4,5,6,7 ✔ range(inf, sup, inc): faz com que a variável do for assuma valores de inf a sup-1 com incremento de inc Exemplo: for x in range(3,8,2) → x recebe 3,5,7 ATENÇÃO: COMEÇA COM ZERO Computação I - 2012/2 14 Estrutura de repetição A função range(...) pode ter 1, 2 ou 3 argumentos: ✔ range(numero): faz com que a variável do for assuma valores de 0 a numero-1 Exemplo: for x in range(10) → x recebe 0,1,2,...,9 ✔ range(inf,sup): faz com que a variável do for assuma valores de inf a sup-1 Exemplo: for x in range(3,8) → x recebe 3,4,5,6,7 ✔ range(inf, sup, inc): faz com que a variável do for assuma valores de inf a sup-1 com incremento de inc Exemplo: for x in range(3,8,2) → x recebe 3,5,7 São equivalentes: range( 10 ) range( 0, 10 ) range( 0, 10, 1 ) Computação I - 2012/2 15 Estrutura de repetição >>> range(3) >>> range(2,5,2) >>> range(5,2,-2) Computação I - 2012/2 16 Estrutura de repetição >>> range(3) [0,1, 2] >>> range(2,5,2) [2,4] >>> range(5,2,-2) [5,3] Isto são listas. Computação I - 2012/2 17 Estrutura de repetição a) Variável de controle de 1 a 100 com incrementos de 1 for counter in range( 1, 101 ): b) Variável de controle de 100 a 1 com incrementos de –1 for counter in range( 100, 0, –1 ): c) Variável de controle de 7 a 77 com incrementos de 7. d) Variável de controle de 20 a 2 com incrementos de -2. e) Variável de controle sobre a seguinte sequência de valores: 2, 5, 8, 11, 14,17, 20. f) Variável de controle sobre a seguinte sequência de valores: 99, 88, 77, 66, 55, 44, 33, 22, 11, 0. Exercício Computação I - 2012/2 18 Estrutura de repetição a) Variável de controle de 1 a 100 com incrementos de 1 for counter in range( 1, 101 ): b) Variável de controle de 100 a 1 com incrementos –1 for counter in range( 100, 0, –1 ): c) Variável de controle de 7 a 77 com incrementos de 7. for counter in range( 7, 78, 7 ): d) Variável de controle de 20 a 2 com incrementos de -2. for counter in range( 20, 1, -2 ): e) Variável de controle sobre a seguinte sequência de valores: 2, 5, 8, 11, 14,17, 20. for counter in range( 2, 21, 3 ): f) Variável de controle sobre a seguinte sequência de valores: 99, 88, 77, 66, 55, 44, 33, 22, 11, 0. for counter in range( 99, -1, -11 ): Exercício Computação I - 2012/2 19 Estrutura de repetição Faça um programa que determina a soma de todos os números pares desde 100 até 200. ExercícioComputação I - 2012/2 20 Estrutura de repetição Faça um programa que determina a soma de todos os números pares desde 100 até 200. def main(): Soma = 0 for Par in range(100,202,2) : Soma = Soma + Par print Soma if __name__ == "__main__": main() Exercício Computação I - 2012/2 21 Estrutura de repetição Comandos que permitem alterar o fluxo da estrutura de repetição. Break e Continue Qual a saída deste programa?Qual a saída deste programa? def main(): for x in range( 1, 11 ): if x == 5: break print x print "O bloco de repetição foi interrompido quando x = %d"% x if __name__ == "__main__": main() Computação I - 2012/2 22 Estrutura de repetição Comandos que permitem alterar o fluxo da estrutura de repetição. Break e Continue 11 22 33 44 O bloco de repetição foi interrompido quando x = 5O bloco de repetição foi interrompido quando x = 5 def main(): for x in range( 1, 11 ): if x == 5: break print x print "O bloco de repetição foi interrompido quando x = %d"% x if __name__ == "__main__": main() Computação I - 2012/2 23 Estrutura de repetição Comandos que permitem alterar o fluxo da estrutura de repetição. Break e Continue Qual a saída deste programa?Qual a saída deste programa? def main(): for x in range( 1, 11 ): if x == 5: continue print x print "O bloco de repetição foi interrompido quando x = %d"% x if __name__ == "__main__": main() Computação I - 2012/2 24 Estrutura de repetição Comandos que permitem alterar o fluxo da estrutura de repetição. Break e Continue 11 22 33 44 66 77 88 99 1010 O bloco de repetição foi interrompido quando x = 10O bloco de repetição foi interrompido quando x = 10 ATENÇÃO def main(): for x in range( 1, 11 ): if x == 5: continue print x print "O bloco de repetição foi interrompido quando x = %d"% x if __name__ == "__main__": main() Computação I - 2012/2 25 Estrutura de repetição 1. Faça uma função que calcule o valor de N!. 2. Faça uma função que calcule os elementos da sequência de Fibonacci que são menores que 2000. 3. Faça uma função que calcule a média de N notas fornecidas pelo usuário. 4. Altere o programa anterior para que ele calcule a média sem que seja fornecido o valor de N. 5. Faça uma função que determina se um dado número positivo é primo ou não. Exercícios – Resolva usando while e for Computação I - 2012/2 26 Estrutura de repetição Exercícios – Resolva usando while e for 6. Faça uma função que calcule e escreva o valor de S = (1/1)+(3/2)+(5/3)+(7/4)+....+(99/50) 7. Faça uma função que calcule e escreva o valor de S = (1/1)-(2/4)+(3/9)-(4/16)+....-(10/100) 8. Fazer uma função para calcular e escrever o valor do número pi com precisão de 0.0001, usando a série: 4-(4/3)+(4/5)-(4/7)+(4/9)-(4/11)+... Computação I - 2012/2 27 Aula 9 – Estrutura de Repetição Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16 Slide 17 Slide 18 Slide 19 Slide 20 Slide 21 Slide 22 Slide 23 Slide 24 Slide 25 Slide 26 Slide 27
Compartilhar