Você está na página 1de 14

INTRODUO PROGRAMAO

Lista de Exerccios Verso 2


1

Professor Fernando Cardeal

1 Introduo:
A Programao de Computadores costumava ser considerada como uma forma de
arte e somente os iniciados conseguiam entender os seus princpios. Utilizando uma
viso mais moderna, pode-se perceber que a Programao pode ser encarada como
cincia por utilizar ferramentas como: metodologias, tcnicas e conceitos.
Curiosamente, uma das sries de livros mais famosos da computao The Art of
Computer Programming
2
embora chame a programao de arte, trata a mesma
como cincia e tcnica.
Deixando de lado essa discusso, pode-se afirmar que nem todas as pessoas
podem desenvolver a habilidade de programar, assim como nem todos sabem
consertar automveis ou construir casas. Uma coisa pode ser afirmada com alto
grau de certeza: s se aprende a programar programando. Vem da a importncia de
resolver a maior quantidade possvel de exerccios.
A presente lista de exerccios uma compilao de algumas obras clssicas
cuidadosamente listadas nas referncias ao final, alm de problemas desenvolvidos
durante os mais de 20 anos de ensino dessa disciplina.
Para facilitar os trabalhos, os exerccios encontram-se divididos por assunto e por
grau de dificuldade. A lista pode ser aproveitada tanto na parte inicial do estudo de
Algoritmos quanto no estudo de qualquer linguagem de programao procedural.
Aproveite bem.

1
Nesta nova verso, foram includos exerccios para tratamento de STRINGS, exerccios com
MATRIZES e a lista de exerccios com funes foi aumentada.
2
A arte da programao de computadores. Srie de Livros escritos por Donald Knuth a partir de 1962
e em andamento at hoje.
Lista de Exerccios de Programao Prof. Fernando Cardeal
2

Sumrio
1 Introduo: ............................................................................................................ 1
2 Problemas sequenciais ......................................................................................... 3
2.1 Transformao de unidade ............................................................................ 3
2.2 Clculos simples ............................................................................................ 3
3 Problemas com decises (testes condicionais) .................................................... 4
3.1 Decises simples ........................................................................................... 4
3.2 Decises Mltiplas (Faa Caso/Switch) ......................................................... 6
4 Algoritmos com repetio ..................................................................................... 7
5 Problemas com VETORES (arrays unidimensionais) ........................................... 9
6 Problemas com MATRIZES (arrays bidimensionais) .......................................... 11
7 Problemas com Funes .................................................................................... 12
8 Problemas com STRINGS (cadeias de caracteres) ............................................ 13
9 Bibliografia .......................................................................................................... 14


Lista de Exerccios de Programao Prof. Fernando Cardeal
3

2 Problemas sequenciais
2.1 Transformao de unidade
1. Faa um algoritmo que leia a idade de uma pessoa expressa em anos, meses
e dias e mostre-a expressa apenas em dias. Considere que todos os meses
possuem 30 dias.
2. Faa um algoritmo que leia a idade de uma pessoa expressa em dias e
mostre-a expressa em anos, meses e dias. Considere que todos os meses
possuem 30 dias.
3. Faa um algoritmo que leia uma temperatura informada em graus Fahrenheit
e a transforme em graus Celsius. A frmula de converso : C =
(F-S2)
1,8
.
4. Faa um algoritmo que leia o tempo de durao de um evento em uma fbrica
expressa em segundos e mostre-o expresso em horas, minutos e segundos.

