Baixe o app para aproveitar ainda mais
Prévia do material em texto
Aula 13 – Estrutura de Repetição - For Computação I - 2014/1 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. Até o momento vimos o while: While condição: conjunto de comandos • Com while podemos implementar qualquer algoritmo que envolva repetição. Porém o while é mais recomendado quando não se sabe ao certo quantas vez a repetição será feita. Computação I - 2014/1 3 Estrutura de repetição Lembra do exercício abaixo? Faça uma função que gere números aleatórios entre 1 e 10 e calcule a soma destes números até que seja gerado o número 5. • Neste caso, o número de vezes que os comandos do while irão repetir depende de quando sair o número 5. Podem ser 2 vezes ou 1000 vezes! Computação I - 2014/1 4 Estrutura de repetição Agora observe o exercício abaixo: Faça uma função some 10 números gerados aleatoriamente no intervalo de 1 a 5. Como seria essa função com while? Computação I - 2014/1 5 Estrutura de repetição Agora observe o exercício abaixo: Faça uma função some 10 números gerados aleatoriamente no intervalo de 1 a 5. • O número de repetições é fixo? Computação I - 2014/1 6 Estrutura de repetição - For Agora observe o exercício abaixo: Faça uma função some 10 números gerados aleatoriamente no intervalo de 1 a 5. • O número de repetições será sempre 10, independente dos números aleatórios que estão sendo gerados. • Neste caso, uma opção é usar a estrutura de repetição For, para simplificar o código. Computação I - 2014/1 7 Estrutura de repetição - For Agora observe o exercício abaixo: Faça uma função some 10 números gerados aleatoriamente no intervalo de 1 a 5. for var in range(...): comandos Computação I - 2014/1 8 Estrutura de repetição - For Agora observe o exercício abaixo: Faça uma função some 10 números gerados aleatoriamente no intervalo de 1 a 5. for var in range(...): comandos A variável contador vai assumir os valores 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9 Computação I - 2014/1 9 Estrutura de repetição - For Observe a diferença entre o uso do while e o uso do for: • Quando se usa For, o contador é inicializado automaticamente com o valor 0 ( no caso de range(numero)), ou com outro valor definido no range. • O For também incrementa o contador automaticamente de quantos passos quanto estiver especificado no range. 10 Estrutura de repetição - For 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 - 2014/1 11 Estrutura de repetição - For 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 - 2014/1 ATENÇÃO: COMEÇA COM ZERO 12 Estrutura de repetição - For 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 - 2014/1 São equivalentes: range( 10 ) range( 0, 10 ) range( 0, 10, 1 ) 13 Estrutura de repetição - For >>> range(3) >>> range(2,5,2) >>> range(5,2,-2) Computação I - 2014/1 14 Estrutura de repetição - For >>> range(3) [0,1, 2] >>> range(2,5,2) [2,4] >>> range(5,2,-2) [5,3] Isto são listas. Computação I - 2014/1 15 Estrutura de repetição - For a) Variável de controle de 1 a 100 com incrementos de 1 for contador in range( 1, 101 ): b) Variável de controle de 100 a 1 com incrementos de –1 for contador 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 - 2014/1 16 Estrutura de repetição - For a) Variável de controle de 1 a 100 com incrementos de 1 for contador in range( 1, 101 ): b) Variável de controle de 100 a 1 com incrementos –1 for contador in range( 100, 0, –1 ): c) Variável de controle de 7 a 77 com incrementos de 7. for contador in range( 7, 78, 7 ): d) Variável de controle de 20 a 2 com incrementos de -2. for contador 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 contador 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 contador in range( 99, -1, -11 ): Exercício Computação I - 2014/1 17 Estrutura de repetição - For Faça um programa que determina a soma de todos os números pares desde 100 até 200. (Usando For ao invés de While) Exercício Computação I - 2014/1 18 Estrutura de repetição - For Faça um programa que determina a soma de todos os números pares desde 100 até 200. (Usando For ao invés de While) Exercício Computação I - 2014/1 def somaPares(): Soma = 0 for Par in range(100,202,2) : Soma = Soma + Par return Soma 19 Estrutura de repetição Comandos que permitem alterar o fluxo da estrutura de repetição. Vimos o uso deles no while. Também podem ser usados com for. Break e Continue O que aparecerá escrito na tela? def Exemplo(): for x in range(1, 11): if x == 5: break print x return “terminou” Computação I - 2014/1O print foi colocado só para Visualizar o passo a passo na tela 20 Estrutura de repetição Comandos que permitem alterar o fluxo da estrutura de repetição. Vimos o uso deles no while. Também podem ser usados com for. Break e Continue >> Exemplo() 1 2 3 4 terminou def Exemplo(): for x in range(1, 11): if x == 5: break print x return “terminou” Computação I - 2014/1 21 Estrutura de repetição Comandos que permitem alterar o fluxo da estrutura de repetição. Break e Continue O que aparecerá escrito na tela? def Exemplo1(): for x in range( 1, 11 ): if x == 5: continue print x return “terminou” Computação I - 2014/1 O print foi colocado só para Visualizar o passo a passo na tela 22 Estrutura de repetição Comandos que permitem alterar o fluxo da estrutura de repetição. Break e Continue >>> Exemplo1() 1 2 3 4 6 7 8 9 10 terminou def Exemplo1(): for x in range( 1, 11 ): if x == 5: continue print x return “terminou” Computação I - 2014/1 23 Estrutura de repetição - For 1) Faça uma função que calcule o valor de N!, onde N é passado como parâmetro. (Sem usar o factorial do módulo Math). 2) Faça uma função que determina se um dado número positivo é primo ou não. 3) Faça um programa que conte quantos divisores um dado número tem. Exemplo: Se o número for 10, os divisores são: 1, 2, 5 e 10; Total de 4 divisores. Exercícios – Resolva usando for Computação I - 2014/1 24 Estrutura de repetição Exercícios – Resolva usando for 4) Faça uma função que calcule e retorne o valor de S = (1/1)+(3/2)+(5/3)+(7/4)+....+(99/50) 5) Faça uma função que calcule e retorne o valor de S = (1/1)-(2/4)+(3/9)-(4/16)+....-(10/100) Computação I - 2014/1 25 Aula 13 – Estrutura de Repetição - For Computação I - 2014/1
Compartilhar