Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
06/03/2012 1 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição 70 Uma estrutura de repetição é utilizada quando um trecho do algoritmo ou até mesmo o algoritmo inteiro precisa ser repetido. O número de repetições pode ser fixo ou estar atrelado a uma condição. Assim, existem estruturas para tais situações: for while do . . while ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Principio básico de repetição 71 Repetição controlada por contador requer: 1. O nome de uma variável de controle; 2. O valor inicial da variável de controle; 3. A condição de continuação do loop que testa o valor final da variável de controle; 4. Incremento ou decremento pelo qual a variável de controle e modificada a cada passagem pelo loop. 06/03/2012 2 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição FOR 72 Essa estrutura de repetição é utilizada quando se sabe o número de vezes que um trecho do programa deve ser repetido. O formato geral do comando for é composto por três partes: for (i = valor inicial ; condição ; incremento ou decremento de i) { comandos; } 1 2 3 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição FOR 73 A primeira parte atribui um valor inicial à variável i, que tem como função controlar o número necessário de repetições. A segunda parte corresponde a uma expressão relacionai que, quando assumir valor falso, determinará o fim da repetição. A terceira parte é responsável por alterar o valor da variável i (incremento ou decremento) com o objetivo de, em algum momento, fazer com que a condição assuma valor falso. 06/03/2012 3 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição FOR 74 Caso seja necessária a repetição de apenas um comando, o compilador entenderá que a estrutura de repetição terminará quando for encontrado o primeiro (ponto-e- vírgula). for (a=1;a<=20;a++) cout<<“O valor de a é: “<< a; No exemplo acima, à variável a é atribuído inicialmente o valor 1 e depois vai sendo incrementada em uma unidade. A cada incremento, o comando cout é executado. Esse processo se repete até o valor da variável a se tornar maior que 20 (quando a condição a <= 20 assumir valor falso). ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição FOR 75 Se for necessária a repetição de mais de um comando, a estrutura de repetição começará quando for encontrado o símbolo { e terminará quando for encontrado o símbolo }. Exemplo: for (a=15;a>=1;a=a-2) { cout<<"digite um número: “; cin>>x; } No exemplo acima, a variável a é inicializada com o valor 15 e vai sendo decrementada em duas unidades. A cada decremento, o bloco de comando que está entre chaves { ... } é executado. Esse processo se repete até o valor da variável a se tornar menor que 1 (quando a condição a>=i assumir valor falso). 06/03/2012 4 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição FOR 76 for (i = 1; i <=5; i++) cout<<“O valor de i: “<< i; ou for (i = 1; i <=5; i=i+1) cout<<“O valor de i: ”<< i; Nos trechos de programa acima, que expressam a mesma coisa, o comando cout será executado cinco vezes, ou seja, para i valendo 1, 2, 3, 4 e 5. ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição FOR 77 for (i = 10; i >= 1; i--) cout<<“O valor de i: ”<< i; ou for (i = 10; i >= 1; i=i-1) cout<<“O valor de i: ”<< i; Nos trechos de programa acima, que são exatamente a mesma coisa, o comando cout será executado dez vezes, ou seja, para i valendo 10, 8, 7, 6, 5, 4, 3, 2 e 1. 06/03/2012 5 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição FOR 78 for (i = 0; i <= 10; i=i+2) cout<<“O valor de i: ”<< i; No trecho de programa acima, o comando cout será executado seis vezes, ou seja, para i valendo 0, 2,4. 6. 8e 10. for (i = 100; i >= 0; i=i-20) cout<<“O valor de i: ”<<i; No trecho de programa acima, o comando cout será executado seis vezes, ou seja, para i valendo 100, 80, 60, 40, 20 e 0. ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição FOR 79 Altere a variável de controle de 1 a 100 em incrementos de 1. for ( int i= 1; i <= 100; i++ ) Altere a variável de controle de 100 para baixo até 1 em incrementos de -1 (isto é, decrementos de 1). for ( int i = 100; i >= 1; i-- ) Altere a variável de controle de 7 a 77 em passos de 7. for ( int i = 7; i <= 77; i += 7 ) 06/03/2012 6 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição FOR 80 Altere a variável de controle de 20 para baixo até 2 em passos de -2. for ( int i = 20; i >= 2; i -= 2 ) Altere a variável de controle sobre a seguinte sequência de valores: 2, 5, 8,11,14,17, 20. for ( int i = 2; i <= 20; i +=3 ) Altere a variável de controle sobre a seguinte sequência de valores: 99, 88, 77, 66, 55, 44, 33, 22, 11, 0. for ( int i = 99; i >= .0; i -= 11 ) ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição While 81 Trata-se de uma estrutura de repetição que pode ser utilizada quando o número de repetições necessárias não é fixo. Os comandos serão repetidos ate a condição assumir o valor falso. Nesse tipo de estrutura, o teste condicional ocorre no início. Isto significa que existe a possibilidade da repetição não ser executada quando a condição assumir valor falso logo na primeira verificação. while (condição) comando; Enquanto a condição for verdadeira, o comando será executado. 06/03/2012 7 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição While 82 while (condição) { comando1; comando2; comando3; } Enquanto a condição for verdadeira, os comandos que estão dentro das chaves serão executados (comando1, comando2, comando3...). ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição While 83 x = 0; while (x != 5) { cout<<"valor de x - " << x; x = x + 1; } cout"valor de x depois que sair da estrutura = “<< x; No trecho de programa acima, os comandos cout e x = x + i; serão executados cinco vezes. O teste condicional avaliará x valendo 0, 1, 2, 3. 4 e 5. 06/03/2012 8 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição While 84 x = 1; y= 10; while (y > x) { cout<<"valor de y = “<< y; y= y - 2; } cout<<"valor de y depois que sair da estrutura = “<< y; No trecho de programa acima, os comandos cout e y= Y - 2; serão executados cinco vezes. O teste condicional avaliará Y valendo 10, 8, 6, 4, 2 e 0. ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição While 85 x = 1; y = 1; while (x < y) { cout<<"valor de x = “<<x; x = x + 1; } No trecho de programa acima, os comandos cout e x = x + 1, não serão executados, pois com os valores iniciais de x e Y a condição é falsa, logo, não ocorrerá a entrada na estrutura de repetição para execução de seus comandos. 06/03/2012 9 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição DO..While 86 Trata-se de uma estrutura de repetição que pode ser utilizada quando o número de repetições necessárias não é fixo. Os comandos serão repetidos até a condição assumir o valor falso. Nesse tipo de estrutura, o teste condicional ocorre no fim. Isso significa que a repetição será executada no mínimo uma vez, quando todo o bloco for executado uma vez e, ao final, a condição assumir valor falso. ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição DO..While 87 do{ comandos; }while (condição); Os comandos serão repetidos até que a condição assuma valor falso. 06/03/2012 10 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Estrutura de Repetição DO..While 88 x = 0; do{ cout<< "valor de x = “<<x; x = x + 1; }while (x != 5); cout<<"valor de x depois que sair da estrutura = “<<x; Os comandos cout e x = x + i; serão executados cinco vezes. O teste condicional avaliará x valendo 0, 1, 2, 3, 4 e 5. ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba 89 x = 1; y= 10; do{ cout<< "valor de y = “ << y; y= y - 2; }while (y > x); cout<< "valor de y depois que sair da estrutura = “<<y; Os comandos cout e Y = Y – 2; serão executados cinco vezes. O teste condicional avaliará Y valendo 10, 8, 6, 4, 2 e 0. 06/03/2012 11 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Exercícios 90 1. Entrar com 12 números e imprimir a soma de todos os números. 2. Entrar com 12 números e imprimir a média de todos os números. 3. Entrar com 5 números e imprimir quantos números são múltiplos de 6. 4. Entrar com nome, nota da AV1 e nota da AV2 de 15 alunos. Imprimir, a cada entrada: nome, nota da AV1, nota da AV2 e média de cada aluno. Ao final, a média geral da turma. 5. Entrar com um número e imprimir todos os seus divisores. 6. Entrar com um número e imprimir quantos divisores tem o número. 7. Entrar com um número e imprimir a soma dos divisores do número. 8. Entrar com um número e imprimir se o número é, ou não, primo. 9. Ler 8 números inteiros e imprimir quantos são pares e quantos são ímpares. ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Exercícios 91 10. Uma companhia de teatro deseja montar uma série de espetáculos. A direção calcula que, a R$ 5,00 o ingresso, serão vendidos 120 ingressos, e que as despesas serão de R$ 200,00. Diminuindo-se em R$ 0,50 o preço dos ingressos, espera-se que as vendas aumentem em 26 ingressos. Faça um programa que escreva uma tabela de valores de lucros esperados em função do preço do ingresso, fazendo-se variar esse preço de R$ 5,00 a R$ 1,00, de R$ 0,50 em R$ 0,50. Escreva, ainda, para cada novo preço de ingresso, o lucro máximo esperado, o preço do ingresso e a quantidade de ingressos vendidos para a obtenção desse lucro. 06/03/2012 12 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Exercícios 92 11. Faça um programa que receba a idade de 15 pessoas, calcule e mostre: a) a quantidade de pessoas em cada faixa etária; b) a percentagem de pessoas na primeira e na última faixa etária, com relação ao total de pessoas. ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Exercícios 93 12. Faça um programa que receba um número, calcule e mostre a tabuada desse número. 13. Faça um programa que mostre as tabuadas dos números de 1 a 10. 14. Uma loja utiliza o código V para transação à vista e P para transação a prazo. Faça um programa que receba o código e o valor de quinze transações, calcule e mostre: a) o valor total das compras à vista; b) o valor total das compras a prazo; c) o valor total das compras efetuadas; d) o valor da primeira prestação das compras a prazo juntas, sabendo-se que serão pagas em três vezes. 06/03/2012 13 ENGENHARIAS – LINGUAGEM DE PROGRAMAÇÃO I – Henry Costa Lubanco / Joelio Piraciaba Exercícios 94 15. Faça um programa que receba a idade, a altura e o peso de 25 pessoas, calcule e mostre: a) a quantidade de pessoas com idade superior a 50 anos; b) a média das alturas das pessoas com idade entre 10 e 20 anos; c) a percentagem de pessoas com peso inferior a 40 quilos entre todas as pessoas analisadas. 16. Faça um programa que receba a idade, o peso, a altura, a cor dos olhos (A - azul, P - preto, V - verde e C - castanho) e a cor dos cabelos (P - preto, C - castanho, L - louro e R - ruivo) de vinte pessoas, e que calcule e mostre: a) a quantidade de pessoas com idade superior a 50 anos e peso inferior a 60 quilos; b) a média das idades das pessoas com altura inferior a 1,50 metro; c) a percentagem de pessoas com olhos azuis entre todas as pessoas analisadas; d) a quantidade de pessoas raivas e que não possuem olhos azuis.