Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Programação de Computadores I – BCC 701 Lista de Exercícios Módulo 02 2013-2 Exercícios de Séries Exercício 29 Seja a seguinte série: 1, 4, 9, 16, 25, 36, ... Escreva um programa que gere esta série até o N-ésimo termo. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A QUANTIDADE DE TERMOS A SER IMPRESSA: 5 Saída NÚMEROS DA SÉRIE: 1 4 9 16 25 Exercício 30 A série de Fibonacci é formada pela sequência: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... Escreva um programa que gere os N primeiros termos da série de FIBONACCI, sabendo-se que para existir esta série serão necessários pelo menos três termos. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O NÚMERO DE TERMOS DESEJADOS: 6 Saída 1 1 3 5 8 13 1 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Exercício 31 A série de RICCI difere da série de FIBONACCI porque os dois primeiros termos são fornecidos pelo usuário. Os demais termos desta série são gerados da mesma forma que a série de FIBONACCI. Criar um programa que imprima os N primeiros termos da série de RICCI e a soma dos termos impressos, sabendo-se que para existir esta série serão necessários pelo menos três termos. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O NÚMERO DE TERMOS DESEJADOS: 9 DIGITE O PRIMEIRO TERMO DA SÉRIE: 3 DIGITE O SEGUNDO TERMOD A SÉRIE: 4 Saída 3 4 11 18 29 47 76 123 199 Exercício 32 Seja a seguinte série: 1, 4, 4, 2, 5, 5, 3, 6, 6, 4, 7, 7, ... Escreva um programa que seja capaz de gerar os N-termos dessa série. A quantidade de termos (N) deve ser fornecida pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A QUANTIDADE DE TERMOS (N): 12 Saída 1 4 4 2 5 5 3 6 6 4 7 7 Exercício 33 A série de FETUCCINE é gerada da seguinte forma: os dois primeiros termos são fornecidos pelo usuário; a partir daí, os termos são gerados com a soma ou subtração dos dois termos anteriores de acordo com as seguintes regras: 2 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Ai Ai 1 Ai 2 para i ímpar Ai Ai 1 Ai 2 para i par Criar um programa que imprima os N primeiros termos da série de FETUCCINE, sabendo-se que para existir esta série serão necessários pelo menos três termos. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O NÚMERO DE TERMOS DESEJADOS: 5 DIGITE O PRIMEIRO TERMO DA SÉRIE: 3 DIGITE O SEGUNDO TERMO DA SÉRIE: 12 Saída 3 12 15 3 18 Exercício 34 1 1 1 1 Sendo H = 1 + 2 + 3 + 4 + ... N , faça um programa para gerar o número H. O número N é fornecido pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A QUANTIDADE DE TERMOS (N): 6 Saída H = 2.45 Exercício 35 1 1 1 1 Sendo H = 1 - 2 + 3 - 4 + ... N , faça um programa para gerar o número H. O número N é fornecido pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A QUANTIDADE DE TERMOS (N): 6 3 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Saída H = 0.616667 Exercício 36 Sendo S = 1 + 1 1 1 1 1 + 3 + 4 + 5 + ... + , um somatório de N termos, 2 2 4 3 5 NN escreva um programa para calcular S para um dado número N de termos. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O NÚMERO DE TERMOS N: 6 Saída O VALOR DA SOMA = 1.49139 Exercício 37 O valor aproximado do número pode ser calculado através da seguinte série: S 1 1 1 1 1 3 3 3 3 3 5 7 9 3 sendo S 32 . Faça um programa que calcule e imprima o valor de usando os 51 primeiros termos da séria acima. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada Saída PI = 3.14159 Exercício 38 Faça um programa para calcular o valor de S, dado por: 1 2 3 N 1 N S N N 1 N 2 2 1 4 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM sendo N é fornecido pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A QUANTIDADE DE TERMOS (N): 9 Saída S = 19.2897 Exercício 39 Faça um programa que: Leia um número real X do teclado; Determine e imprima o seguinte somatório: SX X X X X 1! 2! 3! 4! Usando os 20 primeiros termos da série. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O VALOR DE X: 25 Saída S = 9.19699 Exercício 40 Implementar um programa para calcular o sen(x). O valor de x deverá ser informado pelo usuário em graus. O valor do seno de x será calculado pela soma dos 15 primeiros termos da série a seguir: sen( x ) x x 3 x 5 x 7 x 9 x 11 ... 3! 5! 7! 9! 11! A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada 5 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM DIGITE O VALOR DO ÂNGULO x (GRAUS): 45 Saída sen(45) = 0.707107 Exercício 41 Implementar um programa para calcular o cos(x). O valor de x deverá ser digitado em graus. O valor do cosseno de x será calculado pela soma dos 15 primeiros termos da série a seguir: cos( X ) 1 x 2 x 4 x 6 x 8 x10 ... 2! 4! 6! 8! 10! A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O VALOR DO ÂNGULO x (GRAUS): 60 Saída cos(60) = 0.601883 Estrutura de Repetição while Exercício 42 Escreva um programa que receba números do usuário e imprima o triplo de cada número. O programa deve encerrar quando o número –999 for digitado. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada/Saída DIGITE TRIPLO DIGITE TRIPLO DIGITE UM DE UM DE UM NÚMERO QUALQUER: 6 6: 18 NÚMERO QUALQUER: 5 5: 15 NÚMERO QUALQUER: -999 6 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Exercício 43 Escreva um programa que receba números do usuário enquanto eles forem positivos e ao fim o programa deve imprimir a média dos números digitados. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada DIGITE DIGITE DIGITE DIGITE UM UM UM UM NÚMERO: NÚMERO: NÚMERO: NÚMERO: 2 3 6 -9 Saída MÉDIA DOS NÚMEROS DIGITADOS: 3.66667 Exercício 44 Escreva um programa que leia vários números e informe quantos números entre 100 e 200 foram digitados. Quando o valor 0 (zero) for lido, o programa deverá encerrar sua execução. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada DIGITE DIGITE DIGITE . . . DIGITE DIGITE UM NÚMERO QUALQUER: 2 UM NÚMERO QUALQUER: 136 UM NÚMERO QUALQUER: 2 UM NÚMERO QUALQUER: -3 UM NÚMERO QUALQUER: 0 Saída 7 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM FORAM DIGITADOS 3 NÚMEROS ENTRE 100 E 200 Exercício 45 Escreva um programa que receba números e imprima o quadrado de cada número enquanto o usuário não digitar um número múltiplo de 6, que deverá ter seu quadrado também impresso. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada/Saída DIGITE UM NÚMERO QUALQUER: 3 QUADRADO DE 3: 9 DIGITE UM NÚMERO QUALQUER: 62 QUADRADO DE 62: 3844 DIGITE UM NÚMERO QUALQUER: 12 QUADRADO DE 12: 144 Exercício 46 Construa um programa para encontrar o maior e o menor número de uma série de números positivos fornecidos pelo usuário através do teclado. Novamente, o dado finalizador é o número –1 e este não deve ser considerado. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada DIGITE DIGITE DIGITE DIGITE DIGITE UM UM UM UM UM NÚMERO NÚMERO NÚMERO NÚMERO NÚMERO POSITIVO POSITIVO POSITIVO POSITIVO POSITIVO QUALQUER: QUALQUER: QUALQUER: QUALQUER: QUALQUER: Saída MAIOR VALOR DIGITADO: 365 MENOR VALOR DIGITADO:2 8 123 365 2 365 -1 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Exercício 47 Criar um programa que receba vários números inteiros e positivos e imprima o produto dos números ímpares digitados e a soma dos números pares digitados. O programa encerra quando o zero ou um número negativo é digitado. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada DIGITE DIGITE DIGITE DIGITE DIGITE DIGITE UM UM UM UM UM UM NÚMERO NÚMERO NÚMERO NÚMERO NÚMERO NÚMERO INTEIRO INTEIRO INTEIRO INTEIRO INTEIRO INTEIRO E E E E E E POSITIVO POSITIVO POSITIVO POSITIVO POSITIVO POSITIVO QUALQUER: QUALQUER: QUALQUER: QUALQUER: QUALQUER: QUALQUER: 2 236 1 136 25 0 Saída PRODUTO DOS NÚMEROS ÍMPARES DIGITADOS: 25 SOMA DOS VALORES PARES DIGITADOS: 374 Exercício 48 Criar um programa que receba vários números inteiros e positivos e imprima a média dos números múltiplos de 3. A execução deve encerrar quando um número não positivo for lido. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada DIGITE DIGITE . . . DIGITE DIGITE UM NÚMERO INTEIRO E POSITIVO QUALQUER: 5 UM NÚMERO INTEIRO E POSITIVO QUALQUER: 36 UM NÚMERO INTEIRO E POSITIVO QUALQUER: 125 UM NÚMERO INTEIRO E POSITIVO QUALQUER: -2 Saída MÉDIA DOS MÚLTIPLO DE 3 DIGITADOS: 16 9 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Exercício 49 Escreva um programa que realize o produto de A (número real) por B (número inteiro), ou seja, A * B, através de adições (somas). Esses dois valores são passados pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O VALOR DE A(REAL): 2.5 DIGITE O VALOR DE B(INTEIRO): 10 Saída PRODUTO DE AxB: 25 Exercício 50 Escreva um programa que realize a potência de A (número real) por B (número inteiro e positivo), ou seja, A^B, através de multiplicações sucessivas. Esses dois valores são passados pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Execução 1 Entrada DIGITE A BASE B: 2 DIGITE O EXPOENTE E: 5 Saída 2 ELEVADO A 5 = 32 Execução 2 Entrada DIGITE A BASE B: 5 DIGITE O EXPOENTE E: 2 Saída 5 ELEVADO A 2 = 25 10 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Exercício 51 Escreva um programa que calcule o resto da divisão de A por B (números inteiros e positivos), ou seja, A mod B, através de subtrações sucessivas. Esses dois valores são passados pelo usuário através do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O VALOR DE A: 36 DIGITE O VALOR DE B: 17 Saída RESTO DA DIVISÃO DE 36 POR 17: 2 Exercício 52 Escreva um programa que determine se dois valores inteiros e positivos A e B são primos entre si. (dois números inteiros são ditos primos entre si, caso não exista divisor comum aos dois números). A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE O VALOR DE A: 12 DIGITE O VALOR DE B: 10 Saída 12 E 10 NÃO SÃO PRIMOS ENTRE SI. Exercício 53 Escreva um programa que calcule o quociente da divisão de A por B (números inteiros e positivos), ou seja, A div B, através de subtrações sucessivas. Esses dois valores são passados pelo usuário através do teclado. Ao final, o programa imprime o valor do n-ésimo termo conforme ilustrado abaixo: Entrada DIGITE O VALOR DE A: 36 11 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM DIGITE O VALOR DE B: 9 Saída RESULTADO DA DIVISÃO DE 36 POR 9: 4 Exercício 54 Criar um programa que possa ler um conjunto de pedidos de compra e calcule o valor total da compra. Cada pedido é composto pelos seguintes campos: Número de pedido; Data do pedido (dia, mês, ano); Preço unitário; Quantidade. O programa deverá processar novos pedidos até que o usuário digite 0 como número de pedido. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada/Saída DIGITE O NÚMERO DO PEDIDO: 1 DIA DO PEDIDO: 2 MÊS DO PEDIDO: 5 ANO DO PEDIDO: 13 DIGITE O PREÇO UNITÁRIO DO PEDIDO: 26.54 DIGITE A QUANTIDADE COMPRADA: 5 VALOR TOTAL DA COMPRA: 132.7 DIGITE O NÚMERO DO PEDIDO: 3 DIA DO PEDIDO: 1 MÊS DO PEDIDO: 3 ANO DO PEDIDO: 13 DIGITE O PREÇO UNITÁRIO DO PEDIDO: 145.56 DIGITE A QUANTIDADE COMPRADA: 2 VALOR TOTAL DA COMPRA: 291.12 DIGITE O NÚMERO DO PEDIDO: 0 Exercício 55 Numa universidade cada aluno possui os seguintes dados: Renda pessoal; 12 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Renda familiar; Total gasto com alimentação; Total gasto com outras despesas; Criar um programa que imprima a porcentagem dos alunos que gasta acima de R$ 200,00 com outras despesas, o número de alunos com renda pessoal maior que renda familiar e a porcentagem gasta com alimentação e outras despesas em relação às rendas pessoal e familiar. O programa acaba quando se digita 0 para a renda pessoal. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada/Saída DIGITE O VALOR DA RENDA PESSOAL: 350.0 DIGITE O VALOR DA RENDA FAMILIAR: 1050.0 DIGITE O VALOR DOS GASTOS COM ALIMENTAÇÃO: 250.0 DIGITE O VALOR DOS GASTOS COM OUTRAS DESPESAS: 360.50 PERCENTUAL (ALIMENTAÇÃO + OUTROS)/(RPESSOAL + RFAMILIAR): 43.6071 DIGITE O VALOR DA RENDA PESSOAL: 160.0 DIGITE O VALOR DA RENDA FAMILIAR: 654.0 DIGITE O VALOR DOS GASTOS COM ALIMENTAÇÃO: 169.0 DIGITE O VALOR DOS GASTOS COM OUTRAS DESPESAS: 154.0 PERCENTUAL (ALIMENTAÇÃO + OUTROS)/(RPESSOAL + RFAMILIAR): 39.6806 DIGITE O VALOR DA RENDA PESSOAL: 0 Saída PORCENTAGEM DE ALUNOS QUE GASTAM MAIS QUE R$200,00 COM OUTRAS DESPESAS: 50 NÚMERO DE ALUNOS COM RENDA PESSOAL MAIOR QUE A RENDA FAMILIAR: 0 Exercício 56 Uma fábrica produz e vende vários produtos e para cada um deles tem-se o nome, quantidade produzida e quantidade vendida. Criar um programa que imprima: Para cada produto: nome, quantidade no estoque e uma mensagem se o produto tiver menos de 50 itens no estoque; Nome e quantidade do produto com maior estoque; A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada/Saída 13 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM DIGITE O NOME SO PRODUTO: LÁPIS DIGITE A QUANTIDADE PRODUZIDA: 254 DIGITE A QUANTIDADE VENDIDA: 250 PRODUTO: LÁPIS ESTOQUE 4 ESTOQUE NECESSITA REPOSIÇÃO! DESEJA CONTINUAR? (S/N)S DIGITE O NOME SO PRODUTO: RÉGUA DIGITE A QUANTIDADE PRODUZIDA: 54 DIGITE A QUANTIDADE VENDIDA: 3 PRODUTO: RÉGUA ESTOQUE 51 DESEJA CONTINUAR? (S/N)N Saída PRODUTO COM MAIOR ESTOQUE: RÉGUA QTDE: 51 Comandos de Repetição Aninhados Exercício 57 Escreva um programa que calcule os N-menores números primos. Este número N deve ser lido do teclado. A seguir, uma ilustração da entrada e saída de uma execução do programa. Entrada DIGITE A QUANTIDADE DE NÚMEROS (N): 8 Saída 8-MENORES NÚMEROS PRIMOS: 2 3 5 7 11 13 17 19 Exercício 58 Criar um programa que leia o valor de N, imprima a sequência a seguir e o resultado do somatório. 14 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM N! / 0! – (N-1)! / 2! + (N-2)! / 4! – (N-3)! / 6! + ... 0! / (2N)! A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada DIGITE O VALOR DE N: 6 Saída 720 -60 1 -0.00833333 4.96032e-05 -2.75573e-07 2.08768e-09 RESULTADO DO SOMATÓRIO: 660.992 Exercício 59 Escreva um programa que receba vários números inteiros e imprima a quantidade de números primos dentre os números que foram digitados. O programa acaba quando se digita um número menor ou igual a 0. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada DIGITE DIGITE DIGITE . . . DIGITE UM NÚMERO INTEIRO QUALQUER: 2 UM NÚMERO INTEIRO QUALQUER: 36 UM NÚMERO INTEIRO QUALQUER: 9 UM NÚMERO INTEIRO QUALQUER: 0 Saída FORAM DIGITADOS 4 NÚMEROS PRIMOS. Exercício 60 Escreva um programa que receba vários números e verifique se eles são ou não quadrados perfeitos. O programa termina a execução quando for digitado um número menor ou igual a 0. (Um número é quadrado perfeito quando tem um número inteiro como raiz quadrada.) A seguir, uma ilustração da entrada e da saída de uma execução do programa. 15 Universidade Federal de Ouro Preto – UFOP Instituto de Ciências Exatas e Biológicas – ICEB Departamento de Computação – DECOM Entrada/Saída DIGITE UM NÚMERO QUALQUER: 36 36 É UM QUADRADO PERFEITO! DIGITE UM NÚMERO QUALQUER: 2 2 NÃO É UM QUADRADO PERFEITO! DIGITE UM NÚMERO QUALQUER: 154 154 NÃO É UM QUADRADO PERFEITO! DIGITE UM NÚMERO QUALQUER: 0 Exercício 61 Numa universidade, os alunos das turmas de informática fizeram uma prova de Programação de Computadores. Cada turma possui um número de alunos. Criar um programa que imprima para cada turma: Quantidade de alunos aprovados; Média de cada turma; Percentual de reprovados. Considere aprovado aluno com nota igual ou superior a 7.0. O programa deve ler o número de alunos de cada turma e só finalizar o programa quando um número não positivo de alunos for digitado. A seguir, uma ilustração da entrada e da saída de uma execução do programa. Entrada/Saída DIGITE A QUANTIDADE DE ALUNOS DESTA TURMA: 2 DIGITE A NOTA DO ALUNO: 9.8 DIGITE A NOTA DO ALUNO: 6.2 QUANTIDADE DE ALUNOS APROVADOS: 1 MÉDIA DE NOTAS DA TURMA: 8 PERCENTUAL DE REPROVADOS: 50 DIGITE A QUANTIDADE DE ALUNOS DESTA TURMA: 3 DIGITE A NOTA DO ALUNO: 7.6 DIGITE A NOTA DO ALUNO: 8.6 DIGITE A NOTA DO ALUNO: 2.4 QUANTIDADE DE ALUNOS APROVADOS: 2 MÉDIA DE NOTAS DA TURMA: 6.2 PERCENTUAL DE REPROVADOS: 33.3333 DIGITE A QUANTIDADE DE ALUNOS DESTA TURMA: -3 16