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.