Lista_de_Exercicio_2

download Lista_de_Exercicio_2

of 15

Transcript of Lista_de_Exercicio_2

Departamento de Cincia da Computao Instituto de Cincias Exatas UnB Campus Universitrio Darcy Ribeiro - Asa Norte ICC Centro, Caixa postal 4466, 70910-900, Braslia-DF-Brasil

Computao Bsica - Lista de Exerccios IIProf. Alexandre Zaghetto [email protected]

Ateno: para cada exerccio abaixo, escreva o cdigo em portugol, o fluxograma e o programa em linguagem de programao C. A questo 48 vale 25% da lista.

1. Um banco conceder um crdito especial aos seus clientes, varivel com o saldo mdio no ltimo ano. Faa um programa que leia o saldo mdio de um cliente e calcule o valor do crdito de acordo com a tabela abaixo. Mostre uma mensagem informando o saldo mdio e o valor do crdito. Saldo mdio (R$) de 0 a 200,00 de 201 a 400,00 de 401 a 600,00 acima de 601,00 Percentual nenhum crdito 20% do valor do saldo mdio 30% do valor do saldo mdio 40% do valor do saldo mdio

2. Um usurio deseja um programa onde possa escolher que tipo de mdia deseja calcular a partir de 3 notas. Faa um programa que leia as notas, a opo escolhida pelo usurio e calcule a mdia. Aritmtica

A = (X1+X2+X3+...+Xn)/n Ponderada (3,3,4)

P = (p1*X1 + p2*X2 + p3*X3+...+pn*Xn)/(p1+p2+p2+...+pn) Harmnica

H = n/( (1/X1) + (1/X2) + (1/X3) + ... + (1/Xn) )

3. Escreva um programa que leia uma data (dia, ms e ano, separadamente) e imprime se a data vlida ou no. 4. Escreva um programa que leia uma data no formado ddmmaaaa e imprime se a data vlida ou no. 5. Escreva um programa que leia um ngulo entre 0 e 360 graus e imprima na tela do computador em que quadrante esse ngulo se encontra. A equao para calcular o ndice de Massa Corporal IMC = massa / (altura)2. Escreva um programa que solicita ao usurio o valor de sua massa (em kg) e de sua altura (em m), alm do sexo, e calcula o ndice de massa corporal correspondente. O programa ainda deve imprimir na tela do computador uma mensagem de acordo com

6.

a tabela abaixo: IMC em Mulheres< 19,1 19,1 - 25,8 25,8 - 27,3 27,3 - 32,3 > 32,3

Condioabaixo do peso no peso normal marginalmente acima do peso acima do peso ideal obeso

IMC em Homens< 20,7 20,7 - 26,4 26,4 - 27,8 27,8 - 31,1 > 31,1

7. A prefeitura da cidade abriu uma linha de crdito para os funcionrios estatutrios. O valor mximo da prestao no poder ultrapassar 30% do salrio bruto. Fazer um programa que permita entrar com o salrio bruto e o valor da prestao e informa se o emprstimo pode ou no ser concedido. 8. Baseado no ano e peso do modelo de um automvel, um certo estado determina a sua classe de peso e taxa de registro usando a seguinte tabela:

9. Escreva um programa que solicita ao usurio sua data de nascimento e a data atual, mostrando em seguida a idade do usurio na tela do computador. 10. Escreva uma programa que solicita ao usurio trs nmeros, a, b e c e os imprime em rdem crescente. 11. Escreva um programa de que exibe uma tabela de converso de polegadas em centmetros, variando as polegadas de 0 a 10 de meio em meio. [Dica: 1 2,54 cm.] 12. Usando um comando de repetio, criar um programa que permita entrar com cinco nmeros e imprima o quadrado de cada nmero lido, caso o nmero lido seja mpar e a raiz quadrada, caso o nmero seja par. 13. Fazer um programa que imprima todos os nmeros pares no intervalo 1-100. 14. Fazer um programa que imprima todos os nmeros de 100 at 1. 15. Escreva um programa que dados um nmero real x e um natural n, exiba a potncia xn.[Ateno: essa operao deve ser implementada por meio de multiplicaes sucessivas. O aluno no deve usar a funo pow.] 16. Escreva um programa que dados um nmero natural n, exiba seu fatorial n!.