2.2 Clculos simples
1. Faa um algoritmo que leia as trs notas de um aluno, calcule e exiba a
mdia aritmtica simples das notas.
2. Faa um algoritmo que leia as trs notas de um aluno, calcule e exiba a sua
mdia aritmtica ponderada, considerando que os pesos das notas so: 3, 2 e
4.
3. O custo ao consumidor de um carro novo a soma do custo de fbrica com a
percentagem do distribuidor e dos impostos (aplicados ao custo de fbrica).
Supondo que a percentagem do distribuidor seja de 28% e os impostos de
45%, escreva um algoritmo que leia o custo de fbrica de um carro e escreva
o custo ao consumidor.
4. Escreva um algoritmo para efetuar o clculo da quantidade de combustvel
gasto em uma viagem, sabendo-se que o carro faz 12 km com um litro. O
algoritmo deve ler o TEMPO gasto na viagem e a VELOCIDADE MDIA.
Lembre-se da seguinte frmula: distncia = velocidade x tempo.
5. Escreva um algoritmo que leia as variveis inteiras A e B e troque os seus
contedos, ou seja, o contedo de A ir para B e vice-versa.
6. Uma fbrica de camisetas produz os tamanhos pequeno, mdio e grande,
sendo vendidas respectivamente por 10, 12 e 15 reais. Construa um algoritmo
em que o usurio fornea a quantidade de camisetas pequenas, mdias e
grandes referentes a uma venda, e a mquina informe quanto ser o valor
arrecadado.
7. Faa um algoritmo que leia o saldo de uma aplicao financeira e exiba o
novo saldo, considerando o reajuste de 1,5%.
8. Faa um algoritmo que leia um nmero no formato CDU (centena, dezena e
unidade) e o exiba no formato UDC. Exemplo: se for lido o nmero 234,
dever ser exibido o nmero 432. Importante: o nmero deve ser armazenado
em uma varivel antes de ser exibido.
Lista de Exerccios de Programao Prof. Fernando Cardeal
4

9. Faa um algoritmo que leia a razo de uma Progresso Aritmtica, leia o
primeiro termo, calcule e exiba o 10termo.
10. Escreva um algoritmo que leia um nmero entre 0 e 60, calcule e exiba o seu
sucessor, sabendo que o sucessor de 60 0. No pode ser utilizado nenhum
comando de deciso ou de repetio.
3 Problemas com decises (testes condicionais)
3.1 Decises simples
1. Faa um algoritmo que leia 2 valores inteiros X e Y e os escreva com a
mensagem: So mltiplos ou No so mltiplos.
2. Faa um algoritmo que leia um nmero inteiro e informe se este par ou se
impar.
3. Faa um algoritmo que leia a idade de uma pessoa e informe se MAIOR de
idade, se MENOR de idade ou se MAIOR DE 65 anos. A idade um
nmero inteiro.
4. Faa um algoritmo que leia as 3 notas de um aluno, calcule e exiba a sua
mdia aritmtica e informe uma das mensagens a seguir: Aprovado (se a
mdia for maior ou igual a 7), Reprovado (se a mdia for menor do que 3) e
Em Prova Final (para os demais casos).
5. Faa um algoritmo que leia trs nmeros inteiros e informe qual o maior
deles.
6. Escreva um algoritmo que leia uma data (dia, ms e ano separados) e informe
se a data vlida ou no. Lembre-se que os meses 1, 3, 5, 7, 8, 10 e 12 tm
31 dias. O ms 2 tem 28 dias (ignore anos bissextos).
7. Elabore um algoritmo que leia a idade de um nadador e o classifique em uma
das seguintes categorias:
Infantil A = 5 - 7 anos
infantil B = 8-10 anos
juvenil A = 11-13 anos
juvenil B = 14-17 anos
adulto = maiores de 18 anos
8. Escreva um programa que receba a altura e o sexo de uma pessoa e que
calcule e mostre o seu peso ideal, utilizando as seguintes frmulas:
- para homens: (72.7 * altura) - 58
- para mulheres: (62.1 * altura) - 44.7
9. Uma empresa conceder um aumento de salrio aos seus funcionrios,
varivel de acordo com o cargo, conforme a tabela abaixo. Faa um algoritmo
que leia o salrio e o cargo de um funcionrio e calcule o novo salrio. Se o
cargo do funcionrio no estiver na tabela, ele dever, ento, receber 5% de
aumento. Mostre o salrio antigo, o novo salrio e a diferena.
Cdigo Cargo Percentual
101 Gerente 10%
102 Engenheiro 20%
Lista de Exerccios de Programao Prof. Fernando Cardeal
5

