Você está na página 1de 73

Lista de Exerccios - Linguagem C

Walter Alexandre Alencar de Oliveira

22 de fevereiro de 2013
2
Sumrio

1 Introduo 5
2 Variveis, Expresses e Funes Bsicas 7
3 Estruturas Condicionais e de Seleo 17
4 Estruturas de Repetio 29
5 Vetores e Matrizes 41
6 Tipos Abstratos de Dados 53
7 Funes 55
8 Arquivos 57
9 Ponteiros 59
10 Outros Recursos da Linguagem 61
11 Estruturas de Dados 63
12 Desaos 65
A Base Matemtica 67
A.1 Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A.2 Escalas termomtricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A.3 ngulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

A.4 Polgonos e outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

A.5 Plano e Espao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

A.6 Medidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

A.7 Nmeros Complexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3
4 SUMRIO

A.8 Outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

A.9 Fsica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

A.10 Datas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

A.11 Vetores e Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

A.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Captulo 1

Introduo

Para ser um bom programador necessrio programar. Como professor da disciplina Pro-

gramao de computadores (e outras disciplinas que envolvam programao), no difcil

acreditar nesta armao. Assim, essa lista de exerccios tem a nalidade de fornecer ao

aluno a oportunidade de praticar os conhecimentos aprendidos em sala de aula.

Embora seja objetivo criar uma lista exaustiva de exerccios, possvel que algum contedo

relacionado que de fora. Tambm possvel, devido a grande quantidade de exerccios,

haver exerccios repetidos ou em captulo errado. Neste caso, peo pacincia aos alunos e, se

possvel, a colaborao com os mesmo em me noticar tais falhas neste trabalho.

Cada captulo ir focar em um conjunto de recursos da linguagem C. recomendado que o

aluno resolva os exerccios na ordem em que se encontram na lista (tendo os exerccios mais

fceis no incio e aumentando-se o grau de diculdade aos poucos). Uma vez que o contedo

estudado em um curso de linguagem C considerado acumulativo, a lista de exerccio, de

maneira similar, ir incluir recursos cobrados em captulos anterios.

No Captulo 2 so encontrados exerccios que exploram os recursos bsicos da linguagem C,

entre eles, declarao de variveis, atribuio, expresses aritmticas com valores e variveis,

funes de entrada e sada de dados, funes matemticas e algunas funes auxiliares de

simples uso. Este captulo recomendado para os alunos que esto comeando a aprender a

linguagem.

O Captulo 3 inclui exerccios que exploram o uso de estruturas de deciso (if e if-else ) e de

seleo (switch ). Este captulo recomendado para alunos que j esto familiarizados com

os conceitos explorados na captulo anterior.

No Captulo 4 explorado o uso de estruturas de repetio (for, while e do-while ). Embora

qualquer uma das trs estruturas disponveis seja capaz de resolver qualquer problema que

envolva repeties, h sempre uma que a mais adequada para o problema em questo.

Recomenda-se que, nos primeiros exerccios, o aluno devenvolva trs verses de cada exerccio,

5
6 CAPTULO 1. INTRODUO

cada uma utilizando uma estrutura de repetio diferente. Essa prtica ajudar o aluno a

escolher a estrutra mais adequada nos prximos exerccios.

Os conceitos de vetores e matrizes so explorados no Captulo 5.

Estruturas (struct ), unies (union ) e tipos enumerados (enum ) so os recursos abordados no

Captulo 6.

O Captulo 7 explora os recursos de criao e uso de funes na linguagem C. O uso de funes

favorece o reuso de cdigo e a base da programao modular. O aluno pode, opcionalmente,

criar as funes em arquivos separados. Neste caso costume criar o prottipo das funes

num arquvo com extenso .h e a implementao das funes em um arquivo com extenso .c

(o arquivo .h deve adicionar, no nal, o comando #include para incluir o arquivo .c contendo

a implementao das funes). Assim possvel que o usurio inclua as funes em quaisquer

programas que for necessrio, fazendo uso apenas do comando #include.

Os exerccios includos at este ponto consideram que a entrada de dados feita pelo usurio,

ao digitar valores pelo teclado e que os resultados so sempre exibidos na tela. Porm, isso

no precisa ser sempre assim. O Captulo 8 ir incluir exerccios que exploram o uso de

arquivos, tanto de texto quanto binrios.

No Captulo 9 so explorados os recursos de ponteiros da linguagem C. Nos Captulos 6 e 7

evitou-se a incluso de exerccios que zessem uso de ponteitos e, dessa forma, limitando um

pouco o contedo abordado nestes Captulos. Assim, este captulo serve tambm como um

captulo complementar dos anteriores citados.

Diversos outros recuros existentes na linguagem C (que no chegaram a se tornar um captulo

nesta lista de exerccios) so explorados no Captulo 10. Este captulo recomendado para

desenvolver um domnimo mais completo da linguagem.

O Captulo 11 inclui exerccios que exploram conceitos estudados nas disciplinas de Estru-

turas de Dados e Anlise e Projeto de Algoritmos. Este captulo recomendado tanto a

alunos que estejam fazendo estas disciplinas quanto a alunos que apenas queiram ter uma

melhor prtica no desenvolvimento de programas em linguagem C.

O Captulo 12 prope exerccios um pouco mais avanados, onde a diculdade pode tanto

ser na construo do programa quanto na matemtica envolvida no problema.

Por m, o Apncide A rene uma coleo de valores de constantes e frmulas matemticas

necessrias para a construo de diversos solicitados nesta lista.


Captulo 2

Variveis, Expresses e Funes Bsicas

1. Faa um programa que exiba a mensagem Ol Mundo! para o usurio.

2. Faa um programa que declare uma varivel inteira e mostre seu contedo para o

usurio. Execute o programa algumas vezes. Qual o signicado do valor que est sendo

impresso pelo programa?

3. Faa um programa que declare uma varivel real com preciso simples, atribua a essa

varivel o valor do nmero (3.1415) e mostre, para o usurio, o contedo dessa

varivel.

4. Faa um programa que declare uma varivel capaz de armazenar um caractere, atribua

a letra a a essa varivel e mostre na tela o contedo da varivel.

5. Faa um programa que declare uma varivel inteira, atribua a essa varivel o valor 2.97

e mostre na tela o contedo da varivel. Que valor mostrado na tela? Por que isso

acontece? Como pode ser evitado esse tipo de problema?

6. Faa um programa que declare uma varivel real com preciso dupla, atribua a essa

varivel a expresso 123/456 e mostre o resultado que est armazenado na varivel?

Que valor mostrado na tela? Por que isso acontece? Como pode ser evitado esse tipo

de problema?

7. Faa um programa capaz de ler um carectere, informado pelo usurio, e mostrar o

caractere escolhido pelo usurio.

8. Faa um programa que leia um nmero inteiro e um nmero real de preciso simples.

Mostre na tela ambos os valores.

7
8 CAPTULO 2. VARIVEIS, EXPRESSES E FUNES BSICAS

9. Faa um program que leia um valor inteiro e mostre este mesmo valor nas bases hexa-

decimal e octal.

Dica: a funo printf possui opes de formatao que fazem isso.

10. Ler um valor real e exibir este valor com a preciso de duas cadas decimais (nem mais

nem menos).

11. Ler um valor inteiro e exibir este valor com pelo menos trs dgitos.

Exemplo:

valor lido:7 -> valor exibido:007

valor lido:17 -> valor exibido: 017

valor lido:1024 -> valor exibido: 1024

Dica: a funo printf possui opes de formatao que fazem isso.

12. Faa um programa que leia uma data no formato (dd/mm/aaaa) e mostre a data

fornecida no formato (aaaa/mm/dd).

Dica: possvel especicar as barras no formato de entrada dentro da funo scanf.

13. Faa um programa que leia um nmero inteiro, calcule o seu quadrado e exiba o resul-

tado.

14. Faa um programa que leia um nmero inteiro, calcule a dcima parte deste nmero e

exiba o resultado.

15. Faa um programa que leia dois nmeros, some estes nmeros e exiba o resultado.

16. Faa um programa capaz de multiplicar dois nmeros fornecidos pelo usurio.

17. Faa um programa que leia dois nmeros inteiros e calcule sua soma, subtrao, mul-

tiplicao e diviso.

18. Faa um programa para calcular a soma de trs valores informados pelo usurio.

19. Faa um programa para ler uma temperatura em graus Celsius e mostrar seu valor

convertido para graus Fahrenheit.

20. Faa um programa para ler uma temperatura em graus Fahrenheit e apresentar seu

valor convertido para graus Celsius.

21. Faa um programa que ler uma temperatura em graus Celsius e convert-la para Kelvin.
9

22. Faa um programa que converta uma temperatura em Kelvin para Celsius.

23. Faa um programa para converter de graus Fahrenheit para Kelvin.

24. Faa um programa para converter de Kelvin para graus Fahrenheit.

25. Faa um programa que leia uma temperatura em graus Celsius e mostre seu valor em

graus Fahrenheit e Kelvin.

26. Faa um programa para ler um ngulo em graus e convert-lo em radianos.

27. Faa um programa para ler um ngulo em radianos e convert-lo em graus.

28. Faa um programa que leia um nmero e exiba o seu antecessor e sucessor.

29. Faa um programa para calcular a rea de um quadrado. O tamanho do lado deve ser

informado pelo usurio.

30. Faa um programa para calcular a rea de um retngulo. O tamanho dos lados devem

ser informados pelo usurio.

31. Faa um programa para calcular a rea de um tringulo retngulo. O tamanho da base

e altura do tringulo devem ser informados pelo usurio.

32. Faa um programa para calcular a rea de um tringulo qualquer. O tamanho dos

lados devem ser informados pelo usurio.

33. Faa um program que leia trs valores e apresente, como resultado nal, a soma dos

quadrados dos trs valores lidos.

34. Faa um programa que leia quatro notas de um aluno e calcule a sua mdia obtida.

35. Faa um programa que leia o valor do salrio de um funcionrio, calcule e mostre seu

novo salrio, sabendo que o mesmo recebeu um aumento de 21,3%.

36. Faa um programa que receba a altura do degrau de uma escada e a altura que o usurio

deseja alcanar subindo a escada. Calcular e mostrar quantos degraus o usurio dever

subir para atingir seu objetivo, sem se preocupar com a altura do usurio.

37. Leia o valor do raio de um crculo e calcule a rea deste crculo.

38. Leia o valor do raio de um crculo e calcule a sua circunferncia.


10 CAPTULO 2. VARIVEIS, EXPRESSES E FUNES BSICAS

39. Leia o valor do raio de uma esfera e calcule a rea de sua superfcie e o volume da

esfera.

40. A importncia de R$ 780.000,00 ser dividida entre trs ganhadores de um concurso.

Sendo que da quantia total:

O primeiro ganhador receber 46%;

O segundo receber 32%;

O terceiro receber o restante.

Calcule e imprima a quantia ganha por cada um dos ganhadores.

41. Uma empresa contrata um encanador a R$ 30,00 por dia. Crie um programa que

solicite o nmero de dias trabalhados pelo encanador e imprima a quantia lquida que

dever ser paga, sabendo-se que so descontados 8% para pagamento de impostos e

taxas devidas.

42. Leia os valores de dois catetos de um tringulo e calcule e mostre o valor da hipotenusa.

43. Faa um programa que leia um caractere e imprima esse caractere como se fosse um

nmero inteiro. Que nmero esse que foi exibido pelo programa?

44. Faa um programa que converta uma letra maiscula em letra minscula.

Dica: use a tabela ASCII.

45. Faa um programa que leia um nmero inteiro, positivo e de trs dgitos, calcule o

nmero formado pelos dgitos invertidos do nmero lido.

Exemplo:

Nmero lido: 123

Nmero Obtido: 321

46. Faa um programa para ler um horrio (hora:minuto:segundo) de incio e a durao,

em segundos, de uma experincia biolgica. O programa deve informar o horrio

(hora:minuto:segundo) de trmino da mesma.

47. Faa um programa que calcule a mdia ponderada das notas de trs provas. A primeira

e a segunda prova tm peso 1 e a terceira prova tem peso 2. O programa deve a mdia

obtida pelo aluno.


11

48. Faa um programa que leia o valor da hora de trabalho (em reais), o nmero de dias

trabalhados no ms de janeiro deste ano, e mostre na tela o valor a ser pago ao funci-

onrio, adicionando 10% sobre o valor calculado. Considere que a carga de trabalho

de segunda a sexta-feira, das 08:00 s 12:00 e as 14:00 s 18:00; aos sbados, das 08:00

