Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução à Ciência da Computação Prof. Piteri 1a LISTA DE EXERCÍCIOS Observações: A lista abaixo possui exercícios que devem ser resolvidos somente com o uso de variáveis simples. Poderá ser utilizada ao longo de todo o primeiro semestre e parte do segundo. No início, poderemos resolver cada um dos exercícios simplesmente elaborando os respectivos algoritmos usando a representação por fluxogramas e/ou pseudocódigo, para num segundo momento, finalmente elaborar os respectivos programas na linguagem C. Esta lista incorpora os exercícios mais clássicos existentes na literatura. Se você quiser colaborar com outros exercícios, sinta-se a vontade para fazê-lo. Alguns dos exercícios são mais elaborados e poderão ser resolvidos mais facilmente com o uso de conceitos que eventualmente ainda não foram dados. Mãos a obra. 1. Dada uma seqüência de números naturais em que o último elemento é 0 (zero), imprimir seus quadrados. 2. Dado n, calcular a soma dos n primeiros números naturais. 3. Dado n, imprimir os n primeiros naturais ímpares. 4. Dado uma seqüência de n números inteiros quaisquer que representam as temperaturas médias diárias num dado período, determinar a média aritmética da temperatura no mesmo período. 5. Considere x inteiro e n natural, calcular a potência xn. 6. Dado uma seqüência de n números inteiros quaisquer. Encontre o maior e o menor valor dessa seqüência. 7. Dados n e uma seqüência de n números inteiros positivos, determinar a soma dos números pares, dos ímpares e as respectivas quantidades de cada um dos subconjuntos. 8. Dado um inteiro positivo n, determinar o fatorial de n, que denotamos por n!. 9. Dado n e dois números naturais i e j diferentes de 0, imprimir em ordem crescente os n primeiros naturais que são multiplos de i ou de j e ou de ambos. Exemplo: Para n = 6, i = 2, j = 3 a saída deverá ser : 0, 2, 3, 4, 6, 8. 10. Considere um inteiro p > 1, verificar se p é primo. 11. Diz-se que dois números primos são gêmeos, se eles são ímpares consecutivos. Exemplo: 3 e 5, 5 e 7, 11, e 13. Encontre todos os primos gêmeos no intervalo [3,1000]. 12. Encontre todos os números primos entre 2 e 20.000. 13. Dado dois números inteiros positivos, determinar o máximo divisor comum entre eles usando o algoritmo de Euclides. A tabela abaixo ilustra o processo de se encontrar o MDC(24,15) = 3. (Procure uma explicação mais detalhada com o seu Professor). 1 1 1 2 24 15 9 6 3 9 6 3 0 1 Introdução à Ciência da Computação Prof. Piteri 14. Dado n inteiro positivo, dizemos que n é perfeito se for igual à soma de seus divisores positivos, com exceção do próprio n. Exemplo: Divisores(6) = {1,2,3,6666666666}. Logo 6 é perfeito, pois 1 + 2 + 3 = 6. Verificar se um dado número inteiro positivo é perfeito. 15. Encontre todos os números perfeitos no intervalo [2,100000]. 16. Um matemático italiano da idade média conseguiu modelar o ritmo de crescimento da população de coelhos através de uma seqüência de números naturais que passou a ser conhecida como Seqüência de Fibonacci. Seja Fn o n-ésimo termo da seqüência. O primeiro número da seqüência F1 = 1, o segundo F2 = 1. Enquanto o n-ésimo termo da seqüência Fn é dado pela soma dos dois anteriores, ou seja, Fn = Fn−1 +Fn−2,∀n > 2. A fórmula de recorrência abaixo define tal seqüência é: Fn = ⎧ ⎪⎨ ⎪⎩ 1 se n=1 , 1 se n=2 , Fn−2 + Fn−1 se n ≥ 3. Elabore um algoritmo que a partir de um dado n, seja capaz de obter o n − e´simo termo da Seqüência de Fibonacci. Abaixo estão os primeiros termos dessa seqüência. {1,1,2,3,5,8,13,21,34,55, ...}. 17. Dado um número natural na base binária, transformá-lo para a base decimal. Exemplo: Dado 10010 a saída será 18, pois 1.24 + 0.23 + 0.22 + 1.21 + 0.20 = 18. 18. Dado um número natural na base decimal, transformá-lo para a base binária. Exemplo: Dado 18 a saída deverá ser 10010. 19. Dados três números naturais, verificar se eles formam os lados de um triângulo retân- gulo. 20. Dado três números, imprimí-los em ordem crescente. 21. Qualquer número natural de quatro algarismos pode ser dividido em duas dezenas formadas pelos seus dois primeiros e dois últimos dígitos. Exemplo: 1297 : 12 e 97. 5314 : 53 e 14. Escreva um programa que imprime todos os milhares (4 algarismos) cuja raiz quadrada seja a soma das dezenas formadas pela divisão acima. Exemplo: raiz de 9801 = 99 = 98 + 1. Portanto 9801 é um dos números a ser impresso. 22. Dado uma sequencia de n números inteiros, determinar quantos segmentos de números iguais consecutivos compõem essa seqüência. Exemplo: A sequencia 5|{z}, 2, 2|{z}, 3|{z}, 4, 4, 4, 4| {z }, 1, 1|{z} é formada por 5 segmentos de números iguais. 23. Dado uma seqüência de n números inteiros, determinar o comprimento de um segmento crescente de comprimento máximo. Exemplo: 2 Introdução à Ciência da Computação Prof. Piteri Na sequencia 5, 10, 3, 2, 4, 7, 9| {z }, 8, 5 o comprimento do segmento crescente máximo é 4. Na sequencia 10, 8, 7, 5, 2 o comprimento de um segmento crescente máximo é 1. 24. Dizemos que um número natural n com pelo menos dois algarismos é palíndrome se o 1o algarismo de n é igual ao seu último algarismo, o 2o algarismo de n é igual ao penúltimo algarismo, e assim sucessivamente. Exemplos: 567765 e 32423 são palíndromes, enquanto 567675 não é. Dado um número natural n, n ≥ 10, verificar se é palíndrome. 25. Dado um natural n, determine o número harmônico Hn definido por: Hn = nX k=1 1 k 26. Dados números reais a, b e c, calcular as raízes de uma equação do 2o grau da forma ax2 + bx+ c = 0. Encontre a solução mesmo que as raízes sejam complexas. 27. Para n alunos de uma determinada classe são dadas as 3 notas das provas. Calcular a média aritmética das provas de cada aluno, a média da classe, o número de aprovados e o número de reprovados (critério de aprovação: média maior ou igual a 5.0). 28. Dado um inteiro positivo n, calcular e imprimir o valor da seguinte soma: 1 n + 2 n− 1 + 3 n− 2 + ...+ n 1 29. Faça um programa que calcula a soma abaixo de duas formas. A primeira com a adição dos termos da direita para a esquerda,e a segunda, com a adição dos termos da esquerda para a direita. Compare os resultados. Obs. Lembre-se que o modelo de aritmética real que você está usando é de precisão finita. 1− 1 2 + 1 3 − 1 4 + ...+ 1 9999 − 1 10000 30. Dadas n seqüências de números, cada qual termina por 0, calcular a soma dos números pares de cada seqüência. 31. Dados dois naturais m e n determinar, entre todos os pares de números naturais (x, y) tais que x ≤ m e y ≤ n, um par para o qual o valor da expressão xy − x2 + y seja máximo e calcular também esse máximo. 32. Dado um número inteiro positivo n, resolva os ítens abaixo. (a) verificar se a soma dos algarismos de n é primo; (b) se n possui dois algarísmos adjacentes iguais; (c) a quantidade de algarísmos de n. 3 Introdução à Ciência da Computação Prof. Piteri 33. Sabe-se que um número da forma n3 é igual a soma de n ímpares consecutivos. Exemplo: 13 = 1, 23 = 3 + 5, 33 = 7 + 9 + 11, 43 = 13 + 15 + 17 + 19+, ... Dados m, determine os ímpares consecutivos cuja soma é igual a n3 para n assumindo valores de 1 a m. 34. Dado um número inteiro positivo, determine a sua decomposição em fatores primos calculando também a multiplicidade de cada fator. 35. Dados n inteiros positivos, determinar o máximo divisor comum a todos eles. 36. Dizemos que uma sequência de inteiros é k-alternante se for composta alternadamente por segmentos de números pares de tamanho k e segmentos de números ímpares de tamanho k. Exemplo: A seqüência 1 3 6 8 9 11 2 4 1 7 6 8 é 2- alternante. A seqüência 2 1 4 7 8 9 12 é 1- alternante. A seqüência 4 2 3 1 6 4 2 9 3 não é alternante. A seqüência 1 3 5 é 3- alternante. Dado n ≥ 1 e uma seqüência com n inteiros, verificar se existe um inteiro k ≥ 1 tal que a seqüência é k-alternante. Dê como saída também o valor de k caso a seqüência seja alternante. 37. Dado um número inteiro positivo n, encontre o número reverso de n. Exemplo: se n = 12345,então o número procurado é 54321. 38. Dado dois números inteiros positivos n e k, encontre o k-ésimo algarismo de n, da direita para a esquerda. 39. Obtenha o valor de cada uma das somas abaixo. (a) S = 1 1 + 3 2 + 5 3 + 7 4 + ...+ 99 50 (b) S = 21 50 + 22 49 + 23 48 + ...+ 250 1 (c) S = 37× 38 1 + 36× 37 2 + 35× 36 3 + ...+ 1× 2 37 (d) S = 1 1 − 2 4 + 3 9 − 4 16 + 5 25 − 6 36 ... −10 100 (e) S = 1000 1 − 997 2 + 994 3 − 991 4 + ...− 853 50 (f) S = 480 10 − 475 11 + 470 12 − 465 13 + ... 335 39 (g) S = 1 225 − 2 196 + 4 169 − 8 144 + ...+ 16384 1 4 Introdução à Ciência da Computação Prof. Piteri (h) S = 100 0! + 99 1! + 98 2! + 97 3! + ... 81 19! (i) S = 1! 1 − 2! 3 + 3! 7 − 4! 15 + 5! 31 +... 10 1023 (j) S = X25 1 − X 24 2 + X23 3 − X 22 4 + ...+ X 25 40. A partir de um dado valor real x, obtenha as somas de cada uma das séries abaixo considerando somente os 20 primeiros termos.Compare os resultados obtidos com a funções pré-definidas na biblioteca padrão da linguagem C <math.h>. 1. ex = 1 + x+ x2 2! + x3 3! + x4 4! + ... = ∞P k=0 xk k! para ∀x. 2. sinx = x− x 3 3! + x5 5! − x 7 7! + ... = ∞P k=0 (−1)kx2k+1 (2k + 1)! para ∀x. 3. cosx = 1− x 2 2! + x4 4! − x 6 6! + ... = ∞P k=0 (−1)kx2k (2k)! para ∀x. 4. ln(1 + x) = 1− x 2 2! + x3 3! − x 4 4! + ... = ∞P k=0 (−1)kxk+1 k + 1 para |x| < 1. 5. arctanx = x− x 3 3! + x5 5! − ... = ∞P k=0 (−1)kx2k+1 2k + 1 para |x| < 1. 6. 1 1− x = 1 + x+ x 2 + x3 + x4 + ... = ∞P k=0 xk para |x| < 1. 7. 1 1 + x = 1− x+ x2 − x3 + ... = ∞P k=0 (−1)kxk para |x| < 1. 8. sinhx = 1 + x3 3! + x5 5! + x7 7! + ... = ∞P k=0 x2k+1 (2k + 1)! para ∀x. 9. coshx = x2 2! + x4 4! + x6 6! + ... = ∞P k=0 x2k (2k)! para ∀x. 10. e−1 = 1− 1 1! + 1 2! − 1 3! + 1 4! − 1 5! + ... = ∞P k=0 (−1)k k! 41. Fazer um algoritmo para calcular e escrever o valor aproximado de π, usando a série: S = 1 13 − 1 33 + 1 53 − 1 73 + 1 93 − ... sabendo que o valor de π = 3 √ S × 32. É possível que haja diferentes tipos de erros nesta lista. Caso você perceba alguns deles, por favor, avise-me para que eu possa corrigí-los. Divirta-se!!!. Prof. Dr. Marco Antônio Piteri piteri@prudente.unesp.br Sala 04 - Docente 1 5
Compartilhar