Enunciado

Considere uma máquina cujo sistema de representação de números é definido por:

β = 10 ,   t = 4 , l = - 5   e   u = 5 . Pede-se:

  1. qual o menor e o maior número em módulo representados nesta máquina?
  2. como será representado o número 73.758 nesta máquina, se for usado o arredondamento? E se for usado o truncamento?
  3. se a= 42450 e b = 3 qual o resultado de a+ b?
  4. qual o resultado da soma
  5. S = 42450 + ∑ k = 1 10 3

    nesta máquina?

  6. idem para a soma:
  7. S = ∑ k = 1 10 3 + 42450

    (Obviamente o resultado deveria ser o mesmo. Contudo, as operações devem ser realizadas na ordem em que aparecem as parcelas, o que conduzirá a resultados distintos).

  8. o resultado da operação: wz/t pode ser obtido de várias maneiras, bastando modificar a ordem em que os cáLculos são efetuados. Para determinados valores de w, z e t, uma seqüência de cálculos pode ser melhor que outra. Faça uma anáLise para o caso em que w = 100. z = 3500 e t = 7.

Passo 1

letra a:

Vamo lá, a gente sabe que:

β = 10 ,   t = 4 , l = - 5   e   u = 5

então o menor número a ser representado por:

m e n o r   =   0.1000 × 1 0 - 5

e o maior número vai ser representado por:

m a i o r   =   0.9999 × 1 0 5

Passo 2

letra b:

Então, temos o número 73.758

A primeira coisa que teríamos que fazer é alinhar os pontos decimais, ficaria então

0.73758 × 1 0 2

O problema é que essa máquina só suporta quatro dígitos, então arredondando, ficaria:

a r r e d o n d a m e n t o =   0.7376 × 1 0 2

Já para truncar, teríamos que remover a parte depois do 4º dígito.

t r u n c a m e n t o = 0.7375 × 1 0 2

Passo 3

letra c:

temos que a = 42450 e b = 3

A primeira coisa que temos que fazer é alinhar os pontos decimais, então:

a = 0.42450 × 1 0 5

b = 0.00003

Agora é só somar

a + b = 0.42450 × 1 0 5 + 0.00003 × 1 0 5 = 0.42453 × 1 0 5

Como o resultado deve ser armazenado com apenas quatro dígitos, poderíamos arredondar ou truncar, no caso o resultado seria o mesmo, de:

a + b = 0.4245 × 1 0 5

Passo 4

letra d:

Vamos lá a soma é essa daqui

S = 42450 + ∑ k = 1 10 3

então começaremos com 42450 + 3 , mas pera aí…

se fizermos que a = 42450 e b = 3

A primeira coisa que temos que fazer é alinhar os pontos decimais, então:

a = 0.42450 × 1 0 5

b = 0.00003

Agora é só somar

a + b = 0.42450 × 1 0 5 + 0.00003 × 1 0 5 = 0.42453 × 1 0 5

Como o resultado deve ser armazenado com apenas quatro dígitos, poderíamos arredondar ou truncar, no caso o resultado seria o mesmo, de:

a + b = 0.4245 × 1 0 5

então se continuarmos somando, podemos ver que o valor dessa soma final vai ser sempre o mesmo!

S = 0.4245 × 1 0 5

Passo 5

letra e:

Agora as coisas mudam um pouco, começaremos fazendo a seguinte soma:

∑ k = 1 10 3 = 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3 + 3

começamos como sempre, alinhando os pontos decimais…

A primeira soma fica:

0.3 × 10 + 0.3 × 10 = 0.6 × 10

O número vai ser armazenado com 4 dígitos na mantissa, assim:

0.6000 × 1 0 1

Agora vamos fazer um pouco mais rápido pra não ficar enrolado:

0.6000 × 1 0 1 + 0.3000 × 1 0 1 = 0.9000 × 1 0 1 , como o resultado dessa soma em específico vai se manter sempre dentro da distância de quatro dígitos, em relação a cada termo 3 , podemos pular essa parte e verificar que, ∑ k = 1 10 3 = 0.3000 × 1 0 2 .

Agora precisamos somar com 42450, vamos já deixar na forma bonitinha, com todos os pontos alinhados e já na forma que o número é armazenado, com 4 dígitos na mantissa.

S = 0.3000 × 1 0 2 + 0.4245 × 1 0 5

Agora é só alinhar as casas decimais…

S = 0.0003 × 1 0 5 + 0.4245 × 1 0 5 = 0.4248 × 1 0 5

Passo 6

Letra f:

Vamos lá, temos que resolver isso daqui:

w z t

No caso a gente tem duas operações, podemos resolver isso de três formas diferentes:

( w z ) t , w ( z t ) o u   z ( w t )