s 12:00. Considere que o funcionrio teve folga em dias de feriados.

49. Escreva um programa que leia as coordenadas x e y de um ponto no plano cartesiano

e calcule a sua distncia ao ponto de origem.

50. Escreva um programa que leia as coordenadas x e y de dois pontos no plano e calcule

a distncia entre eles.

51. Escreva um programa que leia as coordenadas x e y dos vrtices de um tringulo e

calcule a sua rea.

52. Faa um programa capaz de ler um nmero de quatro dgitos e escrever cada dgito em

uma linha na tela.

53. Faa um programa que leia o valor de horas, minutos e segundos gastos em um expe-

rimentos e converta esse tempo em segundos.

54. Faa um programa que leia um valor inteiro em segundos e exiba a quantidade de horas,

minutos e segundos correspondente ao valor lido.

55. Trs amigos zeram um bolo e jogaram na loteria. Caso eles ganhem, o prmio deve

ser repartido proporcionalmente ao valor que cada um contribuiu para a realizao das

apostas. Faa um programa que l quanto cada apostador investiu, l o valor do prmio

e escreve quanto cada um ganharia.

56. Faa um programa que receba dois valores inteiros, e construa um nmero real cuja

parte inteira corresponde ao resto da diviso do primeiro pelo segundo valor e a parte

fracionrio composta pelos dois dgitos menos signicativos do quociente da diviso

do primeiro pelo segundo valor recebido.

57. Leia um valor de velocidade em quilmetros por hora e apresent-la em metros por

segundo.

58. Leia um valor de velocidade em metros por segundo e apreset-la em quilmetros por

hora.

59. Leia uma distncia em milhas e converta para quilmetros.


12 CAPTULO 2. VARIVEIS, EXPRESSES E FUNES BSICAS

60. Leia uma distncia em quilmetros e converta para milhas.

61. Leia um valor de comprimento em polegadas e convert-lo em centmetros.

62. Converter de centmetros para polegadas.

63. Ler um valor de volume em metros cbicos e converter para litros.

64. Ler um valor de quantidade de litros e calcular o valor correspondente em metros

cbicos.

65. Ler um valor de quantidade de litros e calcular o valor correspondente em centmetros

cbicos.

66. Ler um valor de massa em quilogramas e converter para libras.

67. Ler um valor de massa em libras e converter para quilogramas.

68. Ler um comprimento em jardas e converter para metros.

69. Ler um comprimento em metros e converter para jardas.

70. Ler uma rea em metros quadrados e converter para acres.

71. Ler uma rea em acres e converter para metros quadrados.

72. Ler uma rea em hectares e converter para metros quadrados.

73. Ler uma rea em metros quadrados e converter para hectares.

74. Ler uma rea em hectares e converter para quilmetros quadrados.

75. Ler uma rea em quilmetros quadrados e converter para hectares.

76. Faa um programa que realize operaes simples de nmeros complexos:

Crie e leia dois nmeros complexos, ambos compostos por parte real e parter

imaginria.

Apresente a soma, subtrao e produto entre estes dois nmeros complexos.

Apresente o mdulo dos dois nmeros complexos.

77. Faa um programa que leia dois pontos correspondentes a dois vetores no plano carte-

siano e calcule o ngulo entre esses dois vetores.


13

78. Crie um programa que converte coordenadas cartesianas em coordenadas polares. O

programa deve ler um ponto em um coordenada polar, composto por raio e ngulo em

radianos.

79. Calcular a corrente em um circuito eltrico resistivo simples:

Leia os dados de uma fonte de tenso real composta por fora eletromotriz (E) e

resistncia interna (ri).

Leia os dados de uma fonte de um receptor composto por resistncia interna (ri)