103 Tcnico 30%

10. Um comerciante comprou um produto e quer vende-lo com um lucro de 45%
se o valor da compra for menor do que R$100,00; caso contrrio, o lucro deve
ser de 30%. Escreva um algoritmo que leia o valor do produto e exiba o valor
da venda.
11. Faa um algoritmo que leia um percurso em quilmetros, o tipo do carro e
exiba o consumo estimado de combustvel, sabendo-se que um carro tipo C
faz 12 km com um litro de combustvel, um tipo B faz 9 km/litro e o tipo A, 8
km por litro.
12. Se um ano for divisvel por 4 e no for divisvel por 100 ele bissexto, exceto
os que so divisveis por 400 que tambm so bissextos. Faa um algoritmo
que, dado o valor de um ano, exiba se o ano ou no bissexto.
Teste o seu algoritmo/programa para os seguintes valores:
1996: Foi um ano bissexto ( divisvel por 4 e no por 100)
2000: Foi um ano bissexto ( divisvel por 4, por 100 e por 400)
2001: No foi um ano bissexto (no divisvel por 4)
1900: No foi um ano bissexto ( divisvel por 4 e por 100, mas no por 400).
2012: Foi um ano bissexto ( divisvel por 4 e no por 100)


Lista de Exerccios de Programao Prof. Fernando Cardeal
6

3.2 Decises Mltiplas (Faa Caso/Switch)
1. Um banco conceder um crdito especial aos seus clientes, varivel com o
cdigo de classe do cliente obtido durante a movimentao da sua conta
corrente no ltimo ano. Faa um algoritmo que leia o cdigo de classe de
um cliente, seu saldo mdio e calcule o valor do crdito de acordo com a
tabela abaixo. Mostre uma mensagem informando o saldo mdio e o valor
do crdito.
CLASSE Percentual
Z nenhum crdito
C 20% do valor do saldo mdio
B 30% do valor do saldo mdio
A 40% do valor do saldo mdio
2. Desenvolva um algoritmo que leia dois nmeros inteiros e uma operao: (+
- * / %). O algoritmo deve executar a operao e mostrar o resultado.
Cuidado com a diviso por zero.
3. Construa um algoritmo que leia um nmero de 1 a 7 e escreva o dia da
semana correspondente, sendo que domingo o dia nmero 1. Mostre
mensagem de erro caso o nmero seja invlido.
4. Escreva um algoritmo que leia um nmero de um ms (de 1 a 12) e que
informe o trimestre correspondente ao ms. Caso o nmero seja invlido,
emita uma mensagem,
5. Considerando somente o alfabeto, escreva um algoritmo que leia uma letra
e mostre uma das seguintes mensagens: Vogal maiscula, Vogal
minscula ou Consoante.
6. Escreva um algoritmo que leia a idade de uma pessoa e, conforme a
DEZENA da idade e a tabela a seguir, classifique a pessoa:
0 - Criana
1 - Adolescente
2 - Jovem
3 - Jovem Adulto
4 - Adulto
10 - Matusalm
Outra - Melhor idade
7. Escreva um algoritmo que leia o nmero de lados e a medida do lado de um
polgono regular e, conforme o nmero de lados, informe:
a) Se for 3: escrever TRINGULO e o valor do seu permetro.
b) Se for 4: escrever QUADRADO e o valor da sua rea.
c) Se for 5: escrever PENTGONO
d) Outro: escrever POLGONO no identificado.

Lista de Exerccios de Programao Prof. Fernando Cardeal
7

