Universidade Federal da Paraíba
Departamento de Sistemas e Computação
Disciplina: Introdução à Programação – Turma 01
Professor: Roberto Medeiros de Faria
Período: 2001.2
2a Lista de Exercícios
01. Escreva um programa em C que a cada execução imprima dez vezes as informações que devem aparecer no seu cartão pessoal (nome, endereço, etc.).
02. Escreva um programa em C que leia um número inteiro N e imprima N vezes as informações do seu cartão pessoal.
02. Escreva um programa em C para gerar os cinqüenta primeiros termos da série: 1, 1, 2, 4, 3, 9, 4, 16, 5, 25, 6, 36, ...
03. Escreva um programa em C para gerar os cinqüenta primeiros termos da série: 2, 4, 4, 16, 6, 36, 8, 64, ..., e determinar a sua soma.
04. Escreva um programa em C para gerar os cinqüenta primeiros termos da série: 1, 2, 4, 7, 11, 16, 22, ...
05. Escreva um programa em C para gerar os cinqüenta primeiros termos da série: 1 + N, 2 * N, 3 + N, 4 * N, ..., onde N é um valor lido da unidade padrão de entrada.
06. Escreva um programa em C para gerar os quinze primeiros termos da série de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, ... (Na série de Fibonacci, os dois primeiros termos são definidos e os demais são a soma dos dois anteriores).
07. Escreva um programa em C para imprimir os termos da série de Fibonacci menores que 10000.
08. Escreva um programa em C para ler um número inteiro N e, a seguir, gerar os N primeiros termos da série de Fibonacci.
09. Escreva um programa em C que leia um número inteiro qualquer e determine se o número que foi lido é par ou ímpar.
10. Escreva um programa em C para ler vinte números inteiros e determinar se cada um desses números é par ou ímpar.
11. Escreva um programa em C para ler um número inteiro N e imprimir o valor lido e os N primeiros números ímpares positivos.
12. Escreva um programa em C para ler um número inteiro N e imprimir os N primeiros números pares positivos.
13. Escreva um programa em C para ler um número inteiro K e imprimir os K primeiros números ímpares positivos e sua soma.
14. Escreva um programa em C para ler dois números inteiros M e N e, a seguir, imprimir os números pares existentes no intervalo [M, N]. Lembre-se que nem sempre M é um número par.
15. Escreva um programa em C para ler um número inteiro qualquer e determinar seu fatorial.
16. Escreva um programa em C para determinar o fatorial de dez números inteiros quaisquer.
17. Escreva um programa em C para ler seguidamente valores inteiros até que seja lido um valor nulo. Para cada valor lido, o programa deve determinar seu fatorial.
18. Escreva um programa em C para ler seguidamente valores inteiros até que seja lido um valor negativo. Para cada valor lido, exceto o último, o programa deve determinar seu fatorial.
19. Escreva um programa em C para determinar o número de combinações de n objetos tomados p a p, a partir de valores de n e p lidos da unidade padrão de entrada.
Fórmula: n!
np = ----------
p!(n - p)!
20. Escreva um programa em C para calcular uma aproximação para Pi. A aproximação pode ser obtida de Pi = 4 - 4/3 + 4/5 - 4/7 + 4/9 - 4/11 + ... O programa deve encerrar o processamento quando a variação no valor calculado for inferior a 0.0001.
21. Escreva programas em C para cálculo da soma 1 - 1/2 + 1/3 - 1/4 + ... + 1/9999 - 1/10000 por adição dos termos:
- da esquerda para a direita;
- da direita para a esquerda;
- positivos e dos termos negativos, separadamente, da esquerda para a direita;
- positivos e dos termos negativos, separadamente, da direita para a esquerda.
O resultado com dez casas decimais é 0.6930971830.
22. Escreva um programa para calcular uma aproximação para cosseno(X), onde X é um valor inteiro lido da unidade padrão de entrada. A aproximação pode ser obtida de cos(x) = 1 - X/2! + X/4! - X/6! ... O programa deve encerrar o processamento quando a variação no valor calculado for inferior a 0.001.
23. Escreva um programa em C para calcular uma aproximação para seno(X), onde X é um valor inteiro lido da unidade padrão de entrada. A aproximação pode ser obtida de: sen(X) = X - X/3! + X/5! - X/7! + ... O programa deve encerrar o processamento quando a variação no valor calculado for inferior a 0.001.
24. Escreva um programa em C para calcular uma aproximação para exp(X), onde X é um número qualquer lido da unidade padrão de entrada. A aproximação pode ser obtida de: exp(X) = 1 + X + X/2! + X/i!. O programa deve encerrar o processamento quando a variação no valor calculado for inferior a 0.0001.
25. Escreva um programa em C que imprima a tabela abaixo:
NUMERO QUADRADO CUBO RAIZ
QUADRADA RAIZ CUBICA
1.5 2.25 3.375 1.2247 1.1447
2.5 6.25 15.625 1.5811 1.3572
. . . . .
. . . . .
99.5 9900.25 985074.875 9.9749 4.6338
26. Escreva um programa em C para imprimir uma tabela de temperaturas em graus Célsius e equivalentes em Fahrenheit, de 0 oC a 100 oC.
27. Escreva um programa em C para ler dez grupos de valores para A, B e C (variáveis do tipo REAL). Para cada grupo de valores o programa deve imprimir os valores lidos e as raízes da equação Ax2 + Bx + C = 0.
28. Escreva um programa em C para ler quatro valores reais, imprimir o maior dos quatro valores e os valores lidos, nesta seqüência.
29. Escreva um programa em C para ler 50 valores inteiros aleatórios, imprimir os valores lidos e determinar o maior dos valores lidos.
30. Escreva um programa em C para ler cinqüenta valores inteiros aleatórios, imprimir os valores lidos e determinar o menor dos valores lidos e sua posição no conjunto.
31. Escreva um programa em C para ler N e a seguir ler N valores inteiros, imprimir os valores lidos e determinar o maior e o menor dos N valores.
32. Escreva um programa em C para ler N números inteiros, imprimir os números lidos e determinar a diferença entre os dois maiores números lidos.
33. Escreva um programa em C para ler e imprimir a idade de um grupo de 20 pessoas. Ao final, o programa deve determinar a pessoa mais idosa, a mais jovem, e a média das idades do grupo de pessoas.
34. Escreva um programa em C que leia cinqüenta valores reais quaisquer, imprima os valores lidos e determine qual o segundo menor dentre os valores, sem efetuar ordenação.
35. Escreva um programa em C que leia cinqüenta valores reais quaisquer, imprima os valores lidos e determine qual o segundo maior dentre os valores e sua posição no conjunto, sem efetuar ordenação.
36. Escreva um programa em C para ler três números reais quaisquer e imprimir estes números em ordem numérica crescente.
37. Escreva um programa em C para ler três valores inteiros, imprimir os valores lidos e determinar o valor que não é o maior e que não é o menor dos três valores lidos.
38. Escreva um programa em C para ler dez grupos de três valores inteiros cada, imprimir os valores lidos identificando o valor que não é o maior e que não é o menor para cada um dos grupos de três valores.
39. Escreva um programa em C para ler vários grupos de três valores inteiros e determinar o valor que não é o maior e que não é o menor para cada um dos grupos. O processamento deve ser encerrado quando um dos três valores for negativo.
40. Escreva um programa em C para ler oito valores reais, imprimir os valores lidos e determinar:
- a média dos números positivos;
- a média dos números negativos; e
- a soma de todos os valores lidos.
41. Escreva um programa em C para ler um valor inteiro K e calcular a média aritmética de K valores reais lidos da unidade padrão de entrada. O programa deve imprimir os valores lidos e a sua média aritmética.
42. Escreva um programa em C para ler um número inteiro K, e a seguir ler K números inteiros, imprimir os valores lidos e determinar a média aritmética dos valores ímpares e a média aritmética dos valores pares existentes entre os valores lidos.
43. Escreva um programa em C para ler um número desconhecido de valores reais e imprimir todos os valores lidos, a soma dos valores lidos e a média aritmética dos valores. O processamento encerra quando um mesmo valor for lido por duas vezes consecutivas, sem considerar uma destas leituras no processamento.
44. Escreva um programa em C para ler vários grupos de 5 valores reais cada e calcular a média ponderada destes valores, sabendo-se que o primeiro valor tem peso 4, o segundo e o terceiro têm peso 2 e os dois últimos têm peso 1. O processamento encerra quando for lido um grupo com todos os valores negativos, sem considerar este grupo de valores nos cálculos. Para cada grupo de valores, o programa imprime os valores lidos e a média ponderada.
45. Escreva um programa em C que leia dois valores inteiros A e B (A sempre par e menor que B), calcule o produtório dos números pares compreendidos entre A e B, inclusive. O programa deve imprimir o produtório e a quantidade de elementos que compõem o produtório.
46. Escreva um programa em C para ler três números inteiros e imprimir todos os múltiplos do primeiro que estejam compreendidos entre o segundo e o terceiro, inclusive. Assuma que: primeiro £ segundo £ terceiro.
47. Escreva um programa em C para ler um número inteiro qualquer e determinar todos os seus divisores exatos.
48. Escreva um programa em C para ler vinte valores inteiros e imprimir cada valor acompanhado de todos os seus divisores exatos.
49. Escreva um programa em C para ler quinze pares de valores inteiros e determinar o Máximo Divisor Comum (MDC) para cada um dos quinze pares de valores.
50. Escreva um programa em C para cálculo do Mínimo Múltiplo Comum (MMC) entre dois números inteiros lidos da unidade padrão de entrada.
51. Escreva um programa em C para ler um número inteiro N e a seguir, ler N pares de valores inteiros. Para cada um dos N pares de valores o programa deve determinar seu Mínimo Múltiplo Comum (MMC).
52. Escreva um programa em C para ler vários grupos de dois valores inteiros até encontrar dois valores iguais. O programa deve imprimir cada par de valores acompanhado de seu Mínimo Múltiplo Comum (MMC).
53. Escreva um programa em C que leia um número inteiro qualquer e determine se o número lido é primo ou não.
54. Escreva um programa em C para ler um número inteiro N e imprimir os N primeiros números primos.
55. Escreva um programa em C para determinar os números primos do intervalo [501, 1500].
56. Escreva um programa em C para determinar os números primos do intervalo [M, N], onde M e N são valores lidos da unidade padrão de entrada.
57. Escreva um programa em C para ler um número inteiro qualquer e verificar se o número lido é primo. Em caso afirmativo, o programa deve imprimir o fatorial do número. Caso o número não seja primo, imprimir todos os seus divisores.
58. Escreva um programa em C para ler seguidamente vários valores inteiros até encontrar um valor negativo ou nulo. Para cada um dos valores lidos, exceto o último, o programa deve informar se o valor é primo ou não.
59. Escreva um programa em C para identificar os pares de números menores que 500 tais que o segundo seja igual a 1 mais duas vezes o primeiro. Exemplo: 3 e 7.
60. Escreva um programa em C para determinar um número inteiro N tal que N + 3N + 5 seja divisível por 121.
61. Escreva um programa em C para ler dois números inteiros e determinar se eles são primos gêmeos. Dois números são primos gêmeos se eles são primos e existe uma diferença de dois (2) entre eles (11 e 13 são primos gêmeos).
62. Escreva um programa em C que imprima os seis primeiros pares de primos gêmeos.
63. Escreva um programa em C para determinar todos os pares de primos gêmeos menores que N, sendo N um valor lido.
64. Escreva um programa em C que leia um número inteiro qualquer e determine se esse número é perfeito ou não. Um número é perfeito quando a soma de seus divisores, excetuando- se o próprio número, for igual ao número.
65. Escreva um programa em C para determinar todos os números perfeitos existentes entre 2 e 1000.
66. Escreva um programa em C para ler dois números inteiros e determinar se eles são primos relativos. Dois números são primos relativos (ou primos entre si) quando eles não têm nenhum divisor comum (excetuando-se a unidade).
67. Escreva um programa em C para determinar se um número inteiro de quatro dígitos é palíndromo perfeito. Um número é palíndromo perfeito quando pode ser lido da direita para a esquerda sem alterar seu valor, tal como 1661.
68. Escreva um programa em C para determinar todos os números palíndromos perfeitos do intervalo [1000, 9999].
69. Escreva um programa em C para identificar os números amigáveis menores que 2000. Dois números são amigáveis quando cada um é igual à soma dos divisores do outro número (excluindo apenas o próprio número). Exemplo: 220 e 284 são números amigáveis pois a soma dos divisores de 220 (1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110) é igual a 284 e a soma dos divisores de 284 (1, 2, 4, 71, 142) é igual a 220.
70. Escreva um programa em C para determinar todos os números de 3 algarismos, cujas somas dos cubos dos algarismos sejam iguais ao próprio número. Exemplo: 153 = 1 + 5 + 3.
71. Escreva um programa em C para determinar todos os números de 4 algarismos que possam ser separados em dois números de dois algarismos que somados e elevando-se a soma ao quadrado obtenha-se o próprio número. Exemplo: 3025 = (30 + 25) = 55 .
72. Escreva um programa em C para ler os coeficientes de várias equações do segundo grau e determinar, para cada uma das equações, suas raízes reais, caso existam. Quando a equação não possuir raízes reais, o programa deve informar esta ocorrência. O processamento deve ser encerrado quando o primeiro valor lido for nulo, sem considerar este grupo de valores nos cálculos.
73. Um método para verificar se uma multiplicação está correta é a soma dos noves fora dos multiplicadores e produto. Elabore um programa em C para determinar a soma dos noves fora de um número decimal inteiro positivo com no máximo 8 algarismos.
74. Escreva um programa em C para ler e imprimir 3 valores reais. O programa deve verificar se esses valores formam um triângulo e o tipo de triângulo. O triângulo poderá ser:
- eqüilátero - quando os três lados forem iguais;
- isósceles - quando dois dos lados forem iguais e
- escaleno - quando os três lados forem distintos.
75. Escreva um programa em C que leia as coordenadas (X1, Y1), (X2, Y2), e (X3, Y3) representando os vértices de um triângulo em um sistema de coordenadas cartesianas, leia as coordenadas (X4, Y4) de um ponto qualquer e determine se o ponto localiza-se dentro do triângulo. O programa deve escrever todas as coordenadas.
76. Escreva um programa em C para ler um número inteiro qualquer e determinar sua raiz quadrada pelo método de Newton com aproximação de 0.0001. A aproximação deve ser obtida de:
X = a/2
X = 1/2 (X + a/X) para i = 1, 2, 3, ...
77. Modifique o programa de cálculo da raiz quadrada pelo método de Newton, de modo a informar quantas iterações foram necessárias para atingir uma aproximação desejada (lida da unidade padrão de entrada).
78. Escreva um programa em C para ler um número inteiro qualquer e determinar sua raiz cúbica por aproximações sucessivas pelo método de Newton. A raiz com aproximação de 0.0001 deve ser obtida de:
X = a/3
X = 1/3 (2X + a/X ) para i = 0, 1, 2, 3, ...
79. Escreva um programa em C para determinar o dia da semana referente a uma data qualquer do Calendário Gregoriano. A data deve ser lida no formato dia-mês-ano. O Reverendo Zeller desenvolveu o seguinte algoritmo com esse objetivo:
- considerar M como sendo o mês do ano, iniciando com março com M = 1 e janeiro e fevereiro sendo os meses 11 e 12 do ano anterior;
- considerar D como sendo o dia do mês;
-
considerar A como sendo o ano do século;
-
considerar S como sendo o século anterior. O índice do
dia (Domingo = 0, Segunda = 1, ..., Sábado = 6) é dado pelo resto da divisão de
(13M - 1)/5 + A/4 + S/4 por 7, considerando apenas a parte inteira de cada uma
das divisões.