17. O quadrado de um nmero natural n dado pela soma dos n primeiros nmeros mpares consecutivos. Por exemplo, 12=1, 22=1+3, 32=1+3+5, 42=1+3+5+7, etc. Escreva um programa que dado um nmero n, calcule seu quadrado usando a soma de mpares ao invs de produto. 18. O cubo de um nmero natural n dado pela soma dos n nmeros mpares quen 1

sucedem os

ii =0

primeiros nmeros mpares. Por exemplo, 43 = 13+15+17+19 =3

64. Ou seja, se n = 4,

i =6. Ou seja, descarta-se os 6 primeiros nmeros mparesi =0

(1, 3, 5, 7, 9, 11) e soma-se o 4 prximos nmeros mpares (13, 15, 17, 19). Escreva um programa que solicita um nmero natural ao usurio e calcula o cubo desse nmero a partir do algoritmo descrito acima. 19. A srie de Fibonacci 1, 1, 2, 3, 5, 8, 13, 21, 34, 55,... Os dois primeiros termos so iguais a 1 e, a partir do terceiro, o termo dado pela soma dos dois termos anteriores. Escreva um programa que dado um nmero n3, exiba o n-simo termo da srie de Fibonacci. 20. Escreva um programa que implemente o Jogo de Adivinhar. O computador deve solicitar a um usurio um nmero inteiro entre 0 e 10000, chamado de nmero secreto. Logo em seguida o computador pergunta a um segundo usurio, que no viu o que o primeiro digitou, que adivinhe o nmero. Se o nmero fornecido for maior que o nmero secreto, o computador deve indicar isso na tela. O mesmo procedimento deve ser adotado caso o nmero seja menor. O computador continua perguntando at que o segundo usurio adivinhe o nmero. Ao ser descoberto o nmero secreto, o computador mostra uma mensagem na tela, indicando a vitria, bem como o nmero de chutes realizados pelo segundo usurio. 21. Elaborar um programa que: a) Calcule e escreva o valor da srie abaixo com preciso menor que 0,00001. b) Indique quantos termos foram usados.

S = 63 +

61 59 57 + + + ... 1! 2! 3!

22. Uma empresa decidiu fazer um levantamento em relao aos candidatos que se apresentarem para preenchimento de vagas no seu quadro de funcionrios, utilizando processamento eletrnico. Supondo que voc seja o programador encarregado desse levantamento, fazer um programa que: leia um conjunto de dados para cada candidato contendo: a) nmero de inscrio do candidato, b) idade, c) sexo (masculino, feminino), d) experincia no servio (sim ou no). O ltimo conjunto contm o nmero de inscrio do candidato igual a zero. Calcule: a) o nmero de candidatos do sexo feminino, b) o nmero de candidatos do sexo masculino, c) idade mdia dos homens que j tm experincia no servio, d) porcentagem dos homens com mais de 45 anos entre o total de homens,

e) nmero de mulheres que tm idade inferior a 35 anos e com experincia no servio, f) a menor idade entre mulheres que j tm experincia no servio. Escreva: a) o que foi calculado em cada item acima especificado. 23. Para um polgono regular inscrito numa circunferncia, quanto maior o nmero de lados do polgono, mais seu permetro se aproxima do comprimento da circunferncia. Se o nmero de lados for muito grande e o raio da circunferncia for unitrio, o semipermetro do polgono ter um valor muito prximo de a . Fazer um programa que escreva uma tabela do semiperimetro em funo do nmero de lados, para polgonos regulares inscritos, numa circunferncia de raio unitrio. O nmero de lados dever variar de 5 a 100 de 5 em 5.

24. Fazer um programa para calcular a raiz quadrada de um nmero positivo, usando o roteiro abaixo, baseado no mtodo de aproximaes sucessivas de Newton. Seja Y o nmero, a primeira aproximao para a raiz quadrada de Y :

X1 = as sucessivas aproximaes sero:2

Y . 2

X n+1 =

Xn +Y . 2X n

O programa dever prever 20 aproximaes.

