kaiio_
(usa Debian)
Enviado em 31/08/2013 - 10:49h
Essa lista eu fiz no 2° semestre da faculdade, tive um pouco de dificuldade em alguns exercícios, mas a maioria é simples. Não precisa de muitos comandos especiais, basicamente for, if/else, while e do/while.
1. Fazer um programa que receba o valor do peso e altura de uma pessoa e encontre seu IMC pela fórmula [ IMC = peso / (altura*altura) ]. Exibir o valor do IMC calculado.
2. Fazer um programa para receber valores inteiros X, Y e Z do usuário e determinar se estes valores podem formar os lados de um triângulo. Em caso afirmativo, informar se o triângulo é eqüilátero, isósceles ou escaleno.
3. Fazer um programa que recebe 3 valores não inteiros do usuário e mostra o maior deles, o menor deles e a média.
4. Fazer um programa que recebe um símbolo de operação do usuário (+, -, / ou *) e dois números reais. O programa deve retornar o resultado da operação recebida sobre estes dois números.
5. O número 3025 possui a seguinte característica: 30 + 25 = 55 -> 55*55 = 3025. Fazer um programa para obter todos os números de 4 algarismos com a mesma característica do número 3025.
6. Fazer um programa para mostrar os 100 primeiros termos da série de Fibonacci.
7. Fazer um programa para mostrar todos os números perfeitos entre 1 e 100.
8. Fazer um programa para receber dois números inteiros do usuário e mostrar o seu MMC (mínimo múltiplo comum).
9. Dada a afirmação: “A tem o dobro da idade que B tinha quando A tinha a idade que B tem. Quando B tiver a idade de A, somarão 81 anos.”. Fazer um programa para calcular as idades de A e B no método “força bruta”(testando todas as possibilidades).
10. Fazer um programa no qual o usuário vai entrando sucessivamente com valores positivos. Quando o usuário entrar com um valor negativo o programa pára de pedir valores e calcula a média dos valores já fornecidos.
11. Fazer um programa que sorteie um número de 0 a 100 e que permita que o usuário (sem conhecer o número sorteado) tente acertar. Caso não acerte, o programa deve imprimir uma mensagem informando se o número sorteado é maior ou menor que a tentativa feita. Ao acertar o número, o programa deve imprimir a quantidade de tentativas feitas.
12. Escreva um programa que calcule o salário semanal de um trabalhador. As entradas são o número de horas trabalhadas na semana e o valor da hora. Até 40 h/semana não se acrescenta nenhum adicional. Acima de 40h e até 60h há um bônus de 50% para essas horas. Acima de 60h há um bônus de 100% para essas horas.
13. Faça um programa que sorteie um número aleatório entre 0 e 500 e pergunte ao usuário qual é o "número mágico". O programa deverá indicar se a tentativa efetuada pelo usuário é maior ou menor que o número mágico e contar o número de tentativas. Quando o usuário conseguir acertar o número o programa deverá classificar o usuário como:
a. De 1 a 3 tentativas: muito sortudo
b. De 4 a 6 tentativas: sortudo
c. De 7 a 10 tentativas: normal
d. > 10 tentativas: tente novamente
14. Um pecuarista possui uma determinada quantia de bois, que possuem um identificador numérico (de 1 a n) cada um. Faça um programa que:
a. receba o peso de cada boi, um por vez, e o armazene em um vetor. Se o peso digitado for 0 significa que não há mais bois a serem digitados;
b. mostre a lista de todos os bois com seus identificadores e também os identificadores do boi mais gordo e do boi mais magro. Se houver dois ou mais bois mais gordos ou mais magros mostrar o de menor identificador;
c. Faça o mesmo programa considerando que o número de bois é fixo e igual a dez.
15. Faça um programa que, dados dois vetores bidimensionais (matrizes A e B) com dimensões de no máximo 5x5 elementos, retorne:
a. a soma destas duas matrizes
b. a soma das diagonais de cada matriz
c. a multiplicação das duas matrizes
16. Faça um programa para receber do usuário a dimensão de um vetor (máx. 20), os elementos desse vetor e efetuar a sua ordenação utilizando o método da bolha (bubble-sort).
17. Vamos supor que várias pedras do jogo de xadrez estão no tabuleiro. Para facilitar a indicação das peças, vamos convencionar:
1 – peões 3 – torres 5 – reis 0 – ausência de peças
2 – cavalos 4 – bispos 6 – rainhas
O tabuleiro é o seguinte:
1 3 0 5 4 0 2 1
1 0 1 0 0 1 0 0
0 0 0 0 1 0 6 0
1 0 0 1 1 0 0 1
0 1 0 4 0 0 1 0
0 0 3 1 0 0 1 1
1 0 6 6 0 0 1 0
1 0 5 0 1 1 0 6
a) Construa um programa que determine a soma total entre peões ou bispos e a quantidade de posições com ausência de peças;
b) Escreva outro programa que determine qual a quantidade de cada tipo de peça no tabuleiro.
18. A distância entre várias cidades é dada pela tabela abaixo (em km):
1 2 3 4 5
1 00 15 30 05 12
2 15 00 10 17 28
3 30 10 00 03 11
4 05 17 03 00 80
5 12 28 11 80 00
a) Construa um programa que leia a tabela acima e informe ao usuário a distância entre duas cidades por ele requisitadas, até que ele entre com o código 0 para ambas as cidades;
b) Elabore um programa que imprima a tabela sem repetições, isto é, se a distância entre as cidades 1 e 3 foi emitida, não é necessário emitir a distância entre 3 e 1;
c) Dado um determinado percurso, imprima o total percorrido:
Exemplo: dado o percurso 1, 2, 3, 2, 5, 1, 4, teremos:
15 + 10 + 10 + 28 + 12 + 5 = 80 km.
19. Um cinema que possui capacidade de 20 lugares está sempre lotado. Certo dia cada espectador respondeu a um questionário, onde constava:
- sua idade;
- sua opinião em relação ao filme, que podia ser: ótimo, bom, regular, ruim ou péssimo.
Elabore um programa que, recebendo estes dados calcule e mostre:
a. a quantidade de respostas ótimo;
b. a diferença percentual entre respostas bom e regular;
c. a média de idade das pessoas que responderam ruim;
d. a porcentagem de respostas péssimo e a maior idade que utilizou esta opção;
e. a diferença de idade entre a maior idade que respondeu ótimo e a maior idade que respondeu ruim.
20. Faça um programa que receba uma matriz 5x5 valores do tipo int do usuário, um valor de cada vez, e imprima a sua matriz transposta (Obs: a matriz transposta é obtida permutando-se as linhas e as colunas de uma matriz.