4 Algoritmos com repetio
1. Escreva um algoritmo que leia os seguintes dados relativos a uma turma de
faculdade: quantidade de alunos e numero de aulas. Em seguida, leia para
cada aluno a quantidade de faltas e informe quem foi reprovado por faltas.
Para ser reprovado o aluno tem que ter mais de 25% de faltas.
2. Escreva um algoritmo que leia uma quantidade indeterminada de nmeros
inteiros at encontrar o nmero 0 (zero). Conte e exiba quantos nmeros
esto entre 100 e 200, inclusive.
3. Chico mede 1,30 m de altura e cresce 2 centmetros por ano, enquanto Z
mede 1,10 m de altura e cresce 3 centmetros por ano. Faa um algoritmo
que calcule e exiba quantos anos sero necessrios para que Z seja mais
alto do que Chico. O algoritmo tambm deve exibir as alturas finais de Chico e
de Z quando ocorrer a ultrapassagem.
4. Uma rainha requisitou os servios de um monge e disse-lhe
que pagaria qualquer preo. O monge, necessitando de
alimentos, perguntou rainha se o pagamento poderia ser
feito com gros de trigo dispostos em um tabuleiro de xadrez
de forma que o primeiro quadro contivesse apenas um gro e
cada quadro subsequente contivesse o dobro do quadro
anterior. A rainha considerou o pagamento barato e mandou executar o
servio, sem se dar conta que seria impossvel efetuar o pagamento. Faa um
algoritmo que calcule e exiba o nmero de gros que o monge esperava
receber.
5. Faa um algoritmo que leia 15 valores inteiros, encontre e mostre o maior e o
menor deles.
6. Faa um algoritmo que leia N valores inteiros e informe o maior e o menor
deles. O valor de N deve ser lido no incio.
7. Escreva um algoritmo que calcule e exiba os 10 primeiros termos da
sequncia de Fibonacci. Os dois primeiros termos da sequncia so 1 e 1.
Cada termo seguinte a soma dos dois termos anteriores (1 1 2 3 5 8 ...)
8. Escreva um algoritmo que leia um valor para N e exiba os N primeiros termos
da sequncia de Fibonacci (1 1 2 3 5 8 13...).
9. Desenvolva um algoritmo que calcule a mdia ponderada de vrios valores
inteiros positivos, lidos externamente. Para cada nmero inteiro lido, dever
ser fornecido tambm o seu peso. O final da leitura acontecer quando for lido
um valor negativo (que no deve ser considerado para o clculo).
10. Faa um algoritmo que leia uma quantidade indeterminada de nmeros
inteiros e calcule o fatorial de cada um deles. Lembre-se que o fatorial de
zero um (0! = 1). Se forem fornecidos nmeros negativos, exibir mensagem
apropriada e no calcular o fatorial. O algoritmo deve prosseguir at ser lido o
nmero 100, que no deve ser processado.
11. Escreva um algoritmo que leia os valores de N resistncias ligadas em
paralelo, calcule e exiba a resistncia equivalente. O valor de N lido no
incio da execuo do algoritmo. O clculo da resistncia equivalente feito
de acordo com a frmula a seguir, onde RE = resistncia equivalente e R1,
Lista de Exerccios de Programao Prof. Fernando Cardeal
8

R2, etc. so as resistncias em paralelo que tambm so lidas pelo algoritmo:



12. Uma empresa deseja aumentar os preos de seus produtos em 20%. Faa
um algoritmo que leia o cdigo e o preo de custo de cada produto e calcule
o preo novo. Calcule tambm, a mdia dos preos com e sem aumento.
Mostre o cdigo e o preo novo de cada produto e, no final, as mdias. A
entrada de dados deve terminar quando for lido um cdigo de produto
negativo.
13. Faa um algoritmo que leia um nmero, encontre e informe todos os seus
divisores. Se o nmero for primo, exibir uma mensagem apropriada (lembre-
se que nmero primo aquele divisvel apenas por si e por 1).
14. Desenvolva um algoritmo que leia um conjunto de 20 informaes contendo,
cada uma delas, a altura e o sexo de uma pessoa (M ou m ou F ou f),
calcule e mostre o seguinte:
A maior e a menor altura da turma;
A mdia da altura das mulheres;
A mdia da altura da turma.
15. Desenvolva um algoritmo que leia e processe diversas operaes em relao
ao estoque de um produto. O algoritmo dever ler e executar as operaes
conforme segue:
a. Inicialmente l o saldo ORIGINAL do produto;
b. Se ler a operao = C (compra) deve ler a quantidade comprada e
acrescentar ao saldo. O saldo deve ser mostrado aps a operao.
c. Se ler a operao = V (venda) deve ler a quantidade vendida e, se o
saldo for suficiente, deve subtrair a quantidade do saldo e mostrar o
saldo final. Se o saldo no for suficiente, deve exibir a mensagem
Saldo insuficiente, Operao no efetuada.
d. Se ler a operao = S (saldo) deve mostrar o saldo.
e. Se ler a operao = F (fim) deve finalizar a execuo.
f. Qualquer outra operao lida deve gerar a mensagem Operao
invlida.




