Você está na página 1de 9

UNIVERSIDADE FEDERAL DO AMAZONAS - UFAM INSTITUTO DE CIENCIAS EXATAS - ICE

C alculo Num erico Primeira lista de Exerc cios

Vanessa Souza dos Santos

Manaus 2011

1a lista de exerc cios


Quest ao 1 Converter os seguintes n umeros bin arios para a base decimal: (a) (101)2 Solu c ao (101)2 = 1 (2)2 + 0 (2)1 + 1 (2)0 = 5 (b) (100111)2 Solu c ao (100111)2 = 1 (2)5 + 0 (2)4 + 0 (2)3 + 1 (2)2 + 1 (2)1 + 1 (2)0 = 39 (c) (101.01)2 Solu c ao (101.01)2 = 1 (2)2 + 0 (2)1 + 1 (2)0 + 0 (2)1 + 1 (2)2 = 4 + 1 + (d) (100111.101)2 Solu c ao (101.01)2 = 1 (2)5 + 0 (2)4 + 0 (2)3 + 1 (2)2 + 1 (2)1 + 1 (2)0 + 1 (2)1 + 0 (2)2 + 1 (2)3 = 32 + 4 + 2 + 1 + 0, 5 + 0, 125 = 39, 625 Quest ao 2 Converter os seguintes n umeros decimais para a base bin aria (converter a parte fracion aria at e no m aximo 5 casas decimais). (a) (101)10 Solu c ao 101 1 2 50 2 0 25 2 1 12 0
1 4

= 5, 25

2 6 0

2 3 1

2 1

(101)10 = (1100101)2 (b) (325)10 Solu c ao

325 1

2 162 2 0 81 1

2 40 2 0 20 0

2 10 0

2 5 1

2 2 2 0 1

(325)10 = (101000101)2 (c) (101, 5)10 Solu c ao Parte inteira 101 1 2 50 2 0 25 2 1 12 0

2 6 0

2 3 1

2 1

Parte fracion aria: 0, 5 2 = 1, 00 (101, 5)10 = 1100101, 1 (d) (12, 245)10 Solu c ao Parte inteira: 12 2 0 6 2 (12)10 = 1100 0 3 2 1 1 Parte Fracion aria: 0, 245 2 = 0, 49 0, 49 2 = 0, 98 0, 98 2 = 1, 96 0, 96 2 = 1, 92 0, 92 2 = 1, 84

0, 24510 = 00111 . . . (12, 245)10 = 1100, 0011 Quest ao 3 Efetuar as seguintes opera c oes bin arias: (a) (101)2 + (11)2 Solu c ao Sabe-se que 1 + 1 = 10, 1 + 0 = 1 e 1 + 1 + 1 = 11
1 1

0 1 + 1 1 1 0 0 0 (101)2 + (11)2 = (1000)2 (b) (1011111101)2 + (10010011)2


1 1 1 1 1 1 1 1

0 1 1 1 1 1 1 0 1 + 1 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 0 0 (1011111101)2 + (10010011)2 = (1010010000)2 (c) (101)2 (11)2 Solu c ao 0 1 1 1 1 0 1 + 1 0 1 1 1 1 1 (101)2 (11)2 = (1111)2 (d) (1111)2 (1111)2 Solu c ao 1 1 1 1 1 1 1 1 1 1 + 1 1 1 1 1 0 1 1 0 1 1 1 1 1

(1111)2 (1111)2 = (101101)2

Quest ao 4 Considere o seguinte computador hipot etico com dois d gitos (p = 2), base B = 10 e expoente na faixa 5 e 5. Logo temos .d1d2 10e. Represente os seguintes n umeros neste computador. Indique quando houver overow ou underow. (a) 4, 32 Solu c ao 4, 32 = .43 101 (b) 0, 064 Solu c ao 0, 064 = .64 101 (c) 371 Solu c ao 371 = .371 103 (d) 0, 00183 Solu c ao 0, 00183 = .183 102 (e) 0, 00000012 Solu c ao 0, 00000012 = .12 106 emin = 5 (f) 123456 Solu c ao 123456 = .123456 106

indica underow, pois o expoente e est a fora do limite

indica overow, pois o expoente e est a fora do limite emax = 5

Quest ao 5 Efetuar as seguintes opera c oes de ponto utuante e calcular os erros absoluto e relativo para cada uma delas. Identicar se em algum dos casos ocorre overow ou underow. Considere a mesma m aquina do exemplo anterior.Considere que nas opera c oes de soma e subtra c ao voc e tem 4 d gitos para armazenar temporariamente o resultados e os n umeros APOS a convers ao de base necess arias nas opera c oes e para a opera c ao de multiplica c ao voc e tem 4 d gitos para armazenar os resultados. N ao esque ca de colocar os resultados na forma .d1d2 10e. (a) 282 + 0, 00004 Solu c ao 282 + 0, 00004 = .282 103 + .4 104 = .282 103 + .00000004 103 = .28200004 103 (b) 345 344 Solu c ao 345 344 = .345 103 .344 103 = .001 103 (c) 2345 0, 025 Solu c ao 2345 0, 025 = .2345 104 .25 101 = (.2345 .25) 104+(1) = .058625 103 = .58625 102 = .5863 102

