Lista de Exercícios Programação de Computadores I Engenharia Ambiental 1. Tendo como dados de entrada a altura e o sexo de uma pessoa, faça um programa que calcule seu peso ideal, utilizando as seguintes expressões: homens: 72.7 h 58. mulheres: 62.1 h 44.7. 2. Tendo como entrada de dados um valor numérico, faça um algoritmo que verifique se este é um número par, e apresente uma mensagem em caso afirmativo. 3. Tendo com entrada de dados um valor numérico qualquer, faça um algoritmo que verifique se este valor é múltiplo de 7, e em caso afirmativo, apresenta uma mensagem conveniente. 4. Faça um algoritmo que leia três valores inteiros, determine e imprima o menor deles. 5. Faça um algoritmo que leia três números representando o dia, o mês e o ano de uma data (O ano deve ter 4 dígitos). Em seguida, seu programa deve verificar se a data é válida e se o ano digitado é bissexto ou não. Obs.: Lembre-se que um ano é bissexto quando é múltiplo de 4, mas não é múltiplo de 100, com exceção dos anos múltiplos de 400. 6. Elabore um algoritmo que leia o nome e a idade de um nadador e classificque-o em uma categoria, de acordo com a Tabela 1. Idade menor que 7 entre 8 e 10 entre 11 e 13 entre 14 e 17 acima de 17 Categoria infantil A infantil B juvenil A juvenil B adulto Tabela 1: Categorias de um nadador. 7. Uma empresa concederá um aumento de salário aos seus funcionários, que variará de acordo com o cargo, conforme a Tabela 2. Faça um algoritmo que leia um salário e o código do cargo de um funcionário e calcule o novo salário. Se o cargo do funcionário não estiver na tabela, ele deverá, então, receber 40% de aumento. Mostre o nome, o salário antigo, o novo salário e a diferença entre eles. 8. Faça um programa que, ao receber o valor da largura e do comprimento de uma figura geométrica, detecta se esta é um quadrado ou um retângulo. 1
Código Cargo Aumento 1 Gerente 10% 2 Engenheiro 20% 3 Técnico 30% Tabela 2: Percentagem de aumento. 9. Para incentivar os seus funcionários, a empresa Tabajara S. A. resolveu premiar os funcionários do setor com um bônus de R$300,00, R$200,00 e R$100,00, de acordo com o desempenho de cada uma de suas três equipes de vendas. Faça um programa para auxiliar a empresa a determinar a classifacação das equipes em ordem crescente. Seu programa deve ler o valor total das vendas de cada equipe, calcular e imprimir o valor a ser recebido de bônus para cada equipe. 10. Faça um programa que leia três números inteiros e os imprima em ordem crescente. Primeiro, veirifique se os números são todos iguais ou se pelo menos um é diferente. Se pelo menos um for diferente, escreva a ordem crescente deles. Se todos forem iguais, apenas diga que são todos iguais sem exibir nenhum dos números. 11. Nos últimos dias, o governo brasileiro resolveu aumentar a taxa de juros anual para 26%. Isso fez com que a associação de donas de casa de Campo Grande-MS ficasse preocupada com o preço de produtos utilizados no dia-a-dia. Dessa forma, a associação dividiu seus integrantes em diversas equipes para fazer consulta de preços. Dona Ofélia, uma das associadas, ficou responsável pela consulta de preços de arroz, óleo de soja e cenoura nos supermercados Xilimlim e Tabajara. Como possui um conhecimento do uso do computador, ela decidiu utilizá-lo para realizar os cálculos dos preços. Sua tarefa á ajudá-la e desenvolver um programa que leia os preços dos três produtos em ambos os supermercados. Em seguida, o programa deve determinar e imprimir qual a soma dos preços de todos os produtos em cada um dos supermercados. Por fim, seu programa deve informar qual o melhor supermercado para comprar os três produtos juntos. 12. Um banco concederá um crédito especial aos seus clientes, variável com o saldo médio no último ano. Faça um programa em C que leia o saldo médio de um cliente e calcule o valor do crédito de acordo com a Tabela 3. Mostre uma mensagem informando o saldo médio e o valor do crédito. Saldo Médio Crédito até R$200,99 - R$201,00 a R$400,99 20% do valor do saldo médio R$401,00 a R$600,00 30% do valor do saldo médio acima de R$600,00 40% do valor do saldo médio Tabela 3: Créditos oferecidos. 13. Elabore um programa que calcule o que deve ser pago no total por um produto, considerando o preço normal de etiqueta e a escolha da condição de pagamento. Utilize os 2
códigos da Tabela 4 para ler qual a condição de pagamento escolhida e efetuar o cálculo adequado. Código Forma de pagamento Desconto/Acréscimo 1 à vista 10% Desc. 2 2 vezes 5% Desc. 3 3 vezes - 4 5 vezes 8% Acrésc. Tabela 4: Condições de pagamento. 14. Tendo como entrada de dados o nome do usuário, o sexo e a idade, faça um algoritmo que apresente uma mensagem de saudação somente para usuários do sexo feminino. 15. Fazer um algoritmo que leia três valores inteiros, determine e imprima o menor deles. 16. Faça um algoritmo que calcule e informe as raízes de uma equação do 2 grau, sendo que os valores a, b e c são fornecidos pelo usuário. Obs: = b 2 4 a c, x 1 = ( b + )/2 a e x 2 = ( b )/2 a. 17. No correio local há somente selos de 1, 3 e de 5 centavos. A taxa mínima para correspondência é de 8 centavos. Faça um algoritmo que determina o menor número de selos que completam o valor de uma taxa dada. 18. Faça um algoritmo que leia um número inteiro e mostre uma mensagem indicando se este número é par ou ímpar, e se é positivo ou negativo. 19. Escreva um algoritmo que leia o código do item pedido, a quantidade e calcule o valor a ser pago por aquele lanche. Considere que a cada execução somente será calculado um item. O preço de cada lanche é mostrado na Tabela 5. Código Lanche Valor 1 cachorro quente R$1,00 2 x-salada R$3,00 3 x-bacon R$3,70 4 x-tudo R$5,00 Tabela 5: Preço dos lanches. 20. Faça um algoritmo que simule uma calculadora simples que faz apenas as quatro operações básicas. O algoritmo deve ler primeiro um operando, depois a operação a ser realizada e, em seguida, ler o segundo operador. Em seguida o algoritmo deve imprimir o resultado da operação desejada. 21. Uma cidade é classificada de acordo com o índice de poluição da seguinte forma: índice de poluição menor que 35 como agradável; de 35 até 60 desagradável, e acima de 60 3
perigoso. Joãozinho é extremamente alérgico à poluição, por isso, precisa se mudar para uma cidade menos poluída possível. Além disso, ele também não gosta de cidades muito populosas. Faça um script que leia o nível de poluição de uma cidade e quantidade de habitantes. Após a leitura, classifique a cidade da seguinte forma: boa: somente se o nível de poluição for menor do 35 e a cidade tiver menos que 20.000 habitantes. razoável: se o nível de poluição for agradável ou desagradável e o número de habitantes for menor do 20.000. ruim: se o nível de poluição for desagradável ou ruim e o número de habitantes for maior que 40.000. péssima: se o nível de poluição for maior que 60 e o número de habitantes for maior que 100.000. 22. Escreva um programa que leia uma quantidade em horas, minutos e segundos e determine a quantidade em segundos. 23. Suponha que existam cédulas de 100, 50, 25, 10, 5 e 1. Faça um programa que leia uma quantia inteira em dinheiro. Em seguida, o seu programa deve calcular a quantidade necessária de cada uma das cédulas para completar tal quantia, sendo que deseja-se usar o menor número de cédulas possível. 24. Faça um programa que calcule a média final dadas as notas das 3 provas e produzir uma saída com a média. 25. Elabore um algoritmo que leia o primeiro termo (a 1 )de uma Progressão Aritmética (PA), sua razão (r), um número n e, a seguir, calcule e imprima o n-ésimo termo da PA. a n = a 1 + (n 1)r 26. Faça um programa que leia dois números naturais x e n, onde n >= 0 e compute x n. 27. Um dos fatores que pode influenciar no cultivo de plantas, especialmente hortaliças, é a temperatura. Dessa forma, uma empresa de hortaliças contratou a empresa Tempo Ltda. para levantar alguns dados estatísticos sobre a temperatura em Campo Grande- MS durante os dias de fevereiro de 2007. Para auxiliar a empresa Tempo Ltda., faça um programa que leia as temperaturas de cada um dos dias do mês de fevereiro e informe a temperatura média, a menor temperatura, a maior temperatura e a quantidade de dias em que a temperatura ficou entre 25 graus Celsius e 30 Graus Celsius. 28. Um matemático italiano da idade média conseguiu modelar o ritmo de crescimento da população de coelhos 1 através de uma seqüência de números naturais que passou a ser 1 Na verdade, ele estava estudando o número de galhos em um certo nível de uma árvore. 4
conhecida como seqüência de Fibonacci 2. O n-ésimo número da seqüência de Fibonacci F n é dado pela seguinte fórmula de recorrência: F 1 = 1 F 2 = 1 F i = F i 1 + F i 2 para i 3. Faça um programa que leia um número n, n > 0, e calcula F n. 29. Em uma fábrica de peças de automóvel trabalham homens e mulheres divididos em 3 classes: A - os que fazem até 30 peças por mês; B - os que fazem de 31 a 35 peças por mês; C - os que fazem mais de 35 peças por mês. Os trabalhadores da classe A recebem um salário base; os trabalhadores da classe B recebem um salário base e mais 3% do salário base para cada peça fabricada acima das 30 iniciais; os trabalhadores da classe C recebem um salário base e mais 5% do salário base para cada peça fabricada acima das 30 iniciais. Sabendo que o salário base é fixo e vale R$500,00, faça um programa que leia os seguintes dados de cada empregado: número do funcionário (inteiro positivo, valide!) número de peças fabricadas pelo funcionário (inteiro não-negativo, valide!) sexo do funcionário: m para masculino e f para feminino (valide). Baseado nestes dados, o programa deve calcular: o salário de cada operário; o total da folha de pagamento; o número total de peças fabricadas no mês; a média de peças fabricadas pelas mulheres em cada uma das classes; a média de peças fabricadas pelos homens em cada uma das classes; o número do funcionário (a) com o maior salário; Para finalizar a entrada de dados, forneça como entrada o número de operário igual a 0. 30. Uma cidade está sorteando para as 1000 crianças de uma creche duas bicicletas. Porém, o sorteio será realizado em um salão de festas qua fica ao lado da creche. Assim, cada criança que chegava ao salão recebia um número da sorte, que ficava associado a sua ordem de chegada. Ao chegarem as 1000 crianças, ficou decidido que os prêmios seriam dados às crianças que tivessem o menor e o maior número da sorte. Faça um algoritmo que determine quais os números da sorte vencedores e a ordem de chegada da criança vencedora. 2 O nome do matemático era Leonardo Fibonacci. Naquela época, uma pessoa ilustre tinha seu sobrenome associado ao lugar a que pertencia. Por isso, este matemático é mais conhecido como Leonardo de Pisa. 5
31. Elaborar um programa que lê 2 valores a e b e, determine se a é múltiplo de b, ou se b é múltiplo de a, ou se nenhuma das opções anteriores acontece. 32. Faça um algoritmo que tendo como dados de entrada o código de região de localização do cliente, o número de peças vendidas, o valor unitário da peça; calcule e informe o valor total do frete, a comissão do vendedor e o lucro obtido com a venda. Sabendo-se que: Comissão do vendedor = 6,5 % do valor total da venda. Lucro é igual Valor total venda menos o custo total, menos a comissão do vendedor. Custo total é igual ao custo por peça vezes o número de peças vendidas. Valor total da venda é igual ao custo total acrescido em 50%. Valor do Frete por Região é dado pela Tabela 6. Códgio da região Nome da região Frete ( 1000 peça) Frete (>1000 peças) 1 Sul R$1,00 R$0,98 2 Sudeste R$1,20 R$1,15 3 N, NE, CO R$2,00 R$1,95 Tabela 6: Frete por região. 33. O síndico do do Edifício COPAN instituiu uma nova forma de cobrança de condomínio: os condôminos dos blocos C, D e F pagam 7.5% a mais que os condôminos dos demais blocos. Anteriormente, cada condômino pagava apenas o valor base do condomínio. Os moradores do 20 ao 32 andar de todos os blocos pagam uma taxa fixa de vista panorâmica, denominada de TVP (Taxa de Vista Panorâmica), que corresponde a 1% a ser pago pelo condomínio. É importante observar que o valor a ser pago pelo condomínio depende do bloco. Suponha que tal edifício tenha 6 blocos, cada um com N andares, cada andar com M apartamentos. Elabore um algoritmo que, dado o valor base do condomínio, o número do apartamento e o bloco do mesmo, informe o valor total do condomínio a se rpago pelo morador e a TVP. O número andar do apartamento pode ser determinado pelo número do apartamento, retirando-se o último algarismo. Por exemplo, o apartamento 123 está no 12 andar, o apartamento 83 está no 8 andar. Exemplo 1: Entrada: Valor do condomínio: R$1000,00 Apartamento: 320 Bloco: D Saída: Valor total do condomínio: R$1085,75 TVP: R$10,75 6
Exemplo 2: Entrada: Valor do condomínio: R$1000,00 Apartamento: 20 Bloco: A Saída: Valor total do condomínio: R$1000,00. TVP: R$0,00. 7