Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNA - Centro Universitário Algoritmos – Lista de Revisão e Fixação Prof. Humberto Nigri Orientações • A lista abaixo foi elaborada visando desenvolver a capacidade de resolver problemas simples envolvendo algoritmos e exercitar o raciocínio lógico. • Muitos dos exercícios são semelhantes entre si visando verificar se a forma de solução foi fixada pelo aluno. • Cabe ao aluno decidir quantos ou quais exercícios deverá fazer, lembrando que, quanto maior for a dificuldade encontrada na matéria maior é a quantidade recomendada de exercícios. • Os exercícios marcados em negrito se encontram resolvidos pelo professor no final da lista e servem de modelo para a solução dos demais. • Antes de olhar a solução dada, recomendamos que tente fazer os exercícios prontos e confronte-os com a solução pronta. Lembre-se que são possíveis diversas soluções para um mesmo problema. • Os programas foram desenvolvidos e testados no Dev C++, mas os detalhes específicos do compilador foram retirados. Caso queiram testar em algum compilador real, lembrem-se de colocar os #include e comandos para pausa recomendáveis em cada caso Problemas de Percentual 1. Fazer um programa que leia o salário de 342 pessoas, calcule e imprima para cada um o novo salário com um aumento de 25% 2. Fazer um programa que leia o salário de 243 pessoas, calcule e imprima para cada um o novo salário com desconto de 11% de INSS. 3. Fazer um programa que leia o salário de um número indeterminado de pessoas, calcule e imprima para cada um o novo salário com um aumento de 25%, e ao final mostre a quantidade de salários calculados. A entrada de dados termina quando for informado um salário igual a Zero. 4. Fazer um programa que leia o salário de um número indeterminado de pessoas, calcule e imprima para cada um o novo salário com um aumento de 25% e desconto de 11% de INSS. A entrada de dados termina quando for informado um salário igual a Zero. 5. Fazer um programa que leia o salário de 1513 pessoas, calcule e imprima para cada um: a. O novo salário com acréscimo de 25% b. O valor do acréscimo, em separado. 6. Fazer um programa que leia o salário de 3151 pessoas, calcule e imprima para cada um: a. O novo salário com desconto de 11% de INSS. b. O valor do desconto em separado. 7. Fazer um programa que leia o salário de um número indeterminado de pessoas, calcule e imprima para cada um: a. O valor do acréscimo, em separado. b. O valor do desconto em separado. c. O novo salário com acréscimo de 25% e o desconto de 11% de INSS d. A quantidade de salários calculados (no final do programa) A entrada de dados termina quando for informado um salário igual a Zero. 8. Fazer um programa que leia o valor de uma aplicação, calcule e imprima: a. O valor do rendimento no período, que foi de 1,5% b. O valor do imposto sobre o rendimento que é de 13% sobre o valor do rendimento (ou seja, que foi calculado na letra a) c. O saldo da aplicação considerando o rendimento e o imposto pago 9. Fazer um programa que leia o valor das aplicações de 213 Clientes, calcule e imprima para cada cliente: a. O valor do rendimento no período, que foi de 1,5% b. O valor do imposto sobre o rendimento que é de 13% sobre o valor do rendimento (ou seja, que foi calculado na letra a) c. O saldo da aplicação considerando o rendimento e o imposto pago 10. Fazer um programa que leia o valor de uma aplicação, calcule e imprima novo valor sendo que o percentual do rendimento deverá também ser lido do teclado. 11. Fazer um programa que leia uma quantidade indeterminada de aplicações e o seu rendimento respectivo, calcule e imprima novo valor de cada aplicação. A entrada de dados termina quando for informada uma aplicação negativa. 12. Fazer um programa que leia 112 aplicações, o seu rendimento e imposto respectivo, calcule e imprima novo valor final de cada aplicação. Problemas de Conversão de Unidades 13. Ler um valor de horas, minutos e segundos e converter para o seu equivalente em segundos. 14. Ler um conjunto 123 pares de valores representando o tempo gasto por alunos, em horas e minutos para fazer esta lista de exercícios. Converter o tempo de cada aluno em segundos e imprimir 15. Ler um conjunto indeterminado de pares de valores representando o tempo gasto por alunos, em horas e minutos para fazer esta lista de exercícios. Converter o tempo de cada aluno em segundos e imprimir. A lista de dados termina com um valor hora negativa. 16. Ler o tempo gasto pelo professor em segundos para bolar essa lista de exercícios, transformar e imprimir no formato de horas:minutos:segundos. 17. Ler um conjunto 321 de valores representando o tempo gasto, em segundos, por vários professores para corrigir as listas de exercícios dos seus alunos. Transformar e imprimir no formato horas:minutos:segundos. 18. Ler um conjunto indeterminado de valores representando o tempo gasto, em segundos, por vários professores para corrigir as listas de exercícios dos seus alunos. Transformar e imprimir no formato horas:minutos:segundos. A lista de dados termina com um valor igual a Zero. 19. Fazer um programa que gere uma tabela de conversão de milhas/hora para pés/segundo, começando em 0 com incremento de 5 milhas/hora. A última linha deve conter o valor 65 milhas/hora. (1 milha = 5280 pés) 20. Fazer um programa para gera uma tabela de conversão de francos franceses para dólares americanos, contendo 25 linhas, com valor inicial de 5 francos e variação de 1 em 1 franco. ( 1 US$ = 5,045 Fr ) 21. Fazer um programa para gerar uma tabela de conversão de graus para o valor do seu cosseno para uma variação de ângulo de 0 a 360 de 15 em 15 graus. Os valores devem ser convertidos para radianos. 22. Fazer um programa para gerar uma tabela de conversão de graus para os respectivos senos e cossenos para uma variação de ângulo de 0 a 360 de 15 em 15 graus. (use as funções cos() para o cosseno e sin() para o seno) 23. Crie uma tabela para conversão de graus °C para °F para valores de 0°C a 100°C, com variação unitária. Sabe-se que para a conversão de temperatura usa-se a formula: °F = 9 * °C / 5 + 32. 24. Crie uma tabela para conversão de °K para °C para valores de 0°K a 100°K, com variação unitária. Sabe-se que para a conversão de temperatura usa-se a formula: °K = °C + 273,15. 25. Crie uma tabela de conversão de centímetros para polegadas, começando de 0cm e terminando em 100cm, com variação de 2 em 2. (cada 2,5 cm equivalem a uma polegada) 26. Usando as fórmulas das questões anteriores, crie uma tabela para conversão de °F para °K para valores de 0°F a 200°F, com variação unitária. Media 27. Foi feita uma pesquisa em 200 postos dos preços da gasolina. Ler os valores da cada posto, calcular e imprimir o preço médio dos postos pesquisados. 28. Foi feita uma pesquisa entre 450 pacientes de um hospital sobre o tempo, em horas, que eles esperavam na fila. Calcular o tempo médio de espera para os pacientes pesquisados 29. Foi feita uma pesquisa entre 1230 assinantes de TV a Cabo para saber quantos filmes, por mês, cada usuário assiste. Calcular a quantidade média de filmes assistidos por mês por usuário 30. Foi feita uma pesquisa em uma casa lotérica com 245 apostadores para saber quanto cada apostador gasta por mês (aproximadamente) em apostas na sena. Calcular o volume médio aproximado de apostas por cliente no mês. 31. Foi feita uma pesquisa em 200 postos dos preços da gasolina, do álcool e do diesel. Ler para cada posto, os valores da cada combustível, calcular e imprimir o preço médio para cada tipo de combustível dentre os postos pesquisados. 32. Foi feita uma pesquisa entre 450 pacientes de um hospital. Cada paciente informou a sua idade, renda mensal e o tempo, em horas, que esperavana fila. Calcular: a idade média, a renda média e o tempo médio de espera para os pacientes pesquisados. 33. Foi feita uma pesquisa entre 1230 assinantes de TV a Cabo sendo perguntado: quantos eram os canais mais assistidos, quantos filmes, por mês, cada usuário assistia e a idade dos entrevistados. Calcular a quantidade média de canais assistidos, filmes por mês por usuário e a idade média dos usuários. 34. Foi feita uma pesquisa em uma casa lotérica com 245 apostadores para saber: quantas vezes, por mês, cada apostador fazia suas apostas, quanto apostava por mês (aproximadamente) e em quantos jogos (sena, federal, mineira, etc). Calcular a média de apostas, o valor gasto em apostas e a quantidade de jogos no mês. 35. Foi feita uma pesquisa em um número indeterminado de postos dos preços da gasolina, do álcool e do diesel. Ler para cada posto, os valores da cada combustível, calcular e imprimir o preço médio para cada tipo de combustível dentre os postos pesquisados. Os dados terminam quando for digitado um valor de preço de gasolina igual a Zero. 36. Foi feita uma pesquisa com um número indeterminado de pacientes de um hospital. Cada paciente informou a sua idade, renda mensal e o tempo, em horas, que esperava na fila. Calcular: a idade média, a renda média e o tempo médio de espera para os pacientes pesquisados. Os dados terminam quando for digitada uma idade negativa. 37. Foi feita uma pesquisa com um número indeterminado de assinantes de TV a Cabo sendo perguntado: quantos eram os canais mais assistidos, quantos filmes, por mês, cada usuário assistia e a idade dos entrevistados. Calcular a quantidade média de canais assistidos, filmes por mês por usuário e a idade média dos usuários. Os dados terminam quando for digitada uma quantidade negativa de canais de TV. 38. Foi feita uma pesquisa em uma casa lotérica com um número indeterminado de apostadores para saber: quantas vezes, por mês, cada apostador fazia suas apostas, quanto apostava por mês (aproximadamente) e em quantos jogos (sena, federal, mineira, etc). Calcular a média de apostas, o valor gasto em apostas e a quantidade de jogos no mês. Os dados terminam quando for digitada uma quantidade apostas por mês igual a Zero. Contagem 39. Acrescentar no programa do exercício 4 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 40. Acrescentar no programa do exercício 11 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 41. Acrescentar no programa do exercício 15 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 42. Acrescentar no programa do exercício 18 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 43. Acrescentar no programa do exercício 19 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 44. Acrescentar no programa do exercício 22 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 45. Acrescentar no programa do exercício 24 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 46. Acrescentar no programa do exercício 25 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 47. Acrescentar no programa do exercício 35 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 48. Acrescentar no programa do exercício 36 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. 49. Acrescentar no programa do exercício 38 um contador para calcular quantos conjuntos de dados foram lidos e imprimi-los juntamente com os resultados finais. Classificação por faixas 50. Ler as notas de uma turma de 20 alunos e calcular a quantidade de conceitos A, B, C, D e E, de acordo com a classificação abaixo: a. de 10 até 8 (inclusive) Conceito A b. menor que 8 até 7 (inclusive) Conceito B c. menor que 7 até 6 (inclusive) Conceito C d. menor que 6 até 4 (inclusive) Conceito D e. menor que 4 até 0 Conceito E 51. Ler as notas de uma turma com uma quantidade qualquer alunos, calcular e imprimir o percentual de alunos para que obteve cada um dos conceitos A, B, C, D e E, de acordo com a classificação abaixo: a. de 10 até 8 (inclusive) Conceito A b. menor que 8 até 7 (inclusive) Conceito B c. menor que 7 até 6 (inclusive) Conceito C d. menor que 6 até 4 (inclusive) Conceito D e. menor que 4 até 0 Conceito E Os dados terminam com uma nota negativa 52. Ler as distâncias de diversas cidades em relação a BH em Km, calcular e imprimir a quantidade e o percentual de para cada uma das faixas abaixo: a. Até 100 Km b. Acima de 100 Km até 250 Km c. Acima de 250 Km até 500 Km d. Acima de 500 Km até 750 Km e. Acima de 750 Km Os dados terminam com uma distância Zero. Maior / menor 53. Foi feita uma pesquisa em 200 postos dos preços da gasolina. Ler os valores da cada posto, calcular e imprimir o valor do menor preço encontrado nos postos pesquisados. 54. Foi feita uma pesquisa entre 450 pacientes de um hospital sobre o tempo, em horas, que eles esperavam na fila. Calcular o maior tempo de espera para os pacientes pesquisados 55. Foi feita uma pesquisa entre 1230 assinantes de TV a Cabo para saber quantos filmes, por mês, cada usuário assiste. Calcular a maior e a menor quantidade de filmes assistidos por mês pelos usuários 56. Foi feita uma pesquisa em uma casa lotérica com 245 apostadores para saber quanto cada apostador gasta por mês (aproximadamente) em apostas na sena. Calcular a maior e a menor aposta feita pelos clientes no mês. 57. Foi feita uma pesquisa em um número indeterminado de postos dos preços da gasolina, do álcool e do diesel. Ler para cada posto, os valores da cada combustível, calcular e imprimir o maior e o menor valor encontrado para cada tipo de combustível dentre os postos pesquisados. Os dados terminam quando for digitado um valor de preço de gasolina igual a Zero. 58. Foi feita uma pesquisa com um número indeterminado de pacientes de um hospital. Cada paciente informou a sua idade, renda mensal e o tempo, em horas, que esperava na fila. Calcular: a maior e menor idade, a maior e menor renda e o maior e menor tempo de espera para os pacientes pesquisados. Os dados terminam quando for digitada uma idade negativa. 59. Foi feita uma pesquisa com um número indeterminado de assinantes de TV a Cabo sendo perguntado: quantos eram os canais mais assistidos, quantos filmes, por mês, cada usuário assistia e a idade dos entrevistados. Calcular a maior e menor quantidade de: canais assistidos, filmes por mês por usuário e a maior e menor idade dos usuários. Os dados terminam quando for digitada uma quantidade negativa de canais de TV. 60. Foi feita uma pesquisa em uma casa lotérica com um número indeterminado de apostadores para saber: quantas vezes, por mês, cada apostador fazia suas apostas, quanto apostava por mês (aproximadamente) e em quantos jogos (sena, federal, mineira, etc). Calcular a maior e a menor aposta, o maior e menor valor gasto em apostas e a maior e menor quantidade de jogos no mês. Os dados terminam quando for digitada uma quantidade apostas por mês igual a Zero. Par / Impar, Divisor / Múltiplo, Masculino / Feminino 61. Ler um conjunto indeterminado de números, calcular e imprimir a quantidade de números pares e impares e o seu respectivo percentual. Os dados terminam quando for digitadoum número negativo. 62. Ler um conjunto indeterminado de números, calcular e imprimir a quantidade e o percentual dos números: a. Pares b. Impares c. Múltiplos de 3 d. Múltiplos de 7 Os dados terminam quando for digitado um número negativo. 63. Ler dois números inteiros, descobrir quem é o maior e o menor. Imprimir no intervalo desses valores todos os números divisíveis por 9 e os divisíveis por 5. 64. Ler um conjunto indeterminado de idades de pessoas e o seu respectivo sexo (M ou F), calcular e imprimir: a. A quantidade de Homens e Mulheres do grupo b. A idade média masculina e feminina c. A maior a menor idade masculina e feminina do grupo Fatorial 65. Faça um programa que leia um número N do teclado e calcule e imprima o seu fatorial 66. Faça um programa que leia dois números do teclado e calcule e imprima a diferença entre o fatorial do maior e menor número (ou seja: X! – Y!, onde X > Y) 67. Faça um programa que leia dois números do teclado e calcule e imprima o fatorial da diferença entre maior e menor número (ou seja: (X – Y)!, onde X > Y) Somatório 68. Faça um programa que leia um número N do teclado e calcule e imprima o seguinte somatório: H = 1 + 1 + 1 + 1 + ... + 1 . 2 3 4 N 69. Faça um programa que calcule e imprima o seguinte somatório: G = 1 + 3 + 5 + 7 + ... + 99 . 2 3 4 50 70. Faça um programa que calcule e imprima o seguinte somatório: J = 21 + 22 + 23 + ... + 250. 250 249 248 21 71. Faça um programa que leia um número N do teclado e calcule e imprima o seguinte somatório: L = 1 - 2 + 3 - 4 + ... + N . 4 9 16 N2 72. Faça um programa que leia um número N do teclado e calcule e imprima o seguinte somatório: H = 1 + 1! + 2! + 3! + ... + (N-1)! . 2 3 4 N Repetição de operação 73. Acrescente ao programa do exercício 3 a opção de perguntar ao usuário se ele deseja repetir o programa antes de terminar. 74. Acrescente ao programa do exercício 17 a opção de perguntar ao usuário se ele deseja repetir o programa antes de terminar. 75. Acrescente ao programa do exercício 27 a opção de perguntar ao usuário se ele deseja repetir o programa antes de terminar. 76. Acrescente ao programa do exercício 39 a opção de perguntar ao usuário se ele deseja repetir o programa antes de terminar. 77. Acrescente ao programa do exercício 42 a opção de perguntar ao usuário se ele deseja repetir o programa antes de terminar. 78. Acrescente ao programa do exercício 58 a opção de perguntar ao usuário se ele deseja repetir o programa antes de terminar. 79. Acrescente ao programa do exercício 61 a opção de perguntar ao usuário se ele deseja repetir o programa antes de terminar. 80. Acrescente ao programa do exercício 70 a opção de perguntar ao usuário se ele deseja repetir o programa antes de terminar. Soluções para os Exercícios selecionados 1. Fazer um programa que leia o salário de 342 pessoas, calcule e imprima para cada um o novo salário com um aumento de 25% 1ª Solução : usando for int main() { float salario; int i; for (i = 1; i <= 342; i++ ) { cout << "\nInforme o salario: "; cin >> salario; cout << "o novo salario com aumento eh: " << salario *1.25; } // colocar um comando para pausa ... } 2ª Solução : usando while int main() { float salario; int i=1; while (i <= 342 ) { cout << "\nInforme o salario: "; cin >> salario; cout << "o novo salario com aumento eh: " << salario + salario *25/100; i++; } // colocar um comando para pausa ... } 3. Fazer um programa que leia o salário de um número indeterminado de pessoas, calcule e imprima para cada um o novo salário com um aumento de 25%, e ao final mostre a quantidade de salários calculados. A entrada de dados termina quando for informado um salário igual a Zero. int main() { float salario; int i=0; cout << "\nInforme o salario, ou Zero para terminar: "; cin >> salario; while (salario > 0) { cout << "o novo salario com aumento eh: " << salario *1.25; i++; cout << "\nInforme o salario, ou Zero para terminar: "; cin >> salario; } cout << "\nForam informados " << i << " salarios."; // colocar um comando para pausa ... } 8. Fazer um programa que leia o valor de uma aplicação, calcule e imprima: a. O valor do rendimento no período, que foi de 1,5% b. O valor do imposto sobre o rendimento que é de 13% sobre o valor do rendimento (ou seja, que foi calculado na letra a) c. O saldo da aplicação considerando o rendimento e o imposto pago int main() { float aplicacao, rendimento, imposto; cout << "\nInforme o valor da aplicacao: "; cin >> aplicacao; rendimento = aplicacao * 1.5/100; imposto = rendimento * 0.13; cout << "\nO rendimento da aplicacao foi de: " << rendimento; cout << "\nO imposto sobre o rendimento foi de: " << imposto; cout << "\nO saldo atual da aplicacao eh de: " << aplicacao + rendimento - imposto; // colocar um comando para pausa ... } 13. Ler um valor de horas, minutos e segundos e converter para o seu equivalente em segundos. int main() { int horas, minutos, segundos; cout << "Informe a quantidade de horas: "; cin >> horas; cout << "Informe a quantidade de minutos: "; cin >> minutos; cout << "Informe a quantidade de segundos: "; cin >> segundos; segundos += minutos * 60 + horas * 3600; cout << "\nO total de segundos eh de: " << segundos; // colocar um comando para pausa ... } 16. Ler o tempo gasto pelo professor em segundos para bolar essa lista de exercícios, transformar e imprimir no formato de horas:minutos:segundos. int main() { int horas, minutos, segundos; cout << "Informe a quantidade total de segundos gasta: "; cin >> segundos; horas = segundos / 3600; // cada hora equivale a 3600 segundos nao e ? segundos = segundos % 3600; // quantos segundos sobraram ? minutos = segundos / 60; // cada minuto equivale a 60 segundos segundos %= 60; // quantos segundos sobraram ? cout << "\nO tempo total gasto foi de: " << horas << ":" << minutos << ":" << segundos; // colocar um comando para pausa ... } 19. Fazer um programa que gere uma tabela de conversão de milhas/hora para pés/segundo, começando em 0 com incremento de 5 milhas/hora. A última linha deve conter o valor 65 milhas/hora. (1 milha = 5280 pés) // // 1 milha/hora = 5280 pes / 3600 segundos // int main() { int milhas_por_hora; float pes_por_segundo; cout << "Milhas/Hora\tPes/Segundo\n"; for (milhas_por_hora = 0; milhas_por_hora <= 65; milhas_por_hora += 5) { pes_por_segundo = milhas_por_hora * 5280 / 3600; // simples, ne ? cout << milhas_por_hora << "\t\t\t" << pes_por_segundo << "\n"; } // colocar um comando para pausa ... } 21. Fazerum programa para gerar uma tabela de conversão de graus para o valor do seu cosseno para uma variação de ângulo de 0 a 360 de 15 em 15 graus. Os valores devem ser convertidos para radianos. // // 360 graus = 2 * pi radianos // #include <math.h> // para o uso da funcao cos() #define PI 3.1416 int main() { int graus; float radianos; cout << "Graus\tCosseno\n"; for (graus = 0; graus <= 360; graus += 15) { radianos = graus * 2 * PI / 360; cout << graus << "\t" << cos(radianos) << "\n"; } // colocar um comando para pausa ... } 23. Crie uma tabela para conversão de graus °C para °F para valores de 0°C a 100°C, com variação unitária. Sabe-se que para a conversão de temperatura usa-se a formula: °F = 9 * °C / 5 + 32. int main() { int grausC; float grausF; cout << "Graus C\tGraus F\n"; for (grausC = 0; grausC <= 100; grausC++) { grausF = grausC * 9.0/5 + 32; cout << grausC << "\t" << grausF << "\n"; } // colocar um comando para pausa ... } 27. Foi feita uma pesquisa em 200 postos dos preços da gasolina. Ler os valores da cada posto, calcular e imprimir o preço médio dos postos pesquisados. int main() { int postos; float soma=0, media, preco; for (postos = 1; postos <= 200; postos++) { cout << "Entre com o preco do litro de gasolina: "; cin >> preco; soma += preco; } media = soma / postos; cout << "O preco medio eh: " << media; // colocar um comando para pausa ... } 32. Foi feita uma pesquisa entre 450 pacientes de um hospital. Cada paciente informou a sua idade, renda mensal e o tempo, em horas, que esperava na fila. Calcular: a idade média, a renda média e o tempo médio de espera para os pacientes pesquisados. int main() { int pacientes, idade, espera; float renda, somaIdade=0, mediaIdade, somaEspera=0, mediaEspera, somaRenda=0, mediaRenda; for (pacientes = 1; pacientes <= 450; pacientes++) { cout << "Entre com a idade do paciente: "; cin >> idade; cout << "Entre com a renda do paciente: "; cin >> renda; cout << "Entre com o tempo de espera em horas: "; cin >> espera; somaIdade += idade; somaEspera += espera; somaRenda += renda; } mediaIdade = somaIdade / pacientes; mediaRenda = somaRenda / pacientes; mediaEspera = somaEspera / pacientes; cout << "\nA media de idade eh: " << mediaIdade; cout << "\nA renda media eh: " << mediaRenda; cout << "\nO tempo medio de espera eh: " << mediaEspera; // colocar um comando para pausa ... } 37. Foi feita uma pesquisa com um número indeterminado de assinantes de TV a Cabo sendo perguntado: quantos eram os canais mais assistidos, quantos filmes, por mês, cada usuário assistia e a idade dos entrevistados. Calcular a quantidade média de canais assistidos, filmes por mês por usuário e a idade média dos usuários. Os dados terminam quando for digitada uma quantidade negativa de canais de TV. int main() { int usuarios=0, canais, idade, filmes; float somaCanais=0, mediaCanais, somaIdade=0, mediaIdade, somaFilmes=0, mediaFilmes; cout << "Entre com a quantidade canais assistidos ou -1 para terminar: "; cin >> canais; while (canais >= 0) { cout << "Entre com a idade do usuario: "; cin >> idade; cout << "Entre com a quntidade de filmes assistidos: "; cin >> filmes; somaIdade += idade; somaCanais += canais; somaFilmes += filmes; usuarios++; cout << "Entre com a quantidade canais assistidos ou -1 para terminar: "; cin >> canais; } if (usuarios > 0) // pra que esse teste ?? { mediaIdade = somaIdade / usuarios; mediaCanais = somaCanais / usuarios; mediaFilmes = somaFilmes / usuarios; cout << "\nA media de canais assistidos eh: " << mediaCanais; cout << "\nA media de idade eh: " << mediaIdade; cout << "\nA quantidade madia de filmes assistidos eh: " << mediaFilmes; } // colocar um comando para pausa ... } 50. Ler as notas de uma turma de 20 alunos e calcular a quantidade de conceitos A, B, C, D e E, de acordo com a classificação abaixo: a. de 10 até 8 (inclusive) Conceito A b. menor que 8 até 7 (inclusive) Conceito B c. menor que 7 até 6 (inclusive) Conceito C d. menor que 6 até 4 (inclusive) Conceito D e. menor que 4 até 0 Conceito E int main() { int conceitoA=0, conceitoB=0, conceitoC=0, conceitoD=0, conceitoE=0, nota, i; for (i = 0; i <= 20; i++) { cout << "Entre com a nota do aluno : "; cin >> nota; if ( nota >= 8 ) conceitoA++; else if ( nota >= 7 ) conceitoB++; else if ( nota >= 6 ) conceitoC++; else if ( nota >= 4 ) conceitoD++; else conceitoE++; } cout << "\nConceitos A: " << conceitoA; cout << "\nConceitos B: " << conceitoB; cout << "\nConceitos C: " << conceitoC; cout << "\nConceitos D: " << conceitoD; cout << "\nConceitos E: " << conceitoE; // colocar um comando para pausa ... } 53. Foi feita uma pesquisa em 200 postos dos preços da gasolina. Ler os valores da cada posto, calcular e imprimir o valor do menor preço encontrado nos postos pesquisados. int main() { int postos; float menor=999, preco; for (postos = 1; postos <= 200; postos++) { cout << "Entre com o preco do litro de gasolina: "; cin >> preco; if ( preco < menor) menor = preco; } cout << "O menor preco de gasolina eh: " << menor; // colocar um comando para pausa ... } 61. Ler um conjunto indeterminado de números, calcular e imprimir a quantidade de números pares e impares e o seu respectivo percentual. Os dados terminam quando for digitado um número negativo. int main() { int numero, pares, impares; float percent_par, percent_impar; cout << "Entre com um numero ou -1 para terminar: "; cin >> numero; while (numero >= 0) { if ( numero % 2 == 0) pares++; else impares++; cout << "Entre com um numero ou -1 para terminar: "; cin >> numero; } percent_par = pares * 100.0 / (pares + impares); percent_impar = impares * 100.0 / (pares + impares); cout << "\nQuantidade de numeros pares = " << pares << ", percentual = " << percent_par; cout << "\nQuantidade de numeros impares = " << impares << ", percentual = " << percent_impar; // colocar um comando para pausa ... } 65. Faça um programa que leia um número N do teclado e calcule e imprima o seu fatorial 1ª Solução int main() { int numero, fatorial = 1; cout << "Entre com um numero : "; cin >> numero; while (numero > 0) { fatorial = fatorial * numero; numero--; } cout << "O fatorial calculado eh :" << fatorial; // colocar um comando para pausa ... } 2ª Solução int main() { int i, numero, fatorial = 1; cout << "Entre com um numero : "; cin >> numero; for (i = 2; i <= numero; i++) fatorial *= i; cout << "O fatorial calculado eh :" << fatorial; // colocar um comando para pausa ... } 69. Faça um programa que calcule e imprimao seguinte somatório: G = 1 + 3 + 5 + 7 + ... + 99 . 2 3 4 50 int main() { int j; float i = 0, G = 0; // o i foi declarado como float por causa da divisao dentro do for for (i = 1, j = 1; i <= 99; i += 2, j++) G = G + i/j; cout << "O somantorio eh :" << G; // colocar um comando para pausa ... } 73. Acrescente ao programa do exercício 3 a opção de perguntar ao usuário se ele deseja repetir o programa antes de terminar. int main() { float salario; int i=0; char resposta = 'S'; // para entrar no while na primeira vez while (resposta == 'S' || resposta == 's') { cout << "\nInforme o salario, ou Zero para terminar: "; cin >> salario; while (salario > 0) { cout << "o novo salario com aumento eh: " << salario *1.25; i++; cout << "\nInforme o salario, ou Zero para terminar: "; cin >> salario; } cout << "\nForam informados " << i << " salarios."; cout <<"\n\nDeseja executar novamente ? (S/N) "; cin >> resposta; } // colocar um comando para pausa ... }
Compartilhar