1
R
c
=
1
R
1
+
1
R
2
+
1
R
3
++
1
R
n

Lista de Exerccios de Programao Prof. Fernando Cardeal
9

5 Problemas com VETORES (arrays unidimensionais)
1. Escreva um algoritmo que leia e mostre um vetor de 20 elementos inteiros. A
seguir, conte quantos valores pares existem no vetor.
2. Desenvolva um algoritmo que leia um conjunto de 30 valores e os coloque em
2 vetores conforme sejam pares ou mpares. Depois exiba o vetor dos
nmeros pares e o vetor dos nmeros mpares.
3. Desenvolva um algoritmo que leia e mostre um vetor com N elementos
inteiros (N deve ser informado no incio do processo) e, a seguir, execute as
seguintes operaes:
i) Localize e informe todos os nmeros pares encontrados, inclusive
informando em que posies do vetor eles esto;
ii) Informe a quantidade de nmeros pares encontrados.
4. Desenvolva um algoritmo que leia dois vetores de 10 elementos inteiros e
faa a multiplicao dos elementos de mesmo ndice, colocando o resultado
em um terceiro vetor. Mostre os vetores originais e o vetor resultante.
5. Desenvolva um algoritmo que leia um vetor de 20 elementos inteiros e
mostre-o. Em seguida, troque o primeiro elemento com o ltimo, o segundo
com o penltimo, o terceiro com o antepenltimo, e assim sucessivamente.
Mostre o novo vetor depois da troca.
6. Desenvolva um algoritmo que leia um vetor de 10 elementos inteiros e
mostre-o ordenado em ordem crescente.
7. Escreva um algoritmo que leia um vetor de 15 elementos inteiros. Encontre e
mostre o menor elemento e sua posio no vetor. Considere que podem
existir valores repetidos.
8. Desenvolva um algoritmo que leia um vetor X(20) e o escreva. Escreva, a
seguir, cada um dos valores distintos que aparecem em X dizendo quantas
vezes cada valor aparece em X.
9. Desenvolva um algoritmo que leia um vetor (A) de N elementos (N
informado no incio da execuo). Em seguida, compacte o vetor, retirando os
valores nulos e negativos. Coloque o resultado no vetor B e exiba o resultado.
10. Uma locadora de DVDs tem guardada, em um vetor de 500 posies, a
quantidade de filmes retirados por seus clientes durante o ano de 2012. A
locadora decidiu fazer uma promoo e, para cada 10 filmes retirados, o
cliente tem direito a uma locao grtis. Desenvolva um algoritmo que crie
outro vetor contendo a quantidade de locaes gratuitas a que cada cliente
tem direito, exibindo o resultado em seguida (apenas com aqueles clientes
que tm direito a locaes grtis). A posio do vetor corresponde ao cdigo
do cliente.
11. Certa loja resolveu utilizar vetores para controlar o seu estoque de
mercadorias. Para isso projetou trs vetores: o primeiro conter os cdigos
das mercadorias, o segundo conter os nomes das mercadorias
correspondentes aos cdigos do primeiro vetor e o terceiro vetor conter os
saldos em estoque com a mesma correspondncia. Desenvolva um algoritmo
que atenda a loja citada, realizando as seguintes operaes:
Lista de Exerccios de Programao Prof. Fernando Cardeal
10