25. Dizemos que um nmero inteiro positivo p primo quando p possui exatamente quatro divisores. Assim, o nmero 7, por exemplo, primo, pois seus nicos divisores so -7, -1, 1 e 7. Para verificarmos se um nmero n primo, tomamos n e tentamos dividi-lo por cada um dos nmeros inteiros de 2 a n-1. Se nenhuma dessas divises exata, ento n um nmero primo e finalizamos o processo. Caso contrrio, um divisor de n encontrado, revelando que n no primo. H, porm, um mtodo mais rpido para verificarmos se n primo ou no. Na verdade no precisamos proceder s tentativas de dividir n por nmeros inteiros de 2 a n-1, basta que faamos isso at chegarmos ao maior nmero inteiro menor que n . Por exemplo, ao tentarmos verificar se o nmero 127 primo, em vez de tentarmos dividi-lo por todos os nmeros de 2 a 126, basta dividi-lo pelos nmeros inteiros de 2 a 11 [1]. Sendo assim: a) Escreva um programa em linguagem C que verifica se um determinado nmero inteiro positivo primo ou no usando o crivo acima descrito. Imprimir inicialmente uma tela de entrada:

*********************************** TESTE DE PRIMALIDADE ***********************************a.1) Dever ser mostrada na tela a mensagem Digite um valor inteiro positivo:

para que o usurio entre com o valor a ser testado, da seguinte forma:

Digite um valor inteiro positivo:Uma varivel valor dever receber o nmero digitado. a.2) O programa dever ento verificar se o valor digitado primo ou no. Para isso, dever: Calcular a raiz do valor digitado e extrair a parte inteira [2, 3]. Montar um lao para dividir valor pela varivel divisor = 2, 3, 4, ..., n . Se o contedo da varivel valor for divisvel [4] por pelo menos um dos valores que a varivel divisor receber, ento finalizar o lao [5] e mostrar a mensagem:

O valor digitado no eh primo.

Seno, se o lao chegar ao final e no for encontrado nenhum divisor de n, ento n primo e dever ser mostrada a mensagem:

O valor digitado eh primoExemplo:

*********************************** TESTE DE PRIMALIDADE *********************************** Digite um valor inteiro positivo: 4 O valor digitado nao eh primoOutro exemplo:

*********************************** TESTE DE PRIMALIDADE *********************************** Digite um valor inteiro positivo: 5 O valor digitado eh primob) Teste se os seguintes valores so primos: b.1) b.2) b.3) b.4) 229 1223 481 4097

c) Aperfeioe o programa para ter a capacidade de avaliar mais de uma entrada do usurio sem sair do programa. Para isso, acrescente no pedido de entrada do valor para usurio a seguinte mensagem:

Digite um valor inteiro positivo (para sair, digite '-1'): .Esta mensagem dever aparecer enquanto o usurio no digitar o valor de entrada -1. Se o valor de entrada for -1 o programa no dever realizar qualquer outra solicitao. O restante do programa permanece com a mesma estrutura.

Exemplo:

*********************************** TESTE DE PRIMALIDADE *********************************** Digite um valor inteiro positivo(para O valor digitado eh primo Digite um valor inteiro positivo(para O valor digitado nao eh primo Digite um valor inteiro positivo(para O valor digitado eh primo Digite um valor inteiro positivo(para O valor digitado nao eh primo Digite um valor inteiro positivo(para *********************************** FIM DO TESTE DE PRIMALIDADE ***********************************Outro exemplo:

sair,digite '-1'):5 sair,digite '-1'):4 sair,digite '-1'):13 sair,digite '-1'):72 sair,digite '-1'):-1

*********************************** TESTE DE PRIMALIDADE *********************************** Digite um valor inteiro positivo(para sair,digite '-1'):-1 *********************************** FIM DO TESTE DE PRIMALIDADE ***********************************26. Escreva um programa que solicite ao usurio trs nmeros inteiros a, b e c, em que a seja maior do que 1. Seu programa deve somar todos os inteiros entre b e c que sejam divisveis por a. 27. Escreva um programa para ler um vetor de 12 posies do tipo float. Em seguida, deve ler tambm dois ndices inteiros i e j, com j > i ( i