e consumo (E').

Calcular e exibir a corrente que passa no circuito composto pela fonte e receptor,

sabendo que E=E'+R*i, onde R a soma das resistncias internas.

80. Calcular a fora gravitacional de um objeto de massa m a uma distncia d acima do

solo.

81. Um determinado satlite est a uma altitude h com relao a Terra. Escreva um

programa que leia a altitude desse satlite e determine sua velocidade orbital e seu

perodo de movimento orbital.

Dica: utilize as frmulas e constantes localizadas no Apndice A.

82. Ler a altura e o raio de um cilindro circular e imprimir o volume do cilindro.

83. Ler o salriobase de um funcionrio, calcular e mostrar o salrio a receber, sabendo-se

que esse funcionrio tem graticao de 5% sobre o salrio-base, e paga imposto de 7%

sobre o salrio-base.

84. Faa um programa para converso monetria de reais (R$) para dlares (US$). O

usurio deve fornecer o valor da cotao do dlar.

85. Um cercado contm patos e coelhos. Faa um programa que solicita o total de cabeas

e o total de patas, e escreve quantos patos e quantos coelhos existem no cercado.

86. Ler um nmero inteiro e imprimir a soma do sucessor de seu triplo com o antecessor

de seu dobro.

87. Faa um programa para ler as dimenses de um terreno (comprimento e largura), o

preo do metro de arame e calcular o custo total para cercar o terreno. O programa

tambm deve informar quantos metros de cerca devem ser comprados.


14 CAPTULO 2. VARIVEIS, EXPRESSES E FUNES BSICAS

88. Faa um programa que calcule o ano de nascimento de uma pessoa a partir da idade

que a pessoa tinha no dia primeiro de janeiro do ano atual.

89. Faa um programa que calcule e mostre a mdia geomtrica entre quatro valores.

90. Faa um programa que calcule e mostre a mdia harmnica entre quatro valores.

91. Ler um ngulo x em graus, calcular e mostrar o valor de seno(x), cossseno(x) e

tangente(x).
Obs.: antes de usar as funes trignomtricas da biblioteca math.h, necessrio con-

verter a medida do ngulo para radianos.

92. Ler um valor x e calcular o arcoseno(x), arcocosseno(x), e o arcotangente(x). Os

ngulos obtidos nos resultados devem ser apresentados em graus.

93. Ler o valor de um ngulo x, em graus, e calcular o seno hiperblico de x, o cosseno

hiperblico de x e a tangente hiperblica de x. Obs: o valor do ngulo deve ser

convertido para radianos antes de se usar as funes da biblioteca math.h.

94. Faa um programa que gere trs valores aleatrios inteiros.

Dica: use as funes rand e srand, ambas denidas na biblioteca stdlib.h.

95. Faa um programa que gere trs valores aleatrios inteiros e maiores ou iguais que um

limite inferior fornecido pelo usurio.

96. Faa um programa que gere trs valores aleatrios inteiros e menores ou iguais que um

limite superior fornecido pelo usurio.

97. Faa um programa que gere trs valores aletrios inteiros que estejam dentro do inter-

valo fechado [a; b]. Os limites inferior (a) e superior (b) so fornecidos pelo usurio.

98. Ler um valor de x e calcular seu logaritmo na base e e na base 10. Que valor obtido

se o usurio fornecer o valor zero para x? Qual o signicado desse nmero?

99. Ler um valor de a e um valor de b e calcular o logaritmo de a na base b. Dica: use

a frmula de mudana de base logartmica para poder usar as funes da biblioteca

math.h.

100. Faa um programa capaz de ler um valor real x e decompor esse nmero em parte

inteira e parte fracionria.

Dica: use a funo modf da biblioteca math.h.


15

101. Faa um programa que calcule a n-sima raiz de um valor x fornecido pelo usurio.

Obs.: o usurio deve fornecer o ndice da raz.

Dica: use a funo pow da biblioteca math.h.

102. Ler um nmero real x e decompor ele o decompor em nmero signicante e em um

expoente binrio de modo que a seja verdadeira a equao x = signif icante 2expoente .
Dica: use a funo frexp da biblioteca math.h.

103. Ler um nmero real e arredondar para o nmero mais prximo.

Obs.: no necessrio o uso de estruturas condicionais neste programa.

Dica: use a funo ceil ou oor da biblioteca math.h.

104. Faa um programa que informe qual o menor e maior valor que podem ser armazenados

em uma varivel inteira.

Dica: pesquise a respeito na biblioteca limits.h.

105. Faa um programa que:

Gere dois nmeros aleatrios a e b inteiros, positivos e no intervalo de [1;100];

Escolher aleatoriamente uma das operaes artimticas bsicas (soma, subtrao,

diviso ou multiplicao) para ser executada entre os operandos a e b;


Pedir ao usurio que fornea o resultado da operao aritmtica gerada no tem

anterior;

Monitorar o tempo de resposta do usurio (tempo entre a momento em que o

programa exibe a operao aritmtica gerada e o momento em que fornecida a

resposta);

Exibir o resultado entrado pelo usurio; o resultado correto; e o tempo, em segun-

dos, que o usurio levou para responder.

Dica: use a funo time da biblioteca time.h.

106. Faa um programa que converta uma data no formato gregoriano (dd/mm/aaaa) para

o formato juliano.

107. Faa um programa que converta uma data no formato juliano para o formato gregoriano

(dd/mm/aaaa).

108. Faa um programa que leia duas datas, ambas no formato dd/mm/aaaa, e calcule a

quantidade de dias entre essas duas datas.

Dica: a converso entre formatos de datas pode ser til construo deste programa.
16 CAPTULO 2. VARIVEIS, EXPRESSES E FUNES BSICAS

109. Em uma loja, o cliente, ao fazer uma compra a prazo, pode estabelescer o um prazo de

10 a 90 dias para pagar a compra. Faa um programa que leia uma data no formato

dd/mm/aaaa e uma quantidade de dias n, adicione os n dias data fornecida e mostre


a data limite para pagamento, no formato dd/mm/aaaa.

Dica: a converso entre formatos de datas pode ser til construo deste programa.

110. Uma empresa paga R$ 10,00 por hora normal trabalhada e R$ 15,00 por hora extra.

Escreva um programa que leia o total de horas normais e o total de horas extras

trabalhadas por um empregado em um ano e calcule o salrio anual deste trabalhador.

111. Assuma que o trabalhador do exerccio anterior deve pagar 10% de imposto se o seu

salrio anual for menor ou igual a R$ 12.000,00. Caso o salrio seja maior que este

valor o imposto devido igual a 10% sobre R$ 12.000,00 mais 25% sobre o que passar

de R$ 12.000,00. Escreva um programa que calcule o imposto devido pelo trabalhador.


Captulo 3
Estruturas Condicionais e de Seleo

1. Considere um cdigo que, em uma de suas estruturas condicionais, utilize o seguinte

teste: if(x=0). Qual o comportamento do comando if neste programa? E como seria

o comportamento desse programa se o teste fosse if(x=1) ou if(x=-10) ?

2. Faa um programa que leia um valor de uma varivel inteira x e imprima dois valores,

formatados como inteiros, sendo o primeiro deles o resultado da expresso lgica x <= 0
e o segundo o resultado da expresso lgica x < 0. Quais so os valores exibidos como

resultado na tela? O que signicam esses valores?

3. Faa um programa que receba dois nmeros e mostre qual o maior deles.

4. Ler um nmero real, se o nmero for positivo imprima sua raiz quadrada, seno imprima

o nmero ao quadrado.

5. Vericar se um determinado ano, fornecido pelo usurio, bissexto. Um ano bissexto

se for divisvel por 400 ou se for divisvel por 4 e no for divisvel por 100.

Exemplos: 1988, 1992, 1996, 2000. Repare que 1900 no bissexto.

6. Receber o salrio de um trabalhador e o valor de um emprstimo. Se a prestao for

maior que 20% do salrio imprima Emprstimo no concedido, caso contrrio imprima

Emprstimo autorizado.

7. Ler o ano de nascimento de uma pessoa e o ano atual, calcular a idade da pessoa.

8. A nota nal de um estudante calculada a partir de trs notas atribudas, respectiva-

mente, a um trabalho de laboratrio, a uma avaliao semestral e a um exame nal.

A mdia das trs notas mencionadas anteriormente os seguintes pesos: Trabalho de

laboratrio: 2; Avaliao semestral: 3; Exame nal: 5. Calcule a mdia obtida pelo

17
18 CAPTULO 3. ESTRUTURAS CONDICIONAIS E DE SELEO

aluno e, de acordo com o resultado, mostre se o aluno est reprovado (mdia entre 0 e

2,9), de recuperao (mdia entre 3 e 4,9) ou aprovado (mdia maior ou igual a 5).

9. Faa um programa que leia um nmero inteiro e verique se o mesmo par ou mpar.

10. Faa um programa que leia trs nmeros e mostre-os em ordem crescente.

11. Faa um programa que leia trs nmeros e mostre-os em ordem decrescente.

Tabela 3.1: Classicao de acordo com altura e peso.


Peso
Altura
At 60 Entre 60 e 90 (inclusive) Acima de 90

Menor que 1,20 A D G


De 1,20 a 1,70 B E H
Maior que 1,70 C F I

12. Faa um programa que receba a altura (em metros) e o peso de uma pessoa (em quilos).

Verique qual a classicao dessa pessoa, de acordo com a tabela 3.1.

13. Faa um programa que calcule a mdia ponderada das notas de trs provas. A primeira

e a segunda prova tm peso 1 e a terceira prova tem peso 2. O programa deve a mdia

obtida pelo aluno e exibir o resultado se aprovado ou reprovado. Considere que para a

aprovao seja necessrio obtr pelo menos uma mdia de 60%.

14. Dados trs valores A, B e C, vericar se eles podem ser comprimentos de lados de um

tringulo e, se forma um tringulo equiltero, issceles ou escaleno. Considere que:

O comprimento de um lado do tringulo menor que a soma dos dois outros lados;

Um tringulo equiltero deve ter os trs lados com a mesmo tamanho;

Um tringulo issceles deve ter pelo menos dois lados com a mesmo tamanho;

Um tringulo escaleno deve ter os trs lados com tamanhos diferente;

15. Escrever um programa para ajudar vendedores. A partir de um valor total lido, mostrar:

O total a pagar com desconto de 10%;

O valor de cada parcela, no parcelamento de 3x sem juros;

A comisso do vendedor que de 5% do valor com desconto (para vendas a vista)

ou de 5% sobre o valor total (para vendas parceladas).


19

16. Usando o switch, escreve um programa que leia um nmero inteiro de 1 a 7 e imprima

o dia da semana correspondente a este nmero, isto , domingo=1, segundafeira=2,

etc.

17. Faa um programa que leia uma data no formato dd/mm/aaaa e calcule o dia da se-

mana correspondente a data fornecida.

Dica: converter a data para o formato juliano pode facilitar a construo deste pro-

grama.

18. Faa um programa para vericar se um determinado nmero, fornecido pelo usurio,

divisvel por 3 ou por 5 mas no por ambos.

19. Faa um programa que escreva o menu abaixo, leia uma opo do usurio e execute a

operao correspondente. O programa deve exibir uma mensagem de erro se a opo

for invlida. O menu do programa deve ser o seguinte:

Escolha uma opo:

1 - Soma de dois nmeros.

2 - Diferena entre dois nmeros.

3 - Produto entre dois nmeros.

4 - Diviso entre dois nmeros (o denominador no pode ser zero).

Sua opo:

20. Uma determinada empresa vende seus produtos em quatro diferentes estados. Cada

estado possui uma taxao de imposto diferente sobre o produto (MG: 7%; SP: 12%;

RJ: 15%; MS: 8%). Faa um programa em que o usurio entre com o valor e o estado

destino do produto e o programa retorne o preo nal do produto acrescido do imposto

correspondente ao estado onde ser vendido. O programa deve mostrar uma mensagem

de erro caso o estado fornecido no esteja na lista de estados vlidos.

21. Leia uma distncia em quilmetros e a quantidade de litros de gasolina consumidos por

um carro em um percurso, calcule o consumo em km/l e escreva uma mensagem de

acordo a tabela 3.2.

Tabela 3.2: Consumo de combustvel.


Consumo (Km/l) Mensagem
Menor que 8 Venda o carro!
Entre 8 e 14 Econmico
maior que 14 Super econmico
20 CAPTULO 3. ESTRUTURAS CONDICIONAIS E DE SELEO

22. Leia a nota e o nmero de faltas de um aluno e escreva seu conceito de acordo com a

tabela 3.3.

Tabela 3.3: Conceitos com relao a notas e faltas.

Nota Conceito
At 20 faltas Acima de 20 faltas
9.0 at 10.0 A B
7.5 at 8.9 B C
5.0 at 7.4 C D
4.0 at 4.9 D E
0.0 at 3.9 E E

23. Leia a idade e o tempo de servio de um trabalhador e escreva se ele pode ou no se

aposentar. As condies para aposentadoria so:

Ter pelo menos 65 anos de idade.

Ou ter trabalhado pelo menos 30 anos.

Ou ter pelo menos 60 anos e ter trabalhado pelo menos 25 anos.

24. Um programador iniciante resolveu fazer um programa que receba um nmero inteiro

de 1 a 7 correspondendo a um dia da semana (1=domingo, 2=segunda-feira, etc). O

programa deve mostrar no nome do dia da semana. O programador decidiu usar uma

estrutura de seleo (switch-case ) porm, ele esqueceu de incluir os comandos break ao

nal de cada case. Qual ser o comportamento deste programa?

25. Faa um programa que uma opo e trs valores e calcule uma mdia correspondente

a uma das seguintes opes:

A = mdia aritmtica.

P = mdia ponderada com pesos 1, 2 e 3 para o primeiro, segundo e terceiro valor,

respectivamente.

G = mdia geomtrica.

H = mdia harmnica.

O programa deve aceitar as opes tanto em caracteres maisculos como minsculos.

O programa deve exibir uma mensagem de erro caso a opo escolhida seja invlida.

26. Leia uma data e determine se a data fornecida vlida. Lembre-se que o ms de

fevereiro tem 29 dias em anos bissextos.


21

27. Um certo produto ir sofrer aumento de acordo com a tabela 3.4. Faa um programa

que leia o valor atual, calcule e escreva o novo valor do produto. O programa tambm

deve mostrar uma mensagem de acordo com a tabela 3.5.

Tabela 3.4: Percentuais para clculo de novos preos.


Preo Atual Precentual de Reajuste
At R$ 50 5%
Entre R$ 50 e R$ 100 10%
Acima de R$ 100 15%

Tabela 3.5: Mensagem a ser exibida com relao ao preo do produto.


Preo Reajustado Mensagem
At R$ 80 Barato
Entre R$ 80 e R$ 120 (inclusive) Normal
Entre R$ 120 e R$ 200 (inclusive) Caro
Acima de R$ 200 Muito caro

28. Ler um nmero inteiro e maior que zero. Caso o nmero fornecido seja negativo,

escreva uma mensagem de erro e solicite nova tentativa. Faa at cinco tentativas, se o

usurio no fornecer um nmero vlido nestas tentativas, imprima uma mensagem de

erro e nalize o programa. Caso o usurio tenha fornecido um valor vlido, calculeo o

logaritmo natural do valor lido.

29. Um nmero n no intervalo de 100 a 999 chamado nmero de Angstron se n obedece


a seguinte regra:

n = centenas3 + dezenas3 + unidades3


Exemplo:

153 = 13 + 53 + 33
Escreva um programa que leia um nmero inteiro no intervalo [100;999] e verique o

um nmero de Angstron.

30. Considere a tabela 3.6. Escreva um programa que, dado o valor de venda, imprima a

comisso que dever ser paga ao fornecedor.

31. Escreva um programa completo que, dados dois nmeros inteiros, mostre na tela o

maior deles, assim, como a diferena existente entre ambos.

32. Escrever um programa que leia o cdigo de um produto escolhido do cardpio de uma

lanchonete e a quantidade. Assim, o programa deve calcular o valor a ser pago por
22 CAPTULO 3. ESTRUTURAS CONDICIONAIS E DE SELEO

Tabela 3.6: Comisso devida de acordo com venda mensal realizada.


Venda Mensal Comisso
> R$ 100.000,00 R$ 700,00 + 16% das vendas
< R$ 100.000,00 e > R$ 80.000,00 R$ 650 + 14% das vendas
< R$ 80.000,00 e > R$ 60.000,00 R$ 600,00 + 14% das vendas
< R$ 60.000,00 e > R$ 40.000,00 R$ 550,00 + 14% das vendas
< R$ 40.000,00 e > R$ 20.000,00 R$ 500,00 + 14% das vendas
< R$ 20.000,00 R$ 400,00 + 14% das vendas

aquele lanche. Considere que a cada execuo somente um pedido ser realizado. O

cardpio da lanchonete exibido na tabela 3.7.

Tabela 3.7: Cardpio de lanchonete.


Descrio Cdigo Preo
Cachorro quente 100 1,20
Bauru simples 101 1,30
Bauru com ovo 102 1,50
Hamburger 103 1,20
Cheeseburger 104 1,70
Suco 105 2,20
Refrigerante 106 1,00

33. Escreva um programa que, dada a idade de um nadador, classique-o em uma das

categorias especicadas na tabela 3.8.

Tabela 3.8: Categorias para nadadores de acordo com idade.


Categoria Idade
Infantil A 5 a 7 anos
Infantil B 8 a 10 anos
Infanto-juvenil 11 a 13 anos
Juvenil 14 a 17 anos
Snior maiores de 18 anos

34. As tarifas de um determinado parque de estacionamento so as seguintes:

1a e 2a hora: R$ 1,00 cada hora.

3a e 4a hora: R$ 1,40 cada hora.

5a hora e seguintes: R$ 2,00 cada hora.


23

O nmero de horas sempre um inteiro e arredondado por excesso. Assim, quem esta-

cionar durante 61 minutos pagar o equivalente a duas horas. Os momentos de chegada

ao parque e de partida so apresentados na forma hh:mm (considere que as horas vo

at 23).

Faa um programa que receba pelo teclado o momento de chegada e de partida, es-

creva na tela o preo cobrado pelo estacionamento. O programa dever realizar uma

vericao quanto a validade das informaes fornecidas. Admite-se que a chegada e

a partida se do com intervalos no superior a 24 horas, de modo que, se a hora de

chegada superior a hora de sada, isso signica que a partida ocorreu no dia seguinte

ao dia da chegada.

35. Faa um programa em que o usurio digite uma senha numrica, e o programa dever

reconhecer se a senha verdadeira ou falsa, de acordo com um valor estabelescido

previamente no programa.

36. Crie um programa que elabore questes para uma prova de matemtica para crianas

que esto aprendendo a somar nmeros inteiros menores que 100. Escolha nmeros

aleatrios entre 1 e 100, e mostre na tela a sequinte pergunta: Qual a soma entre A
e B ?, onde A e B so os valores gerados. Pea a resposta. Faa cinco perguntas ao

aluno, e mostre para ele as perguntas realizadas, as respostas corretas e as respostas

fornecidas. Mostre tambm quantos acertos e erros o aluno teve e a nota alcanado na

prova (mdia aritmtica considerando que cada questo vale dois pontos).

37. Faa um programa que mostre para o usurio um menu de opes para as seguintes

operaes matemticas: soma, subtrao, diviso (quociente), multiplicao, resto da

diviso inteira, exponenciao e logaritmo (em uma base especicada pelo usurio),

logaritmo natural, raiz quadrada, raiz nsima, seno, cosseno e tangente. O usurio

dever escolher uma das opes, e entrar com os operandos necessrios. O programa

deve exibir o resultado obtido.

38. Faa um programa que calcule as razes de uma equao de segundo grau. O usurio

dever fornecer os coecientes a, b e c para uma equao na forma ax2 + bx + c = 0.


Considerer que:

O valor do coeciente a deve ser diferente de zero, caso contrrio o programa

dever exibir a mensagem Esta no uma equao de segundo grau.

Se < 0, ento no existe razes reais para a equao. Imprima a mensagem

No existe raiz real.


24 CAPTULO 3. ESTRUTURAS CONDICIONAIS E DE SELEO

Se = 0, ento existe apenas uma raiz real. Imprima a raiz encontrada e a

mensagem Raz nica.

se > 0, ento existem duas raizes reais. Imprima o valor das razes.

39. Ler um nmero e calcular sua raiz quadrada. Se o valor for negativo, o resultado da

raiz dever estar em notao de nmeros complexos.

40. Faa um programa que calcule as razes de uma equao de segundo grau. O usurio

dever fornecer os coecientes a, b e c para uma equao na forma ax2 + bx + c = 0. O

programa dever exibir as razes encontradas, sejam elas reais ou complexas (caso em

que < 0).

41. Faa um programa que receba a altura e o sexo de uma pessoa, calcule e mostre o seu

peso ideal. Considere que o peso ideal para homens calculado pela frmula 72, 7h 58
e o peso ideal para mulheres calculado pela frmula 62, 1h 44, 7, onde h a altura

fornecida.

42. Faa um programa que receba dois valores e mostre o maior. Caos os nmeros sejam

iguais, imprima a mensagem Nmeros iguais.

43. Faa um programa que leia um nmero e, caso seja positivo, calcule e mostre o seu

quadrado e sua raiz quadrada.

44. Faa um programa que informe o ms de acordo com o nmero informado pelo usurio.

Por exemplo, se o usurio informa o valor 4, a sada do programa dever ser Abril).