a) Crie os trs vetores (codigos, produtos e saldos) com capacidade para 500
produtos;
b) Leia os dados iniciais para a montagem do estoque. A leitura deve ser
feita at encontrar um produto com cdigo negativo. Esse deve ser
desconsiderado.
c) Aps a montagem do estoque, o algoritmo dever ler vrios pedidos de
mercadoria contendo cdigo e quantidade desejada e processar da
seguinte forma:
i) Para cada cdigo lido, deve pesquisar se o produto existe no estoque;
ii) Se no existir, emitir mensagem Produto xxxx no cadastrado;
iii) Caso o produto exista, o algoritmo deve verificar se o saldo suficiente
para atender ao pedido do cliente e, se for, deve atualizar o estoque
(subtraindo a quantidade pedida);
iv) Caso o saldo seja insuficiente, deve emitir a mensagem Produto xxxx
xxxxxxxxxxxxxx saldo x insuficiente.
v) Aps o processamento de cada pedido, o algoritmo deve perguntar se
deseja processar novo pedido (S ou N), repetindo o processo at o
cliente digitar N ou n.

Lista de Exerccios de Programao Prof. Fernando Cardeal
11

6 Problemas com MATRIZES (arrays bidimensionais)

1. Escreva um programa em C que leia uma matriz 4x4 de nmeros inteiros e a
imprima no formato de matriz, conforme exemplificado:
xx xx xx xx
xx xx xx xx
xx xx xx xx
xx xx xx xx

2. Escreva um programa em C que leia uma matriz de NxN de nmeros inteiros
e imprima os elementos ACIMA da diagonal principal. O valor de N deve ser
lido no incio.

3. Escreva um programa em C que leia uma matriz de NxN de nmeros inteiros
e imprima o PRODUTO dos elementos da diagonal principal. O valor de N
deve ser lido no incio.

4. Escreva um programa em C que leia uma matriz 3x2 de nmeros inteiros e
gere uma nova matriz que seja a sua matriz transposta. Exiba as duas de
forma arrumada conforme problema 1.

5. Escreva um programa que leia uma matriz de 2x3 e outra de 3x4 de valores
float. Calcule e imprima a matriz produto. Tambm exiba as matrizes originais.

6. Dada uma matriz real A
mxn
, verificar se existem elementos repetidos em A.
Exibir os elementos.

7. Leia uma matriz 5 x 5. Leia tambm um valor X. O programa dever fazer
uma busca desse valor na matriz e, ao final escrever a localizao (linha e
coluna) ou uma mensagem de no encontrado.

8. Gere e imprima duas matrizes A e B 5x5 com valores aleatrios entre 0-4.
Aps isso calcule a matriz C, resultante da soma da matriz A com a matriz B.
Imprimir a matriz C. Pesquise como gerar nmeros aleatrios (rand).


Lista de Exerccios de Programao Prof. Fernando Cardeal
12

7 Problemas com Funes

