Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula1 C
Aula1 C
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.3 ngulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
A.6 Medidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3
4 SUMRIO
A.8 Outros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
A.9 Fsica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
A.10 Datas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
A.12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Captulo 1
Introduo
Para ser um bom programador necessrio programar. Como professor da disciplina Pro-
acreditar nesta armao. Assim, essa lista de exerccios tem a nalidade de fornecer ao
Embora seja objetivo criar uma lista exaustiva de exerccios, possvel que algum contedo
haver exerccios repetidos ou em captulo errado. Neste caso, peo pacincia aos alunos e, se
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
entre eles, declarao de variveis, atribuio, expresses aritmticas com valores e variveis,
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
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
Captulo 6.
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
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
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
nesta lista de exerccios) so explorados no Captulo 10. Este captulo recomendado para
O Captulo 11 inclui exerccios que exploram conceitos estudados nas disciplinas de Estru-
alunos que estejam fazendo estas disciplinas quanto a alunos que apenas queiram ter uma
O Captulo 12 prope exerccios um pouco mais avanados, onde a diculdade pode tanto
Por m, o Apncide A rene uma coleo de valores de constantes e frmulas matemticas
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
3. Faa um programa que declare uma varivel real com preciso simples, atribua a essa
varivel.
4. Faa um programa que declare uma varivel capaz de armazenar um caractere, atribua
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
6. Faa um programa que declare uma varivel real com preciso dupla, atribua a essa
Que valor mostrado na tela? Por que isso acontece? Como pode ser evitado esse tipo
de problema?
8. Faa um programa que leia um nmero inteiro e um nmero real de preciso simples.
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.
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:
12. Faa um programa que leia uma data no formato (dd/mm/aaaa) e mostre a data
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
20. Faa um programa para ler uma temperatura em graus Fahrenheit e apresentar seu
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.
25. Faa um programa que leia uma temperatura em graus Celsius e mostre seu valor em
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
30. Faa um programa para calcular a rea de um retngulo. O tamanho dos lados devem
31. Faa um programa para calcular a rea de um tringulo retngulo. O tamanho da base
32. Faa um programa para calcular a rea de um tringulo qualquer. O tamanho dos
33. Faa um program que leia trs valores e apresente, como resultado nal, a soma dos
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
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.
39. Leia o valor do raio de uma esfera e calcule a rea de sua superfcie e o volume da
esfera.
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
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.
45. Faa um programa que leia um nmero inteiro, positivo e de trs dgitos, calcule o
Exemplo:
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
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
50. Escreva um programa que leia as coordenadas x e y de dois pontos no plano e calcule
52. Faa um programa capaz de ler um nmero de quatro dgitos e escrever cada dgito em
53. Faa um programa que leia o valor de horas, minutos e segundos gastos em um expe-
54. Faa um programa que leia um valor inteiro em segundos e exiba a quantidade de horas,
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
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
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.
cbicos.
cbicos.
Crie e leia dois nmeros complexos, ambos compostos por parte real e parter
imaginria.
77. Faa um programa que leia dois pontos correspondentes a dois vetores no plano carte-
programa deve ler um ponto em um coordenada polar, composto por raio e ngulo em
radianos.
Leia os dados de uma fonte de tenso real composta por fora eletromotriz (E) e
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,
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
sobre o salrio-base.
84. Faa um programa para converso monetria de reais (R$) para dlares (US$). O
85. Um cercado contm patos e coelhos. Faa um programa que solicita o total de cabeas
86. Ler um nmero inteiro e imprimir a soma do sucessor de seu triplo com o antecessor
de seu dobro.
preo do metro de arame e calcular o custo total para cercar o terreno. O programa
88. Faa um programa que calcule o ano de nascimento de uma pessoa a partir da idade
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.
tangente(x).
Obs.: antes de usar as funes trignomtricas da biblioteca math.h, necessrio con-
95. Faa um programa que gere trs valores aleatrios inteiros e maiores ou iguais que um
96. Faa um programa que gere trs valores aleatrios inteiros e menores ou iguais que um
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
math.h.
100. Faa um programa capaz de ler um valor real x e decompor esse nmero em parte
101. Faa um programa que calcule a n-sima raiz de um valor x fornecido pelo usurio.
expoente binrio de modo que a seja verdadeira a equao x = signif icante 2expoente .
Dica: use a funo frexp da biblioteca math.h.
104. Faa um programa que informe qual o menor e maior valor que podem ser armazenados
anterior;
resposta);
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
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
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
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
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
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.
se for divisvel por 400 ou se for divisvel por 4 e no for divisvel por 100.
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.
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.
12. Faa um programa que receba a altura (em metros) e o peso de uma pessoa (em quilos).
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
14. Dados trs valores A, B e C, vericar se eles podem ser comprimentos de lados de um
O comprimento de um lado do tringulo menor que a soma dos dois outros lados;
Um tringulo issceles deve ter pelo menos dois lados com a mesmo tamanho;
15. Escrever um programa para ajudar vendedores. A partir de um valor total lido, mostrar:
16. Usando o switch, escreve um programa que leia um nmero inteiro de 1 a 7 e imprima
etc.
17. Faa um programa que leia uma data no formato dd/mm/aaaa e calcule o dia da se-
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,
19. Faa um programa que escreva o menu abaixo, leia uma opo do usurio e execute a
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
correspondente ao estado onde ser vendido. O programa deve mostrar uma mensagem
21. Leia uma distncia em quilmetros e a quantidade de litros de gasolina consumidos por
22. Leia a nota e o nmero de faltas de um aluno e escreva seu conceito de acordo com a
tabela 3.3.
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
24. Um programador iniciante resolveu fazer um programa que receba um nmero inteiro
programa deve mostrar no nome do dia da semana. O programador decidiu usar uma
25. Faa um programa que uma opo e trs valores e calcule uma mdia correspondente
A = mdia aritmtica.
respectivamente.
G = mdia geomtrica.
H = mdia harmnica.
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
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
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
erro e nalize o programa. Caso o usurio tenha fornecido um valor vlido, calculeo o
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
31. Escreva um programa completo que, dados dois nmeros inteiros, mostre na tela o
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
aquele lanche. Considere que a cada execuo somente um pedido ser realizado. O
33. Escreva um programa que, dada a idade de um nadador, classique-o em uma das
O nmero de horas sempre um inteiro e arredondado por excesso. Assim, quem esta-
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
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
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
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
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
38. Faa um programa que calcule as razes de uma equao de segundo grau. O usurio
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
40. Faa um programa que calcule as razes de uma equao de segundo grau. O usurio
programa dever exibir as razes encontradas, sejam elas reais ou complexas (caso em
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
43. Faa um programa que leia um nmero e, caso seja positivo, calcule e mostre o seu
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.
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
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
ou invlida.
25
49. Uma empresa decide dar aumento aos seus funcionrios de acordo com uma tabela que
na empresa).
Use a tabela 3.9 para calcular o salrio reajustado deste funcionrio e imprima o valor
aumento.
fbrica, de acordo com a tabela 3.10. Faa um programa que leia o custo de fbrica e
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
52. Faa um programa que leia trs valores sendo o primeiro e o terceiro valores nmeros
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
dezembro (natal). O programa dever dizer qual feriado corresponde a data fornecida
55. Faa um programa que leia 10 nmeros e escreva o maior e o menor desses 10 nmeros.
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
57. Faa um programa que leia um ponto no plano e informe em qual quadrante do plano
58. Faa um programa que leia dois pontos no plano e informe se os mesmos esto locali-
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).
61. Faa um programa que leia um caracte e verique se o mesmo maisculo ou minsculo.
62. Leia um inteiro entre 0 e 50 e verique em que dezena este nmero pertence. Faa este
63. Faa um programa que leia uma opo que especica uma determinada converso entre
de converso so as seguintes:
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?
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
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
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
6. Faa um programa que permita ao usurio fornecer diversos valores reais. O programa
29
30 CAPTULO 4. ESTRUTURAS DE REPETIO
7. Faa um programa que solicite diversos valores ao usurio. Ao nal, o programa deve
8. Faa um programa que solicite diversos valores ao usurio. Ao nal, o programa deve
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
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-
O programa dever permitir que o usurio faa novas tentativas at encontrar o valor
12. Escreva um programa completo que permita a qualquer aluno introduzir, pelo teclado,
tela, como resultado, a mdia aritmtica correspondente. O nmero de notas com que
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
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
o menor e a mdia de consumo dos habitantes e, por m, o total de consumo de cada
categoria de consumidor.
8 13 21 34.
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.
19. Faa um programa que receba um nmero maior que 1, e verique se o nmero fornecido
primo ou no.
nmero.
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
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
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
29. Faa um programa que calcule o maior nmero palndromo feito a partir do produto
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
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-
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
37. Faa um programa que leia um nmero inteiro positivo N e imprima todos os nmeros
38. Faa um programa que leia um nmero inteiro positivo par N e imprima todos os
decrescente.
39. Em Matemtica, o nmero harmnico designado por Hn dene-se como sendo o ensimo
termo da srie harmnica. Ou seja:
usurio.
40. Faa um programa que leia um valor N inteiro e positivo, calcule o mostre o valor E,
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
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,
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
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
46. Faa um programa para ler o cdigo, o sexo (M: masculino F: feminino) e o nmero de
cada hora/aula vale R$ 30,00. Emita uma listagem contendo o cdigo, o salrio bruto
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:
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%
necessrios para que o valor pertencente a Joo iguale ou ultrapasse o valor pertencente
e suas notas na primeira prova, determinar a maior e a menor nota obtidas por essa
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
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
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.
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
57. Escreva um algoritmo que leia um nmero inteiro e imprima, por extenso, cada um dos
58. Faa um programa que conte quantos nmeros primos existem entre a e b.
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.
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
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
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
66. Em uma eleio presidencial existem quatro candidatos. Os votos so informados atra-
codicao:
5 = voto nulo.
6 = voto em branco.
Como nalizador do conjunto de votos, tem-se o valor 0. Considere como votos vlidos
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
69. Faa um programa que apresente um menu de opes para o clculo das seguintes
adio (opo 1)
subtrao (opo 2)
multiplicao (opo 3)
sada (opo 5)
70. Faa um programa que imprima a tabela ASCII exibindo o caractere, seu cdigo decimal
71. Ler uma sequncia de nmeros inteiros e determinar se eles so pares ou no. Dever
72. Construa um programa que permita introduzir pelo terminal uma sequncia de nmeros
inteiro no negativo que seja igual soma dos seus divisores prprios, exceto ele mesmo
nmero perfeito).
a soma dos nmeros pares desse intervalo de nmeros, incluindo os nmeros digi-
tados.
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
2. Faa um programa que declare um vetor de 10 valores reais e exiba seu contedo. Teste
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]={};
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.
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.
41
42 CAPTULO 5. VETORES E MATRIZES
Armazene em uma varivel inteira (simples) a soma entre os valores das posies
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.
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
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
12. Faa um programa que leia um vetor de tamanho 10 com valores inteiros e informe
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
15. Faa um programa que leia duas matrizes A e B, ambas de tamanho 3x3, calcule e
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
17. Numa votao destinada a selecionar um entre 10 candidatos, optou-se pela coleta e
por seu nmero de candidato, faa um programa que obedea as seguintes especicaes:
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
18. Faa um programa que leia um vetor de 10 valores, ordene o vetor crescentemente e
19. Faa um programa que leia um vetor de 10 valores, ordene o vetor decrescentemente e
20. Faa um programa que crie um vetor com 25 posies contendo uma permutao alea-
e depois calcule uma permutao aleatria deste vetor (obtendo um vetor desordenado
21. Faa um programa que leia dois vetores A e B, ambos de tamanho 10 e com valores
22. Leia um vetor A com 25 valores inteiros. Crie um segundo vetor B, tambm com 25
B.
23. Leia um texto de at 140 caracteres e converta o texto para letras maisculas.
24. Leia um texto de at 140 caracteres e converta o texto para letras minsculas.
25. Leia um texto de at 140 caracteres e converta a primeira letra de cada palavra para
maiscula.
palavra que, se lida de trs para frente, apresenta a mesma graa da leitura normal.
28. Leia uma frase de at 140 caracteres e verique se a frase forma um palndromo.
30. Faa um programa que leia um texto de at 140 caracteres e substitua cada letra pela
Exemplo:
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
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
36. Escreva um programa que leia n nmeros inteiros no intervalo [0,50] e os armazene
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
os elementos.
40. Faa um programa que receba do usurio dois arrays, A e B, com 10 nmeros inteiros
41. Faa um programa que leia dois vetores A e B, com 16 nmeros inteiros cada. Crie
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
44. Faa um programa que leia um vetor de 10 posies (no ordenado), contendo valores
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
47. Leia dois vetores de inteiros X e Y, cada um com 5 elementos (assuma que o usurio
abaixo:
em Y.
mesma posio em Y.
esto em X.
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
49. Pea ao usurio para digitar dez valores numricos e os armazene em ordem crescente
num vetor.
50. Faa um programa que leia dez conjuntos de dois valores, o primeiro representando
aluno mais baixo e o mais alto. Mostre o nmero do aluno mais baixo e do mais alto,
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
52. Ler um conjunto de nmeros reais, armazenando-o em vetor e calcular o quadrado das
53. Faa um programa que leia dois nmeros a e b (positivos menores que 10000) e:
Crie um vetor que seja a soma de a e b, mas faa-o usando apenas os vetores
construdos anteriormente.
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
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
55. Faa um programa que leia um vetor de 8 posies e em seguida leia tambm dois valores
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
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:
60. Faa um programa que preencha um vetor com dez nmeros reais, calcule e mostre a
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
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
63. Faa um vetor de tamanho 50 preenchido com o seguinte valor: (i+5i)%i, sendo i a
64. Faa um programa que preencha um vetor de tamanho 100 com os 100 primeiros na-
65. Faa um programa que realize a leitura dos seguintes dados relativos a um conjunto de
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
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
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
71. Leia uma matriz 5 x 10 que se refere respostas de 10 questes de mltipla escolha,
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
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:
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
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
76. Escrever um programa em C que determine se uma matriz quadrada de n > 0 linhas
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
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,
78. Na matriz de 20x20 abaixo, quatro nmeros ao longo de uma linha diagonal foram
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
79. Faa um programa que leia duas matrizes 3x3 com valores reais. Oferea ao usurio
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
80. Faa programa que leia uma matriz 3x6 com valores reais.
52 CAPTULO 5. VETORES E MATRIZES
Substitua os valores da sexta coluna pela soma dos valores das colunas 1 e 2.
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
jogo da velha. O programa deve apontar o vencedor ou, quando no houver vencedor,
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
84. Calcular a soma dos elementos de uma matriz numrica quadrada qualquer dada, que
85. Ler uma matriz numrica quadrada qualquer e calcular a diferena entre a soma dos
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
cada posio do tabuleiro de modo que no ocorra valores repetidos em uma mesma
jogo de sudoku e verique se o jogo est correto. Dica: O tabuleiro completo pode ser
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
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
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,
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
na ordem o inteiro consecutivo da posio anterior. Caso a matriz seja inca deve
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
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).
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.
uma funo f (x) qualquer. Considere que, neste arquivo, a primeira linha contm um
vrgulas). Faa um programa que leia estes valores para dentro de um vetor, calcule
outro arquivo.
59
60 CAPTULO 9. PONTEIROS
Obs.: crie uma funo para ler o arquivo, outra para calcular os valores da derivada e
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
C F 32 K 273
= =
5 9 5
C = Temperatura em graus Celsius
K = Temperatura em Kelvin
A.3 ngulos
g = ngulo em graus.
67
68 APNDICE A. BASE MATEMTICA
Tringulo retngulo:
bh
A=
2
A = rea 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
Quadrado:
A = L2
A = rea do quadrado
Retngulo:
A=bh
A = rea 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
h = altura do cilindro
ngulo entre
vetores:
< U, V >
= arccos
|U | |V |
< U, V > = produto escalar entre vetores U e V
|U | = mdulo do vetor U
< U, V >= Ux Vx + Uy Vy
70 APNDICE A. BASE MATEMTICA
A.6 Medidas
1 acre = 4.046,8564224 m2
z1 = a + bi e z2 = c + di
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:
C = coordenada cartesiana;
r = raio;
a = ngulo em radianos.
n
1X
Mdia Aritmtica: xi
n 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
= b2 4ac
b
raizes =
2a
A.9 Fsica
Fora Gravitacional:
M m
F =G
d2
G = constante gravitacional
Velocidade
r orbital de um satlite:
GM
V =
R
V = velocidade orbital em m/s
G = constante gravitacional
M = massa da Terra em kg
Perodo orbital
r de um satlite:
R3
T =2
GM
T = perodo orbital em segundos
G = constante gravitacional
M = massa da Terra em kg
A.10. DATAS 73
A.10 Datas
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.12
Combinao:
n!
(nk ) = k!(nk)!
Arranjo:
Permutao: