Você está na página 1de 4

Ministério da Educação

Universidade Tecnológica Federal do Paraná


Campus Campo Mourão
Wellington José Corrêa

1a¯ Lista de Cálculo Numérico


DAMAT, 2018
Nome:
Na maioria dos exercı́cios desta lista, o aluno terá que verificar suas respostas fazendo uso do software WxMa-
xima pelo arquivo basis conversion and floating point.wxm.

1 Calcule o erro absoluto e o erro relativo na aproximação de p por p∗ .

(a) p = π, p∗ = 22/7 (c) p = e10 , p∗ = 22 000

(b) p = e, p∗ = 2, 718 (d) p = 8!, p∗ = 39 900

Observação 0.1 Caso necessário, veja o vı́deo neste link para relembrar como escrever os números π e e na
linguagem do software.

2 Determine o maior intervalo no qual p∗ deve estar contido a fim de aproximar p com erro relativo de no
máximo 10−4 para cada valor de p.

(a) π (b) e

Sugestão: recorra a definição de módulo e depois use o software ou sua calculadora.

3 Efetue os cálculos abaixo (i) exatamente, (ii) usando aritmética de truncamento, com três algarismos, (iii)
usando aritmética de arredondamento com três algarismos e, (iv) calcule o erro relativo nas partes (ii) e (iii).
4 1 (c) 133+0,327
(a) +
5 3
22
π−
  (d) 7
1 3 3 1
(b) − +
3 11 20 7

4 Considere uma máquina cujo sistema de representação de números é definido por B = 10, p = 4 e e ∈ [−5, 5].

(a) Qual é o menor e o maior número em valor absoluto representados nesta máquina?

(b) Como será representado o número 73,758 nesta máquina, se for usado o arredondamento? E o truncamento?

(c) Se a = 42450 e b = 3, qual o resultado de a + b (lembre-se de escrever a e b na forma 0, d1 d2 d3 d4 × 10e ).

(d) Qual o resultado das somas


10
X 10
X
S1 = 42450 + 3 e S2 = 3 + 42450 .
k=1 k=1

Observação 0.2 Obviamente o resultado deveria ser o mesmo, isto é, S1 = S2 . Contudo, as operações devem
ser realizadas na ordem em que aparecem as parcelas, o que conduzirá a resultados distintos.

5 Converta os seguintes números decimais para sua forma binária

1
(a) (37)10 (b) (2345)10 (c) (0, 1217)10 (d) (25, 75)10

6 Converta os seguintes números binários para sua forma decimal:

(a) x = (101101)2 (b) (0, 1101)2 (c) (110101011)2 (d) (0, 111111101)2
√ √
7 Calcule 9876 − 9875 com dez casas decimais de precisão:

(a) pelo método usual;

(b) empregando a racionalização

(c) Calcule o erro relativo referente aos itens (a) e (b). Qual resultado foi melhor?

8 Temos a vı́vida lembrança que as raı́zes da equação de segundo grau a x2 + b x + c = 0 quando a 6= 0 são
√ √
−b + b2 − 4 a c −b − b2 − 4 a c
x1 = e x2 = . (1)
2a 2a
Considere a equação x2 + 62, 10 x + 1 = 0, cujas raı́zes são aproximadamente

x1 = −0, 01610723 e x2 = −62, 08390.

(a) Usando as fórmulas dadas em (1), usando a aritmética de arredondamento com quatro algarismos, obtenha
uma aproximação das raı́zes da equação dada.

(b) Calcule os erros relativos das raı́zes x1 e x2 obtidas no item (a). Qual destas raı́zes teve grande erro relativo?

(c) Considere a raiz que teve grande erro absoluto obtida no item anterior. Para obter uma aproximação mais
precisa desta, faça uma racionalização da raiz xi , i = 1, 2 dada em (1) e calcule o erro relativo.

9 Usando o sistema padrão IEEE 754, determine o equivalente decimal dos seguintes números de máquina em
ponto flutuante:

(a) 0 10000001010 1001001100000000000000000000000000000000000000000000

(b) 1 10000001010 1001001100000000000000000000000000000000000000000000

(c) 0 01111111111 0101001100000000000000000000000000000000000000000000

(d) 0 01111111111 0101001100000000000000000000000000000000000000000001

Os exercı́cios a seguir devem ser resolvidos com o auxı́lio do software WxMaxima.

Observação 0.3 (Importante!) Na entrega da APS, os alunos devem salvar os comandos e resultados obtidos
pelo software (worksheet) na extensão “.wxmx” (Arquivo/Salvar como/Whole document(*.wxmx)). Ao começar a
resolver os exercı́cios abaixo pelo software, faça os seguintes procedimento:

(a) Carregue o pacote “floating point.mac” (Arquivo/Carregar Pacote - busque o arquivo “floating point.mac”aonde
você salvou em seu computador).

(b) Em Célula/Inserir célula de texto, digite o número do exercı́cio que irá resolver.
(c) Inicie o exercı́cio pondo o comando start(a)$ e só depois siga as instruções dadas em cada exercı́cio. Os
exercı́cios que não tiverem o comando start(a)$, não serão considerados na correção.

10 Resolva novamente os exercı́cios 1, 5 e 6 recorrendo ao arquivo basis conversion and floating point.wxm.

