Buscar

erroscodeblock1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1) Precisão da Máquina
A precisão da máquina é definida como sendo o menor número positivo em aritmética de ponto flutuante ε, tal que (1+ ε) > 1. Este número depende totalmente do sistema de representação da máquina: base numérica, total de dígitos na mantissa, da forma como são realizadas as operações e do compilador utilizado. É importante conhecermos a precisão da máquina porque em vários algoritmos precisamos fornecer como dado de entrada um valor positivo, próximo de zero, para ser usado em testes de comparação como zero. 
	O algoritmo a seguir estima a precisão da máquina:
	Passo 1: 	A = 1;
			s = 2;
	Passo 2:	Enquanto (s)>1, faça:
			 A= A/2;
			 s= 1 + A;
	Passo 3:	Faça Prec = 2A e imprima Prec.
a) Teste este algoritmo escrevendo um programa usando uma linguagem conhecida. Declare as variáveis do programa em precisão simples e execute o programa; em seguida, declare as variáveis em precisão dupla e execute novamente o programa.
R: 
Precisão simples:
Precisão dupla:
b) Interprete o passo 3 do algoritmo, isto é, por que a aproximação para Prec é escolhida como sendo o dobro do último valor de A obtido no passo 2?
R: A precisão é dobrada pois o float conta com 6 ou 7 dígitos significativos enquanto double conta com 14 a 15 digitos significativos, sendo assim, o double também ocupa o dobro do espaço que o float, 32 bits a mais. 
c) Na definição de precisão da máquina, usamos como referência o número 1. No algoritmo a seguir, a variável VAL é um dado de entrada, escolhido pelo usuário:
	Passo 1: 	A = 1;
			s = VAL+A;
	Passo 2:	Enquanto (s)>VAL, faça:
				A= A/2;
				s= VAL + A;
	Passo 3:	Faça Prec = 2A e imprima Prec.
c.1) Teste seu programa atribuindo para VAL os números: 10, 100, 1000, 10000.
c.2) Para cada valor diferente para VAL, imprima o valor correspondente obtido para Prec. Justifique por que Prec se altera quando VAL é modificado.
2) Algumas operações do cálculo analítico podem não ser válida quando este cálculo é realizado pelo computador. Por exemplo, considere a igualdade das expressões abaixo:
Escreva um programa que calcule e exiba na tela cada lado da expressão para os seguintes valores:
a) n= 100000
ak= 0,25
N= 5
b) n= 100000
ak= 0,11
N= 5
Avalie e justifique os resultados obtidos.
R: Os resultados obtidos são ligeiramente diferentes, isto por quê: 
a) Não há uma função específica para a operação
b) A forma de arredondamento varia por causa do modo diferente de operação utilizado
c) As conversões de binário para decimal podem causar pequenas diferenças dependendo da precisão utilizada. (No caso, foi utilizado float, caso utilizássemos os double, teríamos um resultado ainda mais próximo)

Continue navegando