(d) 456 5930 Solu c ao 456 5930 = .456 103 .593 104 = (.456 .593) 103+4 = .270408 107 = .2704 107 (e) 0, 002 250 Solu c ao 0, 002 250 = .2 102 .25 103 = (.2 .25) 1023 = .8 105 = .0000 (f) 0, 0050 8000 Solu c ao 0, 0050 8000 = .50 102 .8 104 = (.5 .8) 1024 = .625 106 underow, pois o expoente e est a fora do limite emin = 5

indica

Quest ao 6 Em um campeonato de futebol de pontos corridos cada vit oria vale tr es pontos e cada empate 1. Elabore um algoritmo que calcule quantos pontos um time tem e qual o seu aproveitamento no campeonato (pontos obtidos em fun c ao dos pontos disputados). Solu c ao Nessa quest ao e nas proximas, ser a usado o software R, que tem interface com a linguagem C. O software R n ao precisa declarar vari aveis, por em vou adicionar antes da execu ca o verdadeira no programa. No lugar da linguagem em portugol ler(variavel) vai ser gerado n umeros ou caracteres aleat orios, pelos comandos do pr oprio R, mas ao lado, nos coment arios, estar a a fun c ao scanf(vari avel).
In cio > #Vari aveis int: njogos,vitoria,empate,derrota,total,nvitorias,nempates,nderrotas; caracter: resultado float: aproveit #-----------------------------------------------------------------> njogos<-10 # n umero de partidas no campeonato > vitoria<-3 > empate<-1 > derrota<-0 > total<-0 #total de pontos > nvitorias<-0 #n umero de vitorias > nempates<-0 #n umero de empates > nderrotas<-0 #n umero de derrotas > for(i in 1:njogos){ + print("Informe o resultado do jogo") + resultado<-sample(c("vitoria","empate","derrota"),1) #scanf(resultado) + if(resultado=="vitoria"){ + total<-total+vitoria + nvitorias<-nvitorias+1 + }else if(resultado=="empate"){ + total<-total+empate + nempates<-nempates+1 + }else if(resultado=="derrota"){ + total<-total+derrota + nderrotas<-nderrotas+1 + } + }

> aproveit<-100*total/(njogos*vitoria) > print(total) #Total de pontos [1] 19 > print(aproveit) # aproveitamento [1] 63.33333 > print(nvitorias) #N umero de vit orias [1] 5 > print(nempates) #N umero de Empates [1] 4 > print(nderrotas) #N umero de Derrotas [1] 1 Fim

Quest ao 7 Fa ca um algoritmo que receba o valor de 1 carro e a forma de pagamento ( V a vista e P ` ` a prazo), calcule e mostre o pre co nal do carro, considerando o seguinte: (a) O pre co nal para compra ` a vista tem desconto de 20%; co nal para compra ` a prazo tem acr escimo sobre o valor do carro. (b) O pre Solu c ao In cio #Variaveis: int:desc; float:acresc,valor,pag; caracter: forma; print("Informe o valor e a forma de pagamento V-` a vista ou P-` a prazo") #-----------------------------------> desc<-20 > acresc<-5000 > valor<-round(runif(1,10000,300000),2) #scanf(valor) > forma<-sample(c("V","P"),1) #scanf(forma) > if(forma=="V"){ + pag<-valor-valor*(desc/100) + }else if(forma=="P"){ + pag<-valor+acresc + } > print(pag) #pre co final [1] 56234.05 Fim

Quest ao 8 Jo ao Papo-de-Pescador, homem de bem, comprou um microcomputador para controlar o rendimento di ario de seu trabalho. Toda vez que ele traz um peso de peixes maior que o estabelecido pelo regulamento de pesca do estado de S ao Paulo (50 quilos) deve pagar uma multa de R$ 4,00 por quilo excedente. Jo ao precisa que voc e fa ca um algoritmo o peso de peixes e verique se h a excesso. Se houver calcular e mostrar o valor do excesso e da multa que Jo ao dever a pagar. Caso contr ario escrever N ao haver a multa. Solu c ao Inicio #Variaveis: int:norma; float:peso; #-----------------------------------> norma<-50 > peso<-round(runif(1,40,60),0) #scanf(peso) > if(peso>norma){ + multa<-(peso-norma)*4 + print(multa) + }else if(peso<=norma){ + print("n~ ao h a multa") + } [1] 16 Fim Quest ao 9 Fa ca um algoritmo que determine o maior entre N n umeros. A condi c ao de parada e a entrada de um valor 0, ou seja, o algoritmo deve car calculando o maior at e que a entrada seja igual a 0 (ZERO). O algoritmo n ao deve aceitar n umeros negativos. Inicio int: N,valor,maior,numero,i,j,n vector:n[1...10] de inteiro N<-1000 #armazenar vari aveis em um vetor for(j in 1:N){ scanf(valor) if(valor>=0){ n[i]<-valor }else print("n umero inv alido") } #-----------------maior<-0 for(i in 1:N){ if(n[i]>maior){

maior<-n[i] } scanf(numero) if(numero==0){ interrompa } } print(maior) Fim Quest ao 10 Elabore um algoritmo que some os n umeros pares at e N. Inicio #Variaveis: int:soma,N,j; #-----------------------------------> soma<-0 > N<-20 > j<-0 > for(i in 1:N){ + j<-j+2 + soma<-soma+j + + } > print(soma) [1] 420 Fim