Não tá vendo diferença? TEM DIFERENÇA SIM!

No primeiro caso, a gente multiplica em cima primeiro e depois divide, enquanto que no segundo dividimos z por t primeiro e depois multiplicamos por w . No terceiro caso, dividimos w por t e depois de tudo isso, multiplicamos por z .

Vamos ver o primeiro caso ( w z ) t .

Primeiro vamos multiplicar w   p o r   z , deixando tudo no formato bonitinho…

( w z ) = 0.1000 × 1 0 3 × 0.3500 × 1 0 4 = 0.035 × 1 0 7

Quando esse número for armazenado, ( w z ) = 0.35 × 1 0 6 , mas pera aí!!!!!!!!!

o expoente do ( w z )   ultrapassa o valor máximo de armazenamento… ISSO DEU OVERFLOW!

Então, nesse sistema, fazer a operação nessa ordem DA PANE NO SISTEMA, o sistema provavelmente retornaria um erro de overflow.

Enfim, continuando nossa análise.

Para o caso em que w ( z t ) , temos que resolver ( z t ) primeiro…

( z t ) = 0.3500 × 1 0 4 0.7 × 1 0 1 = 0.3500 × 1 0 4 0.0007 × 1 0 4 = 0.5000 × 1 0 3

Agora, vamos multiplicar w ( z t ) :

w ( z t ) = 0.1000 × 1 0 3 × 0.5000 × 1 0 3 = 0.5 × 1 0 5

Ou seja, menor que o valor mínimo de overflow e com erro nulo!!

Para o caso em que z ( w t ) , temos que resolver ( w t ) primeiro…

( w t ) = 0.1000 × 1 0 3 0.7 × 1 0 1 = 0.1000 × 1 0 3 0.007 × 1 0 3 = 0.1428571428571429 × 1 0 2

Agora chegamos em uma bifurcação, ou o sistema vai truncar, ou ele vai arredondar, vamos analisar os dois casos:

( w t ) t r u n c a m e n t o = 0.1428 × 1 0 2

( w t ) a r r e d o n d a m e n t o = 0.1429 × 1 0 2

Agora, vamos multiplicar z ( w t ) :

z ( w t ) t r u n c a m e n t o = 0.35 × 1 0 4 × 0.1428 × 1 0 2 = 0.35 × 1 0 4 × 0.001428 × 1 0 4 = 0.4998 × 1 0 5

z ( w t ) a r r e d o n d a m e n t o = 0.35 × 1 0 4 × 0.1429 × 1 0 2 = 0.35 × 1 0 4 × 0.001428 × 1 0 4 = 0.50015 × 1 0 5

= 0.5002 × 1 0 5

Vai ter um erro de 0.04% seja por arredondamento ou truncamento.

Dessa maneira, é possível observar que a conta pode ser feita na ordem w ( z t ) com erro nulo e z ( w t ) com erro de 0.04%, mas a multiplicação ( w z ) impede a execução da ordem ( w z ) t por overflow!

Resposta

  1. m e n o r   =   0.1000 × 1 0 - 5
  2. m a i o r   =   0.9999 × 1 0 5

  3. a r r e d o n d a m e n t o =   0.7376 × 1 0 2
  4. t r u n c a m e n t o = 0.7375 × 1 0 2

  5. a + b = 0.4245 × 1 0 5
  6. S = 0.4245 × 1 0 5
  7. S = 0.4248 × 1 0 5
  8. A conta pode ser feita na ordem w ( z t ) com erro nulo e z ( w t ) com erro de 0.04%, mas a multiplicação ( w z ) impede a execução da ordem ( w z ) t por overflow!
Ver Outros Exercícios desse livro

Exercícios de Livros Relacionados

Escreva um programa em alguma linguagem para obter o resultado da seguinte operação: S = 10000 - ∑ k = 1 n x para: a) n=10000 e x= 0.1; b)n=80000 e x=0.125.
Usando arredondamento, a cada operação efetuada, calcule: ∑ 𝑖 = 1 𝑛 𝑖 2 −   ∑ 𝑖 = 2 𝑛 𝑖 2 = 1   ,Somando os termos em:a) Ordem decrescenteConsidere n = 100. Os valores obtidos são iguais?
Deseja-se calcular e - 0,15 . a) obtenha através de uma calculadora o valor exato de e - 0,15 . b) considere o sistema F ( 10 ,5 ,10 ,10 ) e a série truncada em 25 termos. Calcule:b1) e - 0,15 b2) 1 e
Se a , bec são reais e a ≠ 0 então a equação a x 2 + b x + c = 0 É satisfeita para exatamente dos valores de x : ( I ) x 1 = - b + b 2 - 4 a c a x 2 = - b - b 2 - a c 2 a Entretanto, desde que, a x 2