11 (Precisão da Máquina) A precisão de 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, forma como são realizadas as operações e do compilador utilizado. É importante conhecermos a
precisão de 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 com zero.

(a) Use o procedimento


eps:1.0$
while eps+1.0 > 1.0 do (eps:eps/2)$
print(’epsilon=epsilon:eps)$
para que o WxMaxima exiba a precisão de qualquer sistema computacional.

(b) Pelo padrão IEEE 754, um número é representado por

(−1)s 2c−1023 (1 + f ) .

Que valor encontra-se para s = 0, c = 1 e f = 0?

(c) Descubra qual o valor de t tal que 2t = ε.

(d) Sabemos que zero é o elemento neutro da adição (0+a=a). Por isso, use o comando is(epsilon + 1.0 = 1.0);
para responder a seguinte pergunta: “A máquina acha que ε = 0?”

(e) O maior número que representável pela máquina é dado pelo comando max : (2 − epsilon) ∗ 21023 ; Para se
certificar disso, não deve haver nenhum número na máquina que supere-o. Use o comando is(max+1.0 > max);
para verificar isso.

12 O termo “googol” O termo ”googol”, que significa 10100 , foi inventado em 1938 por um menino de 9 anos,
sobrinho do matemático americano Edward Kasner, que introduziram este conceito em seu livro “Matemática e
da Imaginação”. O “Google”foi assim chamado por causa desta questão.
Calcule um número natural n tal que

(n − 1)! < googol < n!,

primeiro por tentativa e erro e depois recorra a uma rotina do WxMaxima. (use a função return(i)).
Sugestão: defina a variável no software WxMaxima como

googol : 10ˆ100$

e em seguida, utilize a função is com valores distintos de n, mediante tentativa e erro, encontre um número natural
que satisfaça a desigualdade anterior. Por exemplo, se tomarmos n = 2, o comando is(1! < googol and googol < 2!)
retornará false, como é de se esperar.
13 Observe a seguinte identidade:
(1 + x) − 1
f (x) = = 1.
x
Calcule o valor da expressão à esquerda para x = 10−12 , x = 10−13 , x = 10−14 , x = 10−15 , x = 10−16 e x = 10−17 .
O que acontece quando x se aproxima da precisão da máquina ε?

14 Nos itens a seguir, o aluno deve usar o software WxMaxima, tendo como base o arquivo “intro.wxm”, na
seção programação ou o seguinte link .

(a) Calcule a soma dos 100 primeiros números naturais.

(b) Calcule a soma de 1 + 2! + 3! + . . . + 20! Listar todos os números primos do intervalo [1000000, 1000200]. Para
isso, utilizamos a função primep(i) que é verdadeira (true) somente se i for primo e a função display(i) exibe
somente os primos no intervalo dado.

15 Faça o que se pede:

(a) O comando L: makelist(expressão, n, x0 , xn ) cria uma lista {x0 , x1 , . . . , xn } para uma dada expressão. Do
exposto, crie uma lista para a expressão 2 · n − 1, n = 1, . . . , 26. Finalmente, plote esta lista por meio do
comando:
plot2d ([discrete, L], [box, false], grid2d, [yx ratio, 1], [axes, solid],[style,points], [title, ”Lista”])$

(b) Suponha que coelhos vivam para sempre e que a cada mês cada par produza um novo par, que se torna produ-
tivo com 2 meses de idade. Uma pergunta natural que surge é que se começarmos com um par recém-nascido,
quantos pares de coelhos teremos no n-ésimo mês?

A sequência que responde esta questão é dada por 1, 1, 2, 3, 5, 8, 13, 21,... cujo nome é Sequência de
Fibonacci em homenagem a Leonardo (“Fibonacci”) de Pisa (1170 - 1250). Essa sequência tem a propriedade
de, começando com dois “1”, cada termo é a soma dos dois precedentes. Denotando a sequência por {fn } e
começando por 1, pode-se demonstrar que a sequência de Fibonacci é

fn = fn−2 + fn−1 , se n ≥ 3.

(a) Revisitando o arquivo “intro.”, na seção programação, obtenha a sequência dos vinte primeiros termos da
sequência de Fibonacci do tipo “for n: “valor 1” thru “valor 2”do.
(b) Obtenha a sequência de Fibonacci usando agora o comando makelist. Use o comando do exercı́cio a para
plotar o gráfico desta sequência.
fi
(c) A partir da sequência de Fibonacci fn , defina Fi := fi−1 . Revisitando o arquivo “intro.”, na seção pro-
gramação, obtenha a sequência dos vinte primeiros termos para Fi do tipo “for n: “valor 1” thru “valor
2”do.
Para qual valor esta sequência converge? Esta situação mostra como a Matemática é maravilhosa! Como
conceitos distintos e aparentemente desconexos, possuem relação entre si.

Embora essa sequência tenha surgido de um problema aritmético inventado por Leonardo, aparentemente sem
qualquer vinculação com algo que ele tivesse observado a sua volta, constatou-se mais tarde que parte dela, por
exemplo, 8, 13, 21, 34, 55, 89, aparecem nas quantidades de pétalas das camadas sucessivas de flores como a
margarida, a dália ou o girassol (e em outros padrões encontráveis em seres vivos).

Sucesso!!!