Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Estruturas de Controle Estrutura de Repetição for Linguagem de Programação I - Cátia Khouri & Fábio Moura 1 Aspectos essenciais da repetição por contador 3/25/2009 Linguagem de Programação I - Estruturas de Controle 2 Uma variável de controle O valor inicial da variável de controle A condição que testa o valor final da variável de controle O incremento (ou decremento) pelo qual a variável de controle é modificada cada vez em uma execução do laço 2 Exemplo: imprimir os números de 1 a 10 3/25/2009 Linguagem de Programação I - Estruturas de Controle 3 cont = 1 # valor inicial de cont while cont <= 10: # condição valor final print cont, cont += 1 # incremento = 1 3 Monitor Executando... 3/25/2009 Linguagem de Programação I - Estruturas de Controle 4 cont = 1; while cont <=10: print cont, ‘ ’, cont += 1 1 2 3 4 5 6 7 8 9 10 Memória cont 1 2 3 4 5 6 7 8 9 10 11 Fim F 4 Estrutura de repetição for 3/25/2009 Linguagem de Programação I - Estruturas de Controle 5 Em linguagens tradicionais, a instrução for é adequada para estrutura de repetição controlada por contador Exemplos: Em BASIC FOR contador = inicio TO fim FOR C = 1 TO 10 ‘ Uma ou mais instruções PRINT “O quadrado de ”; C; “ eh ”; C * C NEXT NEXT C O quadrado de 1 eh 1 O quadrado de 2 eh 4 O quadrado de 3 eh 9 ... O quadrado de 9 eh 81 O quadrado de 10 eh 100 5 Estrutura de repetição for (cont.) 3/25/2009 Linguagem de Programação I - Estruturas de Controle 6 Exemplos (cont.) Em C++ #include <iostream.h> #include <stdio.h> int main() { for (int c = 1; c <= 10; c++) { cout << “O quadrado de ” << c << “ eh ” << c * c << “\n”; } return 0; } 6 Estrutura de repetição for (cont.) 3/25/2009 Linguagem de Programação I - Estruturas de Controle 7 Em Python, a instrução for funciona mais como um tipo de laço iterativo, onde cada elemento de uma seqüência é acessado uma vez Exemplo: for c in range(1,11): print "O quadrado de ", c, " eh ", c*c A função range retorna uma lista de valores em uma faixa range(3) range(2,5) range(1,10,2) range(6,1,-1) [0, 1, 2] [2, 3, 4] [1, 3, 5, 7, 9] [6, 5, 4, 3, 2] A instrução for busca cada elemento desta lista, armazena em c e executa a seqüência de comandos 7 Outros exemplos... 3/25/2009 Linguagem de Programação I - Estruturas de Controle 8 print ‘Eu gosto de usar a Internet para:’ for item in ['e-mail', ‘navegar', ‘trabalho', 'chat']: print item, print Eu gosto de usar a Internet para: e-mail navegar trabalho chat texto = "Hello World" # Imprimindo os caracteres em 'texto' for c in texto: print c H e l l o W o r l d 8 Estrutura de repetição for (em Python) 3/25/2009 Linguagem de Programação I - Estruturas de Controle 9 Fim da lista? print cont, True for cont in range(1, 11): print cont, cont = próximo elemento print cont, corpo do laço corpo do laço False range(1,11) = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 9 Laço for tradicional em C++ 3/25/2009 Linguagem de Programação I - Estruturas de Controle 10 cout<< cont cout<< cont for (int cont = 1; cont <= 10; cont++) cout << cont << ´ `; cont <= 10 false cont++ cont = 1 true cont = 1 cont++ cont <= 10 cout<< cont cont++ cont <= 10 cout<< cont cont++ cont <= 10 cout<< cont cont++ cont <= 10 cout<< cont cont++ cont <= 10 cout<< cont cont++ cont <= 10 1 2 3 4 5 6 7 8 9 10 cout<< cont cont++ cont <= 10 cout<< cont cont++ cont <= 10 cout<< cont cont++ cont <= 10 cout<< cont cont++ cont <= 10 10 Laço for tradicional em C++ 3/25/2009 Linguagem de Programação I - Estruturas de Controle 11 for(int cont = 1; cont <= 10; cont++) cout << cont << ´ `; cont <= 10 cout<< cont false cont++ cont = 1 true 1 3 4 2 11 Exemplos de uso da estrutura for 3/25/2009 Linguagem de Programação I - Estruturas de Controle 12 Faça a variável de controle variar de 1 a 100 em incrementos de 1 for i in range(1, 101): Faça a variável de controle variar de 100 a 1 em incrementos de –1 (decrementos de 1) for i in range(100, 0, -1): Faça a variável de controle variar de 7 a 77 em incrementos de 7 for i in range(7, 78, 7): 12 Exemplos de uso da estrutura for 3/25/2009 Linguagem de Programação I - Estruturas de Controle 13 Calcular o somatório de todos os inteiros de 2 a 100 soma = 0 for num in range(2,101): soma += num print "A soma eh", soma 13 Exemplos de uso da estrutura for 3/25/2009 Linguagem de Programação I - Estruturas de Controle 14 Calcular a média entre 10 notas total = 0.0 for i in range(10): print "Forneca a nota", i+1, ":", nota = float(raw_input()) total += nota media = total/10 print "A media eh", media 14 Exemplos de uso da estrutura for 3/25/2009 Linguagem de Programação I - Estruturas de Controle 15 Uma pessoa investe R$ 1.000,00 em uma aplicação rendendo 5%, ao ano, de juros; assumindo que todo rendimento dos juros é deixado na conta, calcule e imprima a quantia na conta no fim de todo ano, por 10 anos c = capital inicial t = taxa anual de juros n = número de anos m = montante no ano n 15 3/25/2009 Linguagem de Programação I - Estruturas de Controle 16 c t n m 1000,00 0,05 1 1050,00 1000,00 0,05 2 1102,50 1000,00 0,05 3 1157,63 1000,00 0,05 4 1215,51 ... ... ... ... 1000,00 0,05 10 1628,89 16 Exemplos de uso da estrutura for 3/25/2009 Linguagem de Programação I - Estruturas de Controle 17 Uma pessoa investe R$ 1.000,00 em uma aplicação rendendo 5%, ao ano, de juros; assumindo que todo rendimento dos juros é deixado na conta, calcule e imprima a quantia na conta no fim de todo ano, por 10 anos Estrutura de repetição controlada por contador 17 Exemplos de uso da estrutura for 3/25/2009 Linguagem de Programação I - Estruturas de Controle 18 Refinamento Inicializar variáveis capital = 1000 taxa = 0.05 Fazer contador variar de 1 a 10 Calcular e imprimir a quantia em conta no final de cada ano FIM 18 Exemplos de uso da estrutura for 3/25/2009 Linguagem de Programação I - Estruturas de Controle 19 1 2 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 A n o Q u a n t i a e m d e p o s i t o # Inicializando variáveis capital = 1000.0 taxa = 0.05 # Imprimindo o cabeçalho da tabela print "Ano Quantia em deposito" 19 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 A n o Q u a n t i a e m d e p o s i t o 1 1 0 5 0 . 0 0 2 1 1 0 2 . 5 0 1 2 1 2 3 1 2 3 4 5 6 7 8 9 0 1 2 . 1 2 A n o Q u a n t i a e m d e p o s i t o 1 1 0 5 0 . 0 0 Exemplos de uso da estrutura for 3/25/2009 Linguagem de Programação I - Estruturas de Controle 20 for ano in range(1,11): montante = capital * (1 + taxa) ** ano # Imprimindo valores formatados print "%2d %15.2f" % (ano, montante) 20 Caracteres para formatação de strings 3/25/2009 Linguagem de Programação I - Estruturas de Controle 21 Caractere Formato de saída d, i Inteiro decimal ou longo u Inteiro sem sinal f Real de ponto flutuante como[-]m.dddddd e Ponto flutuantecomo[-]m.dddddde±xx E Ponto flutuante como[-]m.ddddddE±xx s String c Um único caractere % Caractereespecial % 21 Exemplos 3/25/2009 Linguagem de Programação I - Estruturas de Controle 22 Instrução Saída a = 42 b = 13.142783 c = “hello” print ‘a eh %d’ % a “aeh42” print‘%10d %f’ % (a,b) “ 42 13.142783” print‘%+010d %E’ % (a,b) “+000000042 1.314278E+01” print‘%0.4s’ % c “hell” print'%0.3s' % c “hel” print‘%*.*f’% (5,3,b) “13.143” print‘%*.*f’ % (4, 2, b) “13.14” print‘%4.2f’ % b “13.14” 22 Exercícios 3/25/2009 Linguagem de Programação I - Estruturas de Controle 23 Crie laços usando while e for Escreva um laço que conte de 0 a 10 usando while Faça o mesmo laço usando o for e a função range() Escreva um programa para receber um texto como entrada e a seguir imprimir o texto um caractere por vez, implemente utilizando inicialmente a instrução for e em seguida a instrução while. Crie uma lista com cinco números e imprima a soma dos valores. Então atualize o seu programa para que o conjunto de números seja fornecido pelo usuário. Implemente a sua solução duas vezes: uma usando while e outra usando for. 23 Exercícios (cont.) 3/25/2009 Linguagem de Programação I - Estruturas de Controle 24 Modifique o programa do exercício anterior para que além de fornecer a soma, ele também forneça a média aritmética entre os números, com precisão de 2 dígitos. Use raw_input() para pedir ao usuário por um valor entre 1 e 10. Se a entrada estiver correta, indicar através de uma mensagem e sair. Caso contrário, mostrar uma mensagem de erro e pedir ao usuário para entrar com o valor novamente até que a resposta esteja correta. Peça ao usuário para entrar com três valores, armazene em três variáveis diferentes. Sem usar listas ou algoritmos de ordenação, ordene e imprima os valores do menor para o maior. Como você poderia modificar o programa para que ele ordenasse do maior para o menor? 24
Compartilhar