45. Faa um programa que leia uma data no formato dd/mm/aaaa e mostre, por extenso,

a data fornecida.

Exemplo: 25/12/2000 dever resultar em: 25 de dezembro de 2000.

46. Ler trs valores A, B e C. Neste programa necessrio que A 6 B 6 C, portanto

poder ser necessrio a troca de valores entre as variveis.

Dica: use uma varivel auxiliar para trocar os valores entre duas variveis.

47. Ler trs valores A, B e C. Neste programa necessrio que A > B > C, portanto

poder ser necessrio a troca de valores entre as variveis.

Dica: use uma varivel auxiliar para trocar os valores entre duas variveis.

48. Ler a data de nascimento de uma pessoa fornecida no formato dd/mm/aaaa. Verique

a validade da data informada. O programa dever informar se a data fornecida vlida

ou invlida.
25

49. Uma empresa decide dar aumento aos seus funcionrios de acordo com uma tabela que

considera o salrio atual e o tempo de servio de cada funcionrio. Os funcionrios

com menor salrio tero um aumento proporcionalmente maior do que os funcionrios

com um salrio maior, e conforme o tempo de servio na empresa, cada funcionrio ir

receber um bnus adicional de salrio. Faa um programa que leia:

o valor do salrio atual do funcionrio;

o tempo de servio deste funcionrio na empresa (quantidade de anos de trabalho

na empresa).

Use a tabela 3.9 para calcular o salrio reajustado deste funcionrio e imprima o valor

do salrio nal reajustado, ou uma mensagem caso o funcionrio no tenho direito a

aumento.

Tabela 3.9: Tabelas Salrio Atual x Reajuste e Tempo de servio x Bnus.


Salrio Atual Reajuste Tempo de Servio Bnus
At 500,00 25% Abaixo de 1 ano Sem Bnus
At 1000,00 20% De 1 a 3 anos 100,00
At 1500,00 15% De 4 a 6 anos 200,00
At 2000,00 10% De 7 a 10 anos 300,00
Acima de 2000,00 Sem reajuste Mais de 10 anos 500,00

50. O custo ao consumidor de um carro novo a soma do custo da fbrica, da comisso do

distribuidor, e dos impostos. A comisso e os impostos so calculados sobre o custo de

fbrica, de acordo com a tabela 3.10. Faa um programa que leia o custo de fbrica e

escreva o custo do consumidor.

Tabela 3.10: Tabela para clculo do custo do consumidor para carros novos.
Custo de Fbrica % do Distribuidor % de Impostos
At R$ 12.000,00 5 Isento
Entre R$ 12.000,00 e R$ 25.000,00 10 15
Acima de R$ 25.000,00 15 20

Faa um programa para calcular o ndice de massa corporal (IMC) de uma pessoa

e mostre sua classicao de acordo com a tabela 3.11. Para calcular o IMC use a
massa(kg)
seguinte frmula: IM C =
altura2 (m)
51. Faa um programa que leia trs pontos no plano cartesiano e verique se esses pontos

formam um tringulo equiltero, escaleno, issceles ou se no formam um tringulo.


26 CAPTULO 3. ESTRUTURAS CONDICIONAIS E DE SELEO

Tabela 3.11: Classicao de acordo com valor de IMC.


IMC Classicao
< 18,5 Abaixo do peso
18,6  24,9 Saudvel
25,0  29,9 Acima do peso
30,0  34,9 Obesidade Grau I
35,0  39,9 Obesidade Grau II (severa)
> 40,0 Obesidade Grau III (mrbida)

52. Faa um programa que leia trs valores sendo o primeiro e o terceiro valores nmeros

e o segundo valor um caractere. O caractere representar uma operao matemtica e

dever ser um dos seguintes: `+', `',`',`/' e `'. O programa dever calcular e exibir