Nota: para testar as funes, faa programas que as utilizem.
1. Faa uma funo que receba a idade de uma pessoa em anos, meses e dias
e retorne essa idade expressa em dias.
2. Faa uma funo que receba um valor inteiro e positivo, calcule e retorne o
seu fatorial.
3. Faa uma funo que recebe, por parmetro, um valor inteiro e positivo e
retorne o nmero de divisores desse valor.
4. Faa uma funo que receba um valor inteiro e retorne o valor 1 se o nmero
for primo e retorne o valor 0 caso no seja primo.
5. Escreva uma funo que receba por parmetro um valor inteiro e positivo N e
retorne o valor de S = 1 + 1/1! + ! + 1/3! + ... + 1 /N!
6. Faa uma funo que receba por parmetro o raio de uma esfera e calcule o
seu volume (v = 4/3. .R
3
).
7. Faa uma funo que verifique se um valor perfeito ou no. Um valor dito
perfeito quando ele igual soma dos seus divisores excetuando ele prprio.
(Ex: 6 perfeito, 6 = 1 + 2 + 3, que so seus divisores). A funo deve
retornar 1 (um) se o nmero for perfeito ou 0 (zero) se no for.
8. Escreva uma funo que receba por parmetro um valor inteiro e positivo N e
retorne o valor de S, conforme abaixo:
S = 1 + + 1/3 + + 1/5 +...+ 1/N
9. Faa uma funo que receba a idade de um nadador por parmetro e retorne
a categoria desse nadador de acordo com a tabela abaixo. Para testar a
funo, escreva um programa que leia as idades de N nadadores (N lido no
incio) e, a partir do retorno da funo, exiba a categoria de cada nadador.
Idade Categoria Retorno
5 a 7 anos Infantil A A
8 a 10 anos Infantil B B
11-13 anos Juvenil A C
14-17 anos Juvenil B D
Maiores de 18 anos (inclusive) Adulto E

10. Faa uma funo que receba, por parmetro, a altura (alt) e o sexo de uma
pessoa e retorne o seu peso ideal. Para homens, calcular o peso ideal
usando a frmula peso ideal = 72.7 x alt - 58 e, para mulheres, peso ideal =
62.1 x alt - 44.7.

Lista de Exerccios de Programao Prof. Fernando Cardeal
13

8 Problemas com STRINGS (cadeias de caracteres)

1. Escreva um programa que leia uma String e mostre a quantidade de palavras
nela.
2. Escreva um programa que leia uma String e mostre a quantidade de vogais
nela.
3. Escreva um programa que receba uma string e imprima uma tabela que
informe o nmero de ocorrncias de cada caractere na string.
4. Uma palavra denominada um palndromo se for invertida e a leitura da
mesma permanecer sem nenhuma alterao. Algumas palavras que so
palndromos so: aba, radar, reter, rever, rir, rotor, dentre outras. Construa
um programa que detecte se uma palavra (string) digitada pelo usurio ou
no um palndromo.
5. Escreva um programa que leia uma string e elimine o excesso de espaos
entre as palavras, inclusive no incio e no fim da string. Exiba a string antes e
depois. Exemplo: Lida: Frase cheia de espaos . Aps: Frase
cheia de espaos. Note que foram eliminados os espaos do incio, do fim e
foi deixado apenas um espao entre as palavras.
6. Escreva um programa que leia uma String correspondendo ao nome de uma
pessoa e crie uma nova String contendo apenas as iniciais do nome. (Ex:
"Joo da Silva" => "JdS").
7. Escreva um programa que leia uma String e cria outra com os caracteres
duplicados exceto os espaos. (Ex: Teste de programa => TTeessttee
ddee pprrooggrraammaa).
8. Escreva um programa que leia uma String e transforme todos os caracteres
em minsculos. Exiba a string original e a convertida.
9. Escreva um programa que leia uma String e transforme todos os caracteres
em maisculos. Exiba a string original e a convertida.
10. Escreva um programa em C que leia uma palavra fornecida pelo teclado e
em seguida imprima o caractere presente no meio da palavra, caso esta
tenha um nmero mpar de caracteres. Caso tenha um nmero par de
caracteres o programa deve imprimir os dois caracteres centrais. Como
exemplo, considere a palavra SONHO. O caractere a ser impresso ser o N.
Outro exemplo: CASA => seria impresso AS.


Lista de Exerccios de Programao Prof. Fernando Cardeal
14

9 Bibliografia

FARRER, Harry e outros. Algoritmos Estruturados. 3 ed. So Paulo: LTC, 1999.
FORBELONE, Andr Luiz. Lgica de Programao. 3 ed. So Paulo: Prentice
Hall, 2005.
LOPES, Anita; GARCIA, Guto. Introduo Programao: 500 algoritmos
resolvidos. Rio de Janeiro: Campus, 2002.