o resultado da operao correspondente. Obs.: o caractere `' dever ser usado para o

clculo de exponenciao.

53. Faa um programa que leia uma data no formato dd/mm e informe se a data fornecida

um dos feriados xos do ano. Considere os seguintes feriados: 1 de janeiro (confrater-

nizao universal), 21 de abril (Tiradentes), 1 de maio (dia do trabalho), 7 de setembro

(independncia do Brasil), 12 de outrubro (Nossa Senhora Aparecida, padroeira do

Brasil), 2 de novembro (Finados), 15 de novembro (proclamao da repblica) e 25 de

dezembro (natal). O programa dever dizer qual feriado corresponde a data fornecida

(se for feriado).

54. Implemente o programa anterior usando switch-case.


Dica: transforme os dois nmeros correspondentes a dia e mes num nico valor.

55. Faa um programa que leia 10 nmeros e escreva o maior e o menor desses 10 nmeros.

Obs.: para este programa, no utilize estruturas de repetio nem arrays.

56. Faa um programa que leia duas datas, ambas no formato dd/mm/aaaa, e verique

e mostre qual das datas a mais recente. Obs.: no use converso entre formatos de

data neste programa.

57. Faa um programa que leia um ponto no plano e informe em qual quadrante do plano

cartesiano este ponto localizado.

58. Faa um programa que leia dois pontos no plano e informe se os mesmos esto locali-

zados ou no num mesmo quadrante do plano cartesiano.

59. Faa um programa que leia um caractere e diga se o mesmo corresponde a um dgito

de 0 a 9.
27

60. Faa um programa que leia um caractere e diga a que classe esse caractere pertence.

Considere as seguintes classes: dgito (caracteres de `0' a `9'); letras maisculas (carac-

teres de `A' a `Z'); letras minsculas (caracteres de `a' a `z') e; outros (quaisquer outros

caracteres).

Dica: verique os cdigos ASCII para cada classe de caracteres.

61. Faa um programa que leia um caracte e verique se o mesmo maisculo ou minsculo.

Se maisculo, converta para minsculo. Se minsculo, converta para maisculo.

62. Leia um inteiro entre 0 e 50 e verique em que dezena este nmero pertence. Faa este

programa usando a estrutura switch-case.


Dica: o valor avaliado em uma estrutura switch-case deve ser um inteiro ou um carac-

tere, estando armazenado em uma varivel ou sendo resultado de uma expresso.

63. Faa um programa que leia uma opo que especica uma determinada converso entre

escalas termomtricas e, em seguida, solicite a temperatura a ser convertida. As opes

de converso so as seguintes:

1  de Celsius para Fahrenheit.

2  de Celsius para Kelvin.

3  de Fahrenheit para Celsius.

4  de Fahrenheit para Kelvin.

5  de Kelvin para Celsius.

6  de Kelvin para Fahrenheit.


28 CAPTULO 3. ESTRUTURAS CONDICIONAIS E DE SELEO
Captulo 4
Estruturas de Repetio

1. Faa um programa que mostre na tela os nmeros naturais entre 0 (zero) e 100. Faa

trs verses desse programa, cada uma usando uma estrutura de repetio diferente

(for, while, do-while ). Qual das trs estruturas a mais adequada para este programa?

Por que?

2. Faa um programa que solicite ao usurio informar um valor positivo. O programa

dever repetir a solicitao caso o usurio fornea um valor invlido (negativo). Quando

o usurio fornecer um valor vlido, mostre uma mensagem de texto conrmando o valor

entrado. Faa trs verses desse programa, cada uma usando uma estrutura de repetio

diferente (for, while, do-while ). Qual das trs estruturas a mais adequada para este

programa? Por que?

3. Faa um programa que gere e exiba numeros aleatorios entre 0 (zero) e 15. O programa

deve gerar nmeros at que o nmero 0 (zero) seja sorteado. Faa trs verses desse

programa, cada uma usando uma estrutura de repetio diferente (for, while, do-while ).
Qual das trs estruturas a mais adequada para este programa? Por que?

4. Faa um programa que gere e exiba, por extenso, nmeros aleatrios entre 0 (zero) e

15. O programa deve gerar os nmeros at que o nmero 15 seja sorteado. O programa

deve exibir tambm, ao nal, a quantidade de nmeros gerados.

5. Faa um programa que permita ao usurio fornecer diversos valores positivos. O pro-

grama dever parar de solicitar valores quando o usurio fornecer um valor negativo.

Ao nal, o programa dever informar a soma dos valores lidos. Obs: o valor negativo

(ltimo valor entrado) no deve entrar na conta da soma.

6. Faa um programa que permita ao usurio fornecer diversos valores reais. O programa

29
30 CAPTULO 4. ESTRUTURAS DE REPETIO

deve, primeiramente, solicitar ao usurio a quantidade de valores a serem entrados. Ao

nal, o programa deve informar a mdia aritmtica dos valores lidos.

7. Faa um programa que solicite diversos valores ao usurio. Ao nal, o programa deve

informar o menor valor lido.

8. Faa um programa que solicite diversos valores ao usurio. Ao nal, o programa deve

informar o maior valor lido.

9. Faa um programa que solicite diversos valores ao usurio. Ao nal, o programa deve

informar a soma dos valores, sua mdia aritmtica, o menor e o maior valor.

10. Faa um programa que gere um nmero aleatrio no intervalo [0;1000] e pea o usurio

para adivinhar o nmero. Caso o usurio acerte, imprima uma mensagem parabeni-

zando o usurio e nalize o programa, caso contrrio diga se o nmero fornecido est

acima ou abaixo do valor correto e permita que o usurio faa uma nova tentativa. No

nal, mostre a quantidade de tentativas necessrias para acertar o nmero sorteado.

11. Faa um programa que gere um nmero aleatrio no intervalo [0;200] e paa o

usurio para adivinhar o nmero. Caso o usurio acerte, imprima uma mensagem

parabenizando-o e nalize o programa. Caso o valor que o usurio fornea esteja incor-

reto, o programa dever mostrar uma das seguintes mensagens:

Pegando Fogo! (caso o valor correto esteja a 5 unidades ou menos do valor

fornecido pelo usurio).

Muito Quente (caso o valor correto esteja de 6 a 10 unidades do valor fornecido).

Quente (caso o valor correto esteja de 11 a 20 unidades do valor fornecido).

Frio (caso o valor correto esteja de 21 a 30 unidades do valor fornecido).

Muito Frio (caso o valor correto esteja de 31 a 50 unidades do valor fornecido).

Gelando (caso o valor correto esteja de 51 a 75 unidades do valor fornecido).

Congelou! (caso o valor correto esteja a mais de 75 unidades do valor fornecido).

O programa dever permitir que o usurio faa novas tentativas at encontrar o valor

correto ou at disparar a mensagem Congelou!. Tambm deve ser exibida a quantidade

de tentativas que o usurio efetuou.

12. Escreva um programa completo que permita a qualquer aluno introduzir, pelo teclado,

uma sequncia arbitrria de notas (vlidas no intervalo de 10 a 20) e que mostre na


31

tela, como resultado, a mdia aritmtica correspondente. O nmero de notas com que

o aluno pretente efetuar o clculo no ser fornecido ao programa, o qual terminar

quando for introduzido um valor que no seja vlido como nota.

13. Escreva um programa que aceite um nmero inteiro maior que zero e devolva a soma de

todos os seus algarismos. Por exemplo, se o usurio fornecer o nmero 251, o resultado

ser 8 (que corresponde a 2+5+1). Se o nmero fornecido pelo usurio no for maior

que zero, o programa deve apresentar uma mensagem de erro e nalizar.

14. Escreva um programa que leia o nmero de habitantes de uma determinada cidade, o

valor do kwh e, para cada habitante, entre com os dados: consumo do ms e o cdigo

do consumidor (1: residencial, 2: comercial, 3: industrial). No nal, imprima o maior,

o menor e a mdia de consumo dos habitantes e, por m, o total de consumo de cada

categoria de consumidor.

15. Leia um nmero positivo, calcule e mostre a sequencia de Fibonacci at o primeiro

nmero superior ao nmero lido.

Exemplo: se o usurio fornecer o valor 30, a sequncia a ser impressa ser: 0 1 1 2 3 5

8 13 21 34.

16. Faa um programa que determine e mostre os 50 primeiros mltiplos de 3, considerando

nmeros positivos.

17. Faa um programa que leia um nmero N e depois imprima os N primeiros nmeros

naturais mpares.

18. Faa um programa que calcule e mostre a soma dos 50 primeiros nmeros pares.

Obs.: Considere apenas nmeros positivos.

19. Faa um programa que receba um nmero maior que 1, e verique se o nmero fornecido

primo ou no.

Obs.: um nmero considerado primo quando seus nicos divisores so 1 e o proprio

nmero.

20. Faa um programa que receba vrios nmeros, calcule e mostre:

A soma dos nmeros digitados.

A quantidade de nmeros digitados.

A mdia dos nmeros digitados.

O maior nmero digitado.


32 CAPTULO 4. ESTRUTURAS DE REPETIO

O menor nmero digitado.

A mdia dos nmeros pares.

Finalize a entrada de dados caso o usurio informe o valor 0.

21. Escreva um programa em C que escreva na tela de 1 em 1, de 1 at 100, 3 vezes.

A primeira vez deve usar a estrutura de repetio for, a segunda while e a terceira

dowhile.

22. Escreva um programa que leia um nmero inteiro positivo N e em seguida imprima N

linhas do tringulo de Floyd:

2 3

4 5 6

7 8 9 10

11 12 13 14 15

16 17 18 19 20 21

...

23. Faa um programa que leia um nmero positivo e mostre seus divisores.

24. Faa um programa utilizando o comando while que mostra a contagem regressiva na

tela, iniciando em 10 e terminaod em 0. Mostrar a mensagem FIM! aps a contagem.

25. Pea ao usurio para digitar 10 valores, some estes valores e mostre o resultado.

26. Faa um programa que some todos os nmeros naturais abaixo de 1000 que so mltiplos

de 3 e de 5.

27. Faa um programa que leia dois nmeros A e B entre 0 e 1000. O programa dever

somar todos os valores menores que 1000 e que sejam mltiplos de A ou B, mas no de
ambos.

28. Faa um programa que some os termos de valor par da sequncia de Fibonacci, cujos

valores no ultrapassem quatro milhes.

29. Faa um programa que calcule o maior nmero palndromo feito a partir do produto

de dois nmeros de 3 dgitos. Ex: O maior palndromo feito a partir do produto de

nmeros de dois dgitos 9009 (que resultado de 91*99).


33

30. Faa um programa que calcule o menor nmero divisvel por cada um dos nmeros de

1 a 20. Ex: 2520 o menor nmero que pode ser dividido por cada um dos nmeros

de 1 a 10, sem sobrar resto.

31. Faa um programa que calcule a diferena entre a soma dos quadrados dos primeiros

100 nmeros naturais e o quadrado da soma. Ex: A soma dos quadrados dos dez pri-

meiros nmeros naturais :

12 + 22 + ... + 102 = 385


O quadrado da soma dos dez primeiros nmeros naturais :

(1 + 2 + ... + 10)2 = 552 = 3025


A diferena entre a soma dos quadrados dos dez primeiros nmeros naturais e o qua-

drado da soma 3025 385 = 2640.

32. Faa um programa que encontre o conjunto de 5 dgitos consecutivos na sequncia

abaixo que gere o maior produto:

73167176531330624919225119674426574742355349194934

96983520312774506326239578318016984801869478851843

85861560789112949495459501737958331952853208805511

12540698747158523863050715693290963295227443043557

66896648950445244523161731856403098711121722383113

62229893423380308135336276614282806444486645238749

30358907296290491560440772390713810515859307960866

70172427121883998797908792274921901699720888093776

65727333001053367881220235421809751254540594752243

52584907711670556013604839586446706324415722155397

53697817977846174064955149290862569321978468622482

83972241375657056057490261407972968652414535100474

82166370484403199890008895243450658541227588666881

16427171479924442928230863465674813919123162824586

17866458359124566529476545682848912883142607690042

24219022671055626321111109370544217506941658960408

07198403850962455444362981230987879927244284909188

84580156166097919133875499200524063689912560717606

05886116467109405077541002256983155200055935729725

71636269561882670428252483600823257530420752963450

33. Faa um programa que calcule o terno pitagrico a, b, c, para o qual a + b + c = 1000.
Um terno pitagrico um conjunto de trs nmeros naturais, a b c, para a qual,
34 CAPTULO 4. ESTRUTURAS DE REPETIO

a2 + b 2 = c 2
Por exemplo, 32 + 42 = 9 + 16 = 25 = 52 .

34. Faa um programa que calcule a soma de todos os nmeros primos abaixo de dois

milhes.

35. Escreva um programa que leia um nmero inteiro e calcule a soma de todos os divisores

desse nmero, com exceo dele prprio. Ex: a soma dos divisores do nmero 66 :

1 + 2 + 3 + 6 + 11 + 22 + 33 = 78

36. Se os nmeros de 1 a 5 so escritos em palavras: um, dois, trs, quatro, cinco, ento h

3+4+4+6+5 = 22 letras usadas no total. Faa um programa que conte quantas letras

seriam utilizadas se todos os nmeros de 1 a 1000 (mil) forem escritos em palavras.

Obs.: No conte espaos ou hifens.

37. Faa um programa que leia um nmero inteiro positivo N e imprima todos os nmeros

naturais de 0 at N em ordem crescente e decrescente.

38. Faa um programa que leia um nmero inteiro positivo par N e imprima todos os

nmeros pares de 0 at N em ordem crescente e todos os nmeros mpares em ordem

decrescente.

39. Em Matemtica, o nmero harmnico designado por Hn dene-se como sendo o ensimo
termo da srie harmnica. Ou seja:

Hn = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n


Apresente um programa que calcule o valor de qualquer Hn para um n fornecido pelo

usurio.

40. Faa um programa que leia um valor N inteiro e positivo, calcule o mostre o valor E,

conforme a frmula a seguir:

E = 1 + 1/1! + 1/2! + 1/3! + ... + 1/N !

41. Faa um programa que calcula a associao em paralelo de dois resistores R1 e R2

fornecidos pelo usurio via teclado. O programa ca pedindo estes valores e calculando

at que o usurio entre com um valor para a resistncia igual a zero. Dica: utilize a
R1 R2
frmula: R=
R1 + R2
42. Escreva um programa que leia 10 nmeros e escreva a diferena entre o menor valor

lido e o maior valor lido.


35

43. Faa um programa que calcule a rea de um tringulo, cuja base e altura so fornecidas

pelo usurio. Esse programa no pode permitir a entrada de dados invlidos, ou seja,

medidas menores ou iguais a 0.

44. Faa um programa que leia um nmero indeterminado de linhas contendo cada uma a

idade de um indivduo (pare quando for informada a idade 0), e calcule a idade mdia

desse grupo de indivduos.

45. Faa um programa que leia um conjunto no determinado de valores, um de cada vez, e

escreva para cada um dos valores lidos, o quadrado, o cubo e a raiz quadrada. Finalize

a entrada de dados com um valor negativo ou zero.

46. Faa um programa para ler o cdigo, o sexo (M: masculino F: feminino) e o nmero de

horas/aula dada mensalmente pelos professores de uma universidade, sabendose que

cada hora/aula vale R$ 30,00. Emita uma listagem contendo o cdigo, o salrio bruto

e o salrio lquido (levando em considerao os descontos explicados a seguir) de todos

os professores. Mostre tambm a mdia dos salrios lquidos dos professores do sexo

masculino e a mdia dos salrios lquidos dos professores do sexo feminino. Considere:

Desconto para homens, 10% e, para mulheres, 5%.

As informaes terminaro quando for lido o cdigo = 99999.

47. O funcionrio chamado Carlos tem um colega chamado Joo que recebe um salrio que

equivale a um tero do seu salrio. Carlos que gosta de fazer aplicaes na caderneta

de poupana vai aplicar seu salrio integralmente nela, pois est rendendo 2% ao ms,

e Joo aplicar seu salrio integralmente no fundo de renda xa, que est rendendo 5%

ao ms. Construa um programa que dever calcular e mostrar a quantidade de meses

necessrios para que o valor pertencente a Joo iguale ou ultrapasse o valor pertencente

a Carlos. Teste com outros valores para as taxas.

48. Dados o nmero n de alunos de uma turma de Mtodos e Tcnicas de Programao

e suas notas na primeira prova, determinar a maior e a menor nota obtidas por essa

turma (nota mxima = 100 e nota mnima = 0).

49. Faa um programa que leia 20 inteiros positivos, ignorando no positivos, e imprima

sua mdia.

50. Faa um programa que simula o lanamento de dois dados, d1 e d2, n vezes, e tem

como sada o nmero de cada dado e a relao entre eles (>,<,=) em cada lanamento.
36 CAPTULO 4. ESTRUTURAS DE REPETIO

51. Dados n e dois nmeros inteiros positivos, i e j, diferentes de 0, imprimir em ordem

crescente os n primeiros naturais que so mltiplos de i ou de j ou de ambos.

Exemplo: Para n = 6, i = 2 e j = 3 a sada dever ser: 0,2,3,4,6,8.

52. Escreva um programa que declare um inteiro, inicialize-o com 0, e incremente-o de 1000

em 1000, imprimindo seu valor na tela, at que seu valor seja 100000 (cem mil).

53. Um funcionrio recebe aumento anual. Em 1995 foi contratado por 2000 reais. Em

1996 recebeu aumento de 1.5%. A partir de 1997, os aumentos sempre correspondem

ao dobro do ano anterior. Faa programa que determine o salrio atual do funcionrio.

54. Escreva um programa que receba como entrada o valor do saque realizado pelo cliente

de um banco e retorne quantas notas de cada valor sero necessrias para atender ao

saque com a menor quantidade de notas possvel. Sero utilizadas notas de 100, 50, 20,

10, 5, 2 e 1 real.

55. Escreva um programa para calcular o valor da srie, para 7 termos:

S = 0 + 1/2! + 2/4! + 3/6! + ...

56. Escreva um algoritmo que leia certa quantidade de nmeros e imprima o maior deles

e quantas vezes o maior nmero foi lido. A quantidade de nmeros a serem lidos deve

ser fornecida pelo usurio.

57. Escreva um algoritmo que leia um nmero inteiro e imprima, por extenso, cada um dos

algarismos que compem o nmero.

58. Faa um programa que conte quantos nmeros primos existem entre a e b.

59. Faa um programa que some os nmeros primos existentes entre a e b.

60. Faa um programa que calcule e escreva o valor de S:


1 3 5 7 99
S= + + + + ...
1 2 3 4 50
61. Escreva um programa que leia um nmero inteiro positivo n e em seguida imprima n

linhas do chamado Triangulo de Pascal:

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1
37

...

Dica: possvel calcular os valores do tringulo de pascal usando combinao (nk ), onde
n representa o nmero da linha e k o nmero da coluna.

62. Faa programas para calcular as seguintes frmulas:

1 + 2 + 3 + 4 + 5 + ... + n
1 2 + 3 4 + 5 + ... + (2n 1)
1 + 3 + 5 + 7 + ... + (2n 1)

63. Faa um programa que seja semelhante ao jogo de forca, mas com uma nica letra. A

letra que o usurio deve adivinhar deve ser denida aleatoriamente. O usurio tem 5

chances de acertar a letra. O programa naliza sua execuo quando o usurio acerta

a letra ou quando acabam suas chances.

64. Faa um algoritmo que converta uma velocidade expressa em km/h para m/s e vice

versa. Voc deve criar um menu com as duas opes de converso e com uma opo

para nalizar o programa. O usurio poder fazer quantas converses desejar, sendo

que o programa s ser nalizado quando a opo de nalizar for escolhida.

65. Chico tem 1,50 metro e cresce 2 centmetros por ano, enquanto Z tem 1,10 metros e

cresce 3 centmetros por ano. Construa um algoritmo que calcule e imprima quantos

anos sero necessrios para que Z seja maior que Chico.

66. Em uma eleio presidencial existem quatro candidatos. Os votos so informados atra-

vs de cdigos. Os dados utilizados para a contagem dos votos obedecem seguinte

codicao:

1, 2, 3, 4 = voto para os respectivos candidatos.

5 = voto nulo.

6 = voto em branco.

Elabore um algoritmo que leia o cdigo do candidato em um voto. Calcule e escreva:

total de votos para cada candidato.

a porcentagem de votos vlidos obtidos por cada candidato.

total de votos vlidos.

total de votos nulos.

total de votos em branco.


38 CAPTULO 4. ESTRUTURAS DE REPETIO

Como nalizador do conjunto de votos, tem-se o valor 0. Considere como votos vlidos

todos os votos diferentes de branco ou nulo.

67. Faca um algoritmo que encontre o primeiro mltiplo de 11, 13 ou 17 aps um nmero

dado.

68. Faa um programa que receba dois valores. O primeiro representa uma conta a ser paga

e o segundo com que valor ela foi paga. Mostre como resposta a quantidade mnima de

cada tipo de moeda/nota de troco. Imprima uma mensagem de erro caso o valor pago

seja menor que a conta.

69. Faa um programa que apresente um menu de opes para o clculo das seguintes

operaes entre dois nmeros:

adio (opo 1)

subtrao (opo 2)

multiplicao (opo 3)

diviso (opo 4).

sada (opo 5)

O programa deve possibilitar ao usurio a escolha da operao desejada, a exibio do

resultado e a volta ao menu de opes. O programa s termina quando for escolhida a

opo de sada (opo 5).

70. Faa um programa que imprima a tabela ASCII exibindo o caractere, seu cdigo decimal

e seu cdigo hexadecimal.

71. Ler uma sequncia de nmeros inteiros e determinar se eles so pares ou no. Dever

ser informado a quantidade de dados lidos e a quantidade de nmeros pares. O processo

termina quando for digitado o valor 1000.

72. Construa um programa que permita introduzir pelo terminal uma sequncia de nmeros

inteiros e determine se cada um desses nmeros ou no perfeito. Todos os nmeros

perfeitos encontrados devero ser escritos na tela. Chama-se perfeito a um nmero

inteiro no negativo que seja igual soma dos seus divisores prprios, exceto ele mesmo

(e.g. o nmero 6 possui divisores 1, 2, 3 e 6, portanto 1+2+3=6; 6 um nmero

perfeito  o nmero 8 possui divisores 1, 2, 4 e 8, portanto 1+2+4=7; 8 no um

nmero perfeito).

73. Faa um programa que receba dois nmeros. Calcule e mostre:


39

a soma dos nmeros pares desse intervalo de nmeros, incluindo os nmeros digi-

tados.

a multiplicao dos nmeros mpares desse intervalo, incluindo os digitados.


40 CAPTULO 4. ESTRUTURAS DE REPETIO
Captulo 5
Vetores e Matrizes

1. Faa um programa que declare um vetor com capacidade para 10 elementos do tipo

inteiro. O programa deve exibir o contedo do vetor. Como foram obtidos os valores

que so exibidos pelo programa?

2. Faa um programa que declare um vetor de 10 valores reais e exiba seu contedo. Teste

o resultado obtido quando usando uma das seguintes inicializaes do vetor:

double vetor[] = {0.8, 1.6, 2.3, 3.1, 3.9, 4.7, 5.5, 6.3, 7.0, 7.9};

double vetor[10]={0.8, 1.6, 2.3, 3.1, 3.9, 4.7, 5.5, 6.3, 7.0, 7.9};

double vetor[10]={};

double vetor[10]={0.8, 1.6, 2.3, 3.1, 3.9};

Explique por que estas inicializaes funcionam.

3. Faa um programa que declare um vetor de inteiros com 12 posies. Pea para o

usurio informar os valores para preenchimento deste vetor e, no nal, exiba o contedo

do vetor.

4. Faa um programa que leia 11 valores inteiros e os armazene em um vetor. O programa

deve exibir o programa em ordem direta (do primeiro elemento at o ltimo) e em

ordem inversa (do ltimo elemtno at o primeiro).

Exemplo:

vetor: [1,3,5,2,6,0]

ordem direta: 1 3 5 2 6 0

ordem inversa: 0 6 2 5 3 1

5. Faa um programa que possua um array de nome A que armazene 6 nmeros inteiros.

O programa deve executar os seguintes passos:

41
42 CAPTULO 5. VETORES E MATRIZES

Atribua os seguintes valores a este array: 1, 0, 5, -2, -5, 7.

Armazene em uma varivel inteira (simples) a soma entre os valores das posies

A[0], A[1] e A[5] do array e mostre na tela esta soma.

Modique o array na posio 4, atribuindo a esta posio o valor 100.

Mostre na tela cada valor do array A, um em cada linha.

6. Faa um programa que leia uma matriz 3x3 de nmeros inteiros e exiba o contedo na

tela.

Obs: ao exibir o contedo da matriz, procure organizar os valores em trs linhas e com

as colunas alinhadas.

7. Faa um programa que declare uma matriz usando o seguinte comando:

double m[3][3]={{1,2,3},{},{7,8,9}};
O programa deve exibir o contedo da matriz. Explique o resultado obtido na exibio.

8. Faa um programa que leia uma matriz 2x2 e calcule o seu determinante.

9. Faa um programa que leia uma matriz 3x3 e calcule o seu determinante.

10. Faa um programa que leia um nmero n entre 2 e 10 correpondente a ordem de uma

matriz. A seguir, crie e exiba uma matriz identidade de ordem n.


Dica: uma matriz identidade uma matriz que possui valor 1 na sua diagonal principal

e valor 0 nas demais posies da matriz.

11. Faa um programa que leia uma matriz 3x3 e verique se a mesma uma matriz

simtrica.

Dica: em uma matriz simtrica os valores acima da diaginal principal so iguais aos

valores abaixo da diagonal principal.

12. Faa um programa que leia um vetor de tamanho 10 com valores inteiros e informe

qual o menor e o maior valor contido no vetor.

13. Faa um programa que crie um matriz 10x10 com inteiros gerados aleatoriamente. Os

nmeros gerados devem estar no intervalo entre 0 e 10. Mostre a matriz gerada.

14. Faa um programa que leia dois vetores de tamanho 10 com nmeros reais e calcule o

produto escalar entre estes vetores.

15. Faa um programa que leia duas matrizes A e B, ambas de tamanho 3x3, calcule e

exiba a matriz C resultante da multiplicao de A por B. Calcule e exiba tambm uma

matriz D resultante da multiplicao de B por A.


43

16. Faa um programa que leia 20 valores inteiros correspondente a idade de uma turma

de alunos. Armazene esses dados em um vetor. Calcule a mdia e o desvio padro dos

valores do vetor. Mostre tambm a maior e a menor idade armazenada no vetor.

17. Numa votao destinada a selecionar um entre 10 candidatos, optou-se pela coleta e

processamento dos votos por computador. Supondo que os candidatos so designados

por seu nmero de candidato, faa um programa que obedea as seguintes especicaes:

Os votos so recebidos a partir do teclado, informando o nmero do candidato que

dever ser um inteiro de cinco dgitos.

O nmero zero usado para indicar voto em branco.

Nmeros invlidos (no associados a nenhum candidato) indicam votos nulos.

O programa dever exibir a classicao obtida na votao indicando o nome e

nmero do candidato e sua votao expressa em valor absoluto de votos e em

porcentagem de votos vlidos. Tambm dever ser informado o total de votantes,

o total de votos vlidos, o total de votos brancos e o total de votos nulos.

O programa dever indicar se houve um vencedor ou se dever haver um segundo

turno. Para ser vitorioso, o candidato precisa obter uma quantia superior a 50%

dos votos vlidos. Caso seja necessrio um segundo turno, mostre quem so os

candidatos que devero concorrer.

18. Faa um programa que leia um vetor de 10 valores, ordene o vetor crescentemente e

exiba o vetor ordenado.

Obs: procure fazer este programa sem criar um segundo vetor.

19. Faa um programa que leia um vetor de 10 valores, ordene o vetor decrescentemente e

exiba o vetor ordenado.

Obs: procure fazer este programa sem criar um segundo vetor.

20. Faa um programa que crie um vetor com 25 posies contendo uma permutao alea-

tria dos valores de 1 a 25.

Dica: comee por atribuir os valores de 1 a 25 ao vetor (obtendo um vetor ordenado)

e depois calcule uma permutao aleatria deste vetor (obtendo um vetor desordenado

mas com os mesmos valores).

21. Faa um programa que leia dois vetores A e B, ambos de tamanho 10 e com valores

inteiros, e calcule o vetor C resultado da interseo entre A e B.


44 CAPTULO 5. VETORES E MATRIZES

22. Leia um vetor A com 25 valores inteiros. Crie um segundo vetor B, tambm com 25

valores, em que a isima posio de B seja o resultado da mdia aritmtica do isimo

valor de A juntamente com os valores da posies vizinhas posio i. Exiba o vetor

B.

Obs: este tipo de operao denominado convoluo de A por B.

23. Leia um texto de at 140 caracteres e converta o texto para letras maisculas.

Obs: faa este programa sem usar as funes da biblioteca string.h.

24. Leia um texto de at 140 caracteres e converta o texto para letras minsculas.

Obs: faa este programa sem usar as funes da biblioteca string.h.

25. Leia um texto de at 140 caracteres e converta a primeira letra de cada palavra para

maiscula.

26. Leia um texto de at 140 caracteres e informe a quantidade total de caracteres; a

quantidade de caracteres diferentes de espao em branco; a quantidade de palavras.

27. Leia uma palavra e verique se a mesma um palndromo. Um palndromo uma

palavra que, se lida de trs para frente, apresenta a mesma graa da leitura normal.

Exemplos: ovo, arara, asdfjkkjfdsa.

28. Leia uma frase de at 140 caracteres e verique se a frase forma um palndromo.

Exemplo: socorram-me subi no onibus em marrocos.

Obs.: desconsidere a ocorrncia de espaos em branco.

29. Leia um texto de at 140 caractere e conte a quantidade de vogais e consoantes.

30. Faa um programa que leia um texto de at 140 caracteres e substitua cada letra pela

letra seguinte no alfabeto.

Exemplo:

texto normal: mensagem para voce.

texto modicado: nfotbhfn qbsb wpdf.

Dica: a letra z deve ser substituda pela letra a.


Obs: esta operao conhecida como cifra de Csar. Uma das primeiras tcnicas de

criptograa cuja criao atribuda ao imperador romano Jlio Csar.

31. Faa um programa capaz de multiplicar duas matrizes de tamanhos arbitrrios. Exiba

a matriz resultante.
45

32. Usando o comando for, faa um algoritmo que conte o nmero de 1's que aparecem em

uma string contendo o valor binrio.

Exemplo: 0011001 3.

33. Usando o comando while, escreva um programa que substitui as ocorrncias do caractere
0 (zero) em uma string pelo caractere 1.

34. Escreva um programa que leia a idade e o primeiro nome de vrias pessoas. Seu

programa deve terminar quando uma idade negativa for digitada. Ao terminar, seu

programa deve escrever o nome e a idade das pessoas mais jovens e mais velhas.

35. Escreva um programa que leia n nmeros inteiros e os armazene em um vetor. Imprima

o vetor, o maior e o menor elemento e a posio que eles se encontram.

36. Escreva um programa que leia n nmeros inteiros no intervalo [0,50] e os armazene

em um vetor estaticamente alocado com 100 posies. Preencha um segundo vetor,

tambm alocado estaticamente, apenas com os nmeros mpares do primeiro vetor.

Imprima os dois vetores, 10 elementos por linha.

37. Leia um vetor de 10 posies. Contar e escrever quantos valores pares ele possui.

38. Leia um vetor de 10 posies e atribua valor 0 para todos os elementos que possurem

valores negativos.

39. Considere um vetor A com 11 elementos onde A1 < A2 < .. < A6 > A7 > A8 > ... >
A11, ou seja, est ordenado em ordem crescente at o sexto elemento, e a partir desse

elemento est ordenado em ordem decrescente. Proponha um algoritmo para ordenar

os elementos.

40. Faa um programa que receba do usurio dois arrays, A e B, com 10 nmeros inteiros

cada. Crie um novo array C calculando C = A - B. Mostre na tela os dados do array


C.

41. Faa um programa que leia dois vetores A e B, com 16 nmeros inteiros cada. Crie

um novo vetor C que possui os elementos de A que no esto presentes em B. Crie

tambm o vetor D que possui os elementos de B que no esto presentes em A. Mostre

os vetores calculados.

42. Faa um programa que leia um vetor de 10 posies e verique se existem valores iguais

e os escreva.
46 CAPTULO 5. VETORES E MATRIZES

43. Faa um programa que leia um vetor ordenado com 10 valores inteiros e remova os

valores repetidos, se houver.

44. Faa um programa que leia um vetor de 10 posies (no ordenado), contendo valores

inteiros. Remova os valores repetidos, se houver.

45. Leia 10 nmeros inteiros e armazene em um vetor. Em seguida escreva os elementos

que so primos e suas respectivas posies no vetor.

46. Leia 10 nmeros inteiros e armazene em um vetor v. Crie dois novos vetores v1 e v2.

Copie os valores mpares de v para v1, e os valores pares de v para v2. Note que cada

um dos vetores v1 e v2 tm no mximo 10 elementos, mas nem todos os elementos so

utilizados. No nal escreva os elementos UTILIZADOS de v1 e v2.

47. Leia dois vetores de inteiros X e Y, cada um com 5 elementos (assuma que o usurio

no informa elementos repetidos). Calcule e mostre os vetores resultantes em cada caso

abaixo:

Soma entre X e Y: soma de cada elemento de X com o elemento da mesma posio

em Y.

Produto entre X e Y: multiplicao de cada elemento de X com o elemento da

mesma posio em Y.

Diferena entre X e Y: todos os elementos de X que no existam em Y.

Interseo entre X e Y: apenas os elementos que aparecem nos dois vetores.

Unio entre X e Y: todos os elementos de X, e todos os elementos de Y que no

esto em X.

48. Faa um programa para ler 10 nmeros DIFERENTES a serem armazenados em um

vetor. Os dados devero ser armazenados no vetor na ordem que forem sendo lidos,

sendo que caso o usurio digite um nmero que j foi digitado anteriormente, o programa

dever pedir para ele digitar outro nmero. Note que cada valor digitado pelo usurio

deve ser pesquisado no vetor, vericando se ele existe entre os nmeros que j foram

fornecidos. Exibir na tela o vetor nal que foi digitado.

49. Pea ao usurio para digitar dez valores numricos e os armazene em ordem crescente

num vetor.

Obs.: a ordenao deve ocorrer durante a leitura dos dados do vetor.


47

50. Faa um programa que leia dez conjuntos de dois valores, o primeiro representando

o nmero do aluno e o segundo representando a sua altura em metros. Encontre o

aluno mais baixo e o mais alto. Mostre o nmero do aluno mais baixo e do mais alto,

juntamente com suas alturas.

51. Ler uma sequncia de nmeros inteiros (com valores positivos e negativos) do teclado,

sequncia esta que termina com o nmero zero e armazene num vetor. Escrever a

quantidade de elementos positivos e negativos presentes na sequncia.

52. Ler um conjunto de nmeros reais, armazenando-o em vetor e calcular o quadrado das

componentes deste vetor, armazenando o resultado em outro vetor. Os conjuntos tm

no mximo 20 elementos. Imprimir todos os conjuntos.

53. Faa um programa que leia dois nmeros a e b (positivos menores que 10000) e:

Crie um vetor onde cada posio um algarismo do nmero. A primeira posio

o algarismo menos signicativo.

Crie um vetor que seja a soma de a e b, mas faa-o usando apenas os vetores

construdos anteriormente.

Dica: some as posies correspondentes. Se a soma ultrapassar 10, subtraia 10 do

resultado e some 1 prxima posio.

54. Um nmero inteiro, em linguagem C, em geral ocupa 4 bytes (32 bits) de memria. Isso

signica que esta varivel capaz de guardar uma dentre 23 2 combinaes diferentes

de bits. Assim, uma varivel inteira armazena valores no intervalo entre 23 1 e 23 1 1


(ou seja, entre -2147483648 e 2147483647). Porm h algumas aplicaes que requerem

o uso de nmeros extremamente grandes (centenas ou at milhares de dgitos). Uma

maneira de fazer isso armazenar os nmeros em strings. Crie um programa que

leia dois nmeros inteiros de at 256 dgitos armazenando-os como strings. Calcule a

soma destes dois inteiros gigantes e armazene em uma outra string (tambm de at 256

dgitos). Mostre o resultado.

55. Faa um programa que leia um vetor de 8 posies e em seguida leia tambm dois valores

X e Y quaisquer correspondentes a duas posies no vetor. Ao nal seu programa dever

escrever a soma dos valores encontrados nas respectivas posies X e Y.

56. Faa um programa que leia dois vetores de 10 posies e calcule outro vetor contendo,

nas posies pares os valores do primeiro e nas posies impares os valores do segundo.
48 CAPTULO 5. VETORES E MATRIZES

57. Faa um programa que leia um vetor de 15 posies e verique se existem valores iguais

e os escreva. Mostre tambm quantas vezes esses valores se repetem dentro do vetor.

58. Faa um programa que leia um vetor de 15 posies e o compacte, ou seja, elimine as

posies com valor zero. Para isso, todos os elementos frente do valor zero, devem

ser movidos uma posio para trs no vetor.

59. Faa um programa que preencha um vetor com os modelos de cinco carros (exemplos de

modelos: Fusca, Gol, Vectra, etc.). Carregue outro vetor com o consumo desses carros,

isto , quantos quilmetros cada um deles faz com um litro de combustvel, calcule e

mostre:

O modelo de carro mais econmico.

Quantos litros de combustvel cada um dos carros cadastrados consomem para

percorrer uma distncia de 321 quilmetros.

60. Faa um programa que preencha um vetor com dez nmeros reais, calcule e mostre a

quantidade de nmeros negativos e a soma dos nmeros positivos desse vetor.

61. Faa um programa que receba o nome de 15 clientes e armazene-os em um vetor. Em

um segundo vetor, armazene a quantidade de DVDs locados em 2009 por cada um

dos clientes. Sabe-se que, para cada dez locaes, o cliente tem direito a uma locao

grtis. Faa um programa que mostre o nome de todos os clientes, com a quantidade

de locaes grtis a que ele tem direito.

62. Faa um programa que preencha trs vetores com dez posies cada um: o primeiro

vetor, com os nomes de dez produtos; o segundo vetor, com os cdigos dos dez produtos;

e o terceiro vetor; com os preos dos produtos. Mostre um relatrio apenas com o nome,

o cdigo, o preo e o novo preo dos produtos que sofrero aumento. Sabese que os

produtos que sofrero aumento so aqueles que possuem cdigo par ou preo superior

a R$ 1.000,00. Sabese ainda que, para os produtos que satiszerem s duas condies

anteriores, cdigo e preo, o aumento ser de 20%; para aqueles que satisfazerem apenas

condio de cdigo, o aumento ser de 15%; e aqueles que satisfazerem apenas a

condio de preo, o aumento ser de 10%.

63. Faa um vetor de tamanho 50 preenchido com o seguinte valor: (i+5i)%i, sendo i a

posio do elemento no vetor, em seguida imprima o vetor na tela.

64. Faa um programa que preencha um vetor de tamanho 100 com os 100 primeiros na-

turais que no so mltiplos de 7 e que terminam com 7.


49

65. Faa um programa que realize a leitura dos seguintes dados relativos a um conjunto de

alunos: Matricula, Nome, Cod.Disc., Nota1 e Nota2. Considere uma turma de at 10

alunos. Aps ler todos os dados digitados, e depois de armazen-los em vetores, exibir

na tela a listagem nal dos alunos com as suas respectivas mdias nais (use uma mdia

ponderada: Nota1 com peso=1.0 e Nota2 com peso=2.0).

Dica: use mltiplos vetores, um para cada dado, com o mesmo ndice para os dados de

um mesmo aluno.

66. Leia uma matriz 4x4, imprima a matriz e retorne a localizao (linha e a coluna) do

maior valor.

67. Leia duas matrizes 4 x 4 e escreva uma terceira com os maiores elementos entre as

primeiras.

68. Leia uma matriz 4 x 4, conte e escreva quantos valores maiores que 10 ela possui.

69. Gere matriz 4x 4 com valores no intervalo [1,20]. Escreva um programa que transforme

a matriz gerada numa matriz triangular inferior, ou seja, atribuindo zero a todos os

elementos acima da diagonal principal. Imprimir a matriz original e a matriz transfor-

mada.

70. Leia uma matriz 5 x 5. Leia tambm um valor X. O programa dever fazer uma

busca desse valor na matriz e, ao nal escrever a localizao (linha e coluna) ou uma

mensagem de no encontrado.

71. Leia uma matriz 5 x 10 que se refere respostas de 10 questes de mltipla escolha,

referentes a 5 alunos. Leia tambm um vetor de 10 posies contendo o gabarito de

respostas que podem ser a, b, c ou d. Seu programa dever comparar as respostas

de cada candidato com o gabarito e emitir um vetor Resultado, contendo a pontuao

correspondente a cada aluno.

72. Faa um programa que leia uma matriz A 5x5 e calcule B = A2 .

73. Faa um programa que permita ao usurio entrar com uma matriz de 3x3 nmeros

inteiros. Em seguida, o programa deve gerar um array unidimensional pela soma dos

nmeros de cada coluna da matriz e mostrar na tela esse array. Por exemplo, a matriz:

5 -8 10

1 2 15

25 10 7

Vai gerar um vetor, onde cada posio a soma das colunas da matriz. A primeira
50 CAPTULO 5. VETORES E MATRIZES

posio ser 5 + 1 + 25, e assim por diante:

31 4 32

74. Faa um programa que leia uma matriz, de 5 linhas e 4 colunas, contm as seguintes

informaes sobre alunos de uma disciplina, sendo todas as informaes do tipo inteiro:

Primeira coluna: nmero de matrcula (use um inteiro).

Segunda coluna: mdia das provas.

Terceira coluna: mdia dos trabalhos.

Quarta coluna: nota nal.

Elabore um programa que:

Leia as trs primeiras informaes de cada aluno.

Calcule a nota nal como sendo a soma da mdia das provas e da mdia dos

trabalhos.

Imprima a matrcula do aluno que obteve a maior nota nal (assuma que s existe

uma maior nota).

Imprima a mdia aritmtica das notas nais.

75. Leia uma matriz 10 x 3 com as notas de 10 alunos em 3 provas. Em seguida, escreva

o nmero de alunos cuja pior nota foi na prova 1, o nmero de alunos cuja pior nota

foi na prova 2, e o nmero de alunos cuja pior nota foi na prova 3. Em caso de empate

das piores notas de um aluno, o critrio de desempate arbitrrio, mas o aluno deve

ser contabilizado apenas uma vez.

76. Escrever um programa em C que determine se uma matriz quadrada de n > 0 linhas

e colunas uma matriz permutao. Uma matriz quadrada chamada de matriz

permutao se seus elementos so apenas 0's e 1's e se em cada linha e coluna da

matriz existe apenas um nico valor 1. Exemplo: A matriz a seguir uma matriz

permutao:

1 0 0

0 0 1

0 1 0

77. Faa um programa para gerar automaticamente nmeros, entre 0 e 99, de uma cartela

de bingo. Sabendo que cada cartela dever conter 5 linhas de 5 nmeros, gere estes

dados de modo a no ter nmeros repetidos dentro das cartelas! Lembre-se que
51

importante armazenar os nmeros sorteados em uma tabela com 5 linhas e 5 colunas,

pois no sorteio do bingo vale pontos quem completar primeiro uma linha ou uma coluna.

O programa deve gerar a cartela e depois exibir na tela a cartela gerada, linha a linha,

coluna por coluna.

78. Na matriz de 20x20 abaixo, quatro nmeros ao longo de uma linha diagonal foram

marcadas em negrito. O produto desses nmeros 26 63 78 14 = 1788696.


08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08

49 49 99 40 17 81 18 57 60 87 17 40 98 43 69 48 04 56 62 00

81 49 31 73 55 79 14 29 93 71 40 67 53 88 30 03 49 13 36 65

52 70 95 23 04 60 11 42 69 24 68 56 01 32 56 71 37 02 36 91

22 31 16 71 51 67 63 89 41 92 36 54 22 40 40 28 66 33 13 80

24 47 32 60 99 03 45 02 44 75 33 53 78 36 84 20 35 17 12 50

32 98 81 28 64 23 67 10 26 38 40 67 59 54 70 66 18 38 64 70
67 26 20 68 02 62 12 20 95 63 94 39 63 08 40 91 66 49 94 21

24 55 58 05 66 73 99 26 97 17 78 78 96 83 14 88 34 89 63 72

21 36 23 09 75 00 76 44 20 45 35 14 00 61 33 97 34 31 33 95

78 17 53 28 22 75 31 67 15 94 03 80 04 62 16 14 09 53 56 92

16 39 05 42 96 35 31 47 55 58 88 24 00 17 54 24 36 29 85 57

86 56 00 48 35 71 89 07 05 44 44 37 44 60 21 58 51 54 17 58

19 80 81 68 05 94 47 69 28 73 92 13 86 52 17 77 04 89 55 40

04 52 08 83 97 35 99 16 07 97 57 32 16 26 26 79 33 27 98 66

88 36 68 87 57 62 20 72 03 46 33 67 46 55 12 32 63 93 53 69

04 42 16 73 38 25 39 11 24 94 72 18 08 46 29 32 40 62 76 36

20 69 36 41 72 30 23 88 34 62 99 69 82 67 59 85 74 04 36 16

20 73 35 29 78 31 90 01 74 31 49 71 48 86 81 16 23 57 05 54

01 70 54 71 83 51 54 69 16 92 33 48 61 43 52 01 89 19 67 48

Qual o maior produto de quatro nmeros adjacentes em qualquer direo (cima,baixo,

esquerda, direita, ou na diagonal) na matriz de 20x20?

79. Faa um programa que leia duas matrizes 3x3 com valores reais. Oferea ao usurio

um menu de opes: somar as duas matrizes, subtrair as 2 matrizes, adicionar uma

constante s duas matrizes, imprimir as matrizes. Nas duas primeiras opes uma

terceira matriz 3x3 deve ser criada. Na terceira opo o valor da constante deve ser

lido e o resultado da adio da constante deve ser armazenado na prpria matriz.

80. Faa programa que leia uma matriz 3x6 com valores reais.
52 CAPTULO 5. VETORES E MATRIZES

Imprima a soma de todos os elementos das colunas mpares.

Imprima a mdia aritmtica dos elementos da segunda e quarta colunas.

Substitua os valores da sexta coluna pela soma dos valores das colunas 1 e 2.

Imprima a matriz modicada.

81. O tictactoe, tambm conhecido como jogo da velha, consiste em um tabuleiro de

trs linhas e trs colunas, onde dois jogadores inserem alternadamente suas marcas.

Ganha o jogador que conseguir inserir trs marcas em uma mesma linha, coluna ou

diagonal. Faa um programa em linguagem C, que permita duas pessoas jogarem o

jogo da velha. O programa deve apontar o vencedor ou, quando no houver vencedor,

exibir a mensagem Deu velha!.

82. Gerar e imprimir uma matriz de tamanho 10x10, onde seus elementos so da forma:

A[i][j] = 2 i + 7 j 2 se i < j.
A[i][j] = 3 i2 1 se i = j.
A[i][j] = 4 i3 5 j 2 + 1 se i > j.

83. Calcular a soma dos elementos de uma matriz numrica quadrada qualquer dada, que

esto acima da diagonal principal.

84. Calcular a soma dos elementos de uma matriz numrica quadrada qualquer dada, que

esto abaixo da diagonal principal.

85. Ler uma matriz numrica quadrada qualquer e calcular a diferena entre a soma dos

elementos acima da diagonal principal e a soma do elementos abaixo da diagonal prin-

cipal.

86. Leia uma matriz de tamanho 4x4 e verique se a mesma possui valores repetidos.

87. O sudoku um jogo de lgica e raciocnio que consiste em um tabuleiro com 9 regies

dispostas em 3 linhas e 3 colunas. Cada regio composta por 9 posies dispostas em

3 linhas e 3 colunas. Neste jogo, o jogador deve inserir nmeros inteiros de 1 a 9 em

cada posio do tabuleiro de modo que no ocorra valores repetidos em uma mesma

linha, coluna ou regio do tabuleiro. Faa um programa que leia os nmeros de um

jogo de sudoku e verique se o jogo est correto. Dica: O tabuleiro completo pode ser

implementado como uma matriz de 9 linhas por 9 colunas.


Captulo 6
Tipos Abstratos de Dados

53
54 CAPTULO 6. TIPOS ABSTRATOS DE DADOS
Captulo 7
Funes

1. Crie uma funo para somar duas matrizes. Esta funo deve receber duas matrizes

e retornar a soma em uma terceira matriz. Caso o tamanho da primeira e segunda

matriz seja diferente a funo retornar um erro. Caso a funo seja concluda com

sucesso a mesma deve retornar o valor zero (0). Utilize aritmtica de ponteiros para

manipulao das matrizes. Mostre o uso dessa funo em um programa feito em C.

2. Na teoria dos sistemas, dene-se como elemento minimax de uma matriz o menor

elemento de uma linha onde se encontra o maior elemento da matriz. Faca uma funo

que recebe, por parmetro, uma matriz A(10,10) e retorna o seu elemento minimax,

juntamente com a sua posio.

3. Os incas caram conhecidos pela grande civilizao que reinou na regio dos Andes

durante vrios sculos. O que pouca gente sabe que os incas construram pirmides

de base quadrada em que a nica forma de se atingir o topo era seguir em espiral

pela borda, que acabava formando uma escada em espiral. Estas pirmides ainda se

encontram escondidas na oresta amaznica e sua descoberta trar uma aplicao para

este exerccio.

Neste problema voc dever fazer um programa para vericar se uma matriz inca.

Seu programa deve ter uma funo que recebe como parmetro, uma matriz quadrada

A(n x n) de nmeros inteiros para vericar se a matriz inca, ou seja, se partindo do

canto superior esquerdo da matriz, no sentido horrio, em espiral, a posio seguinte

na ordem o inteiro consecutivo da posio anterior. Caso a matriz seja inca deve

retornar 1 (um) seno 0 (zero).

Exemplo de uma matriz inca:

10 9 8 7

11 16 15 6

55
56 CAPTULO 7. FUNES

12 13 14 5

1 2 3 4
Captulo 8
Arquivos

57
58 CAPTULO 8. ARQUIVOS
Captulo 9
Ponteiros

1. Faa um programa que leia dois nmeros n e m e:

Crie e leia um vetor de inteiros de n posies.

Crie e leia um vetor de inteiros de m posies.

Crie e construa um vetor de inteiros que seja a unio entre os dois vetores anteri-

ores, ou seja, que contm os elementos dos dois vetores (inclusive repetidos).

Na sua funo main(), imprima os trs vetores criados.

2. Faa um programa que leia dois nmeros n e m e:

Crie e leia um vetor de inteiros de n posies;

crie e leia um vetor de inteiros de m posies;

Crie e construa um vetor de inteiros que seja a interseo entre os dois vetores

anteriores, ou seja, que contm apenas os nmeros que esto em ambos os vetores.

No deve conter nmeros repetidos.

Na sua funo main(), imprima os trs vetores criados.

3. Faa um programa que leia um arquivos contendo valores numricos correspondentes a

uma funo f (x) qualquer. Considere que, neste arquivo, a primeira linha contm um

nmero inteiro informando quando valores h no arquivo. A partir da segunda linha

do arquivo esto armazenados os valores da funo de x (os valores so separados por

vrgulas). Faa um programa que leia estes valores para dentro de um vetor, calcule

os valores correspondentes para a derivada da funo de x e armazene o resultado em

outro arquivo.

59
60 CAPTULO 9. PONTEIROS

Obs.: crie uma funo para ler o arquivo, outra para calcular os valores da derivada e

uma terceira funo para escrever o dados calculados.


Captulo 10
Outros Recursos da Linguagem

61
62 CAPTULO 10. OUTROS RECURSOS DA LINGUAGEM
Captulo 11
Estruturas de Dados

63
64 CAPTULO 11. ESTRUTURAS DE DADOS
Captulo 12
Desaos

65
66 CAPTULO 12. DESAFIOS
Apndice A

Base Matemtica

A.1 Constantes

= 3.141593

G (constante gravitacional) = 6, 67300 1011 m3 kg 1 s2


Raio da Terra = 6.378,1 km

Massa da Terra = 5.9 1024 kg

A.2 Escalas termomtricas

C F 32 K 273
= =
5 9 5
C = Temperatura em graus Celsius

F = Temperatura em graus Fahrenheit

K = Temperatura em Kelvin

A.3 ngulos

Converso entre graus e radianos:


g
r=
180
r = ngulo em radianos;

g = ngulo em graus.

67
68 APNDICE A. BASE MATEMTICA

A.4 Polgonos e outros

Tringulo retngulo:
bh
A=
2
A = rea do tringulo

b = comprimento da base do tringulo

h = comprimento altura do tringulo

Tringulo qualquer:
p
A= p (p a) (p b) (p c)
a+b+c
p=
2
A = rea do tringulo

p = semipermetro do tringulo

a, b, c = comprimento dos lados do tringulo

Quadrado:

A = L2
A = rea do quadrado

b = comprimento do lado do quadrado

Retngulo:

A=bh
A = rea do retngulo

b = comprimento da base do retngulo

h = comprimento da altura do retngulo

Trapsio:

A = (B + b) h/2
A = rea do trapzio

B = base maior

b = base menor

h = altura

Crculo:

P =2r
A = r2
A.5. PLANO E ESPAO 69

P = permetro do crculo

A = rea do crculo

r = raio do crculo

Esfera:

A = 4 r2
4
V = r3
3
A = rea da superfcie da esfera

V = volume da esfera

Cilindro circular:

V = r2 h
V = volume do cilindro

r = raio da base circular do cilindro

h = altura do cilindro

A.5 Plano e Espao

Distncia entre pontos:


p
d(P 1, P 2) = (x1 x2 )2 + (y1 y2 )2

Mdulo ou magnitude de um vetor:


p
|P | = d(P, O) = px2 + py 2
P = ponto (px,py) qualquer

O = ponto de origem (0;0)

ngulo entre
 vetores: 
< U, V >
= arccos
|U | |V |
< U, V > = produto escalar entre vetores U e V

|U | = mdulo do vetor U

Produto escalar entre vetores:

< U, V >= Ux Vx + Uy Vy
70 APNDICE A. BASE MATEMTICA

A.6 Medidas

1 (metro / segundo) = 3,6 km/h

1 milha = 1,609344 quilometros

1 polegada = 2,54 centmetros

1 m3 (metro cbico) = 1.000 litros

1 litro = 1.000 cm3 = 1 dm3 (decmetro cbico)

1 quilograma = 2,20462262 libras

1 jarda = 0,9144 metros

1 acre = 4.046,8564224 m2

1 ha (hectare) = 0,1 km2 = 10.000 km2

A.7 Nmeros Complexos

z1 = a + bi e z2 = c + di

z1 + z2 = (a + bi) + (c + di) = (a + c) + (b + d)i

z1 z2 = (a + bi) (c + di) = (a c) + (b d)i

z1 z2 = (a + bi) (c + di) = (ac bd) + (ad + bc)i

z = a bi

z1 z1 z2 (a + bi) (c di)
= =
z2 z2 z2 (c + di) (c di)
A.8. OUTROS 71

A.8 Outros

Somtrio:
Xn
xi = x1 + x2 + x3 + ... + xn
i=1

Produtrio:
Yn
xi = x1 x2 x3 ... xn
i=1

Coordenadas:

P (r, a) = C(r cos(a), r sin(a))


P = coordenada polar;

C = coordenada cartesiana;

r = raio;

a = ngulo em radianos.

n
1X
Mdia Aritmtica: xi
n i=1
xi = isimo elemento de um conjunto

Mdia Aritmtica Ponderada:


n
1 X
Pn p i xi
i=1 pi
i=1
xi = isimo elemento de um conjunto

pi = isimo peso

Mdia
v Geomtrica:
u n
u Y
n
t xi
i=1
xi = isimo elemento de um conjunto

Mdia Harmnica:
n
Pn 1
i=1 xi
xi = isimo elemento de um conjunto

Mudana de base logartmica:


logc a
logb a =
logc b
72 APNDICE A. BASE MATEMTICA

Razes de uma equao de segundo grau:

= b2 4ac
b
raizes =
2a

Desvio padro amostral:


v
u n
u 1 X
s=t (xi x)2
n 1 i=1
xi = isimo elemento da amostra
x = mdia aritmtica dos valores da amostra

A.9 Fsica

Fora Gravitacional:
M m
F =G
d2
G = constante gravitacional

M = massa da terra = 5, 9 102 4kg


m = massa de um objeto;

d = distncia entre um objeto e a Terra.

Velocidade
r orbital de um satlite:
GM
V =
R
V = velocidade orbital em m/s

G = constante gravitacional

M = massa da Terra em kg

R = raio orbital em metros

Perodo orbital
r de um satlite:
R3
T =2
GM
T = perodo orbital em segundos

R = raio orbital em metros

G = constante gravitacional

M = massa da Terra em kg
A.10. DATAS 73

A.10 Datas

Converso de formato gregoriano para formato juliano:

DataJuliana = (1461 (ano + 4800 + (mes 14)/12))/4 + (367 (mes 2 12 ((mes


14)/12)))/12 (3 ((ano + 4900 + (mes 14)/12)/100))/4 + dia 32075

Converso de formato juliano para formato gregoriano:

B = DataJuliana + 68569
N = (4 B)/146097
B = B ((146097 N + 3)/4)
K = (4000 (B + 1))/1461001
B = B (1461 K)/4 + 31
J = (80 B)/2447
dia = B (2447 J)/80
B = J/11
mes = J + 2 (12 B)
ano = 100 (N 49) + K + B

A.11 Vetores e Matrizes

Determinante: (diagonal principal) - (diagonal secundria)

A.12

Combinao:
n!
(nk ) = k!(nk)!

Arranjo:

Permutao:

Você também pode gostar