Você está na página 1de 2

UNIVERSIDADE FEDERAL DE ALAGOAS

CAMPUS DO SERTO
EIXO DE TECNOLOGIA
DISCIPLINA: CLCULO NUMRICO

Projeto 1: Preciso da Mquina, Sistemas de Numerao e Erros Numricos

1. Em muitos algoritmos precisamos fornecer como um dado de entrada um valor positivo,


prximo de zero, para ser usado como tolerncia ou valor aceitvel em testes de comparao
usados na busca da soluo de um problema numrico. A preciso da mquina o menor
valor positivo em aritmtica de ponto flutuante que se pode representar. Este nmero depende
fortemente do sistema de representao de mquina: base numrica, nmero de dgitos na
mantissa, da forma como so realizadas as operaes, e do compilador utilizado. Com
auxlio do algoritmo abaixo possvel calcular a preciso da mquina e o nmero de dgitos
com que uma mquina trabalha.

Algoritmo: Preciso da Mquina


1. a = 1; b = 2;
2. digitos = 0;
3. Enquanto (b > 1) faa
4. a = a/2;
5. b = a + 1;
6. digitos = digitos + 1;
7. Fim_Enquanto
8. prec = 2*a;
9. imprima prec, digitos.

Implemente o algoritmo acima em linguagem de programao Matlab, obedecendo os


critrios abaixo:
O algoritmo deve imprimir na tela a preciso da mquina e o nmero de dgitos com
que ela trabalha. Neste ltimo, deve-se lembrar que um dgito utilizado para
armazenar o sinal do nmero;
Justifique por que a aproximao para a preciso da mquina escolhida como o
dobro do ltimo valor de a obtida no passo 8;
Compare o valor da preciso obtido com o algoritmo acima com a funo pr-definida
do FreeMat eps.
Salvar o algoritmo com o nome: precisao.m;

2. Implementar algoritmos em linguagem Matlab para fazer a converso de nmeros entre os


sistemas:
Binrio para decimal;
Decimal para binrio.

Os algoritmos devem ser salvos como: bindec.m, no primeiro caso e, decbin.m no


segundo caso. Devem receber como argumento de entrada o nmero em uma base e retornar o
nmero na outra base. Comentar todas as etapas do cdigo.
Obs.: o algoritmo para converso de um nmero no sistema decimal para binrio deve ser
robusto, ou seja, deve fazer a converso caso o usurio fornea um nmero real qualquer.
UNIVERSIDADE FEDERAL DE ALAGOAS
CAMPUS DO SERTO
EIXO DE TECNOLOGIA
DISCIPLINA: CLCULO NUMRICO

Para tanto, dispe-se da seguinte funo para fazer a sepao da parte inteira da parte
fracionria de um nmero real qualquer:

Algoritmo: Separao da parte inteira da parte fracionria de um nmero real


function [int,frac] = intfrac(num)
% parmetro de entrada ==> num: nmero qualquer
% parmetros de sada ==> int: parte inteira do nmero
% ==> frac: parte fracionria do nmero
% objetivo: separao das partes inteira e fracionria de um nmero
% autor: Prof. Arnaldo dos Santos Jnior

% determinao do menor inteiro para o nmero dado:


int = floor(num);

% determinao da parte fracionria do nmero:


frac = num - int;

3. Faa a converso entre os sistemas de representao numrica e quando possvel utilize os


algoritmos implementados na questo anterior para conferir os resultados:

a) (346)10 para base 2


b) (0,654)10 para base 2
c) (78,10)10 para base 2
d) (110101011)2 para base 10

4. Para o modelo matemtico do pndulo simples, a equao para calcular o perodo de


oscilao dada por:
L
T 2
g

onde g = 9,81m/s2 e = 3,14, sabendo-se que o perodo T foi medido em um cronmetro com
preciso de dcimo de segundo e teve valor igual a 2,2 segundos. Determinar a faixa de
variao da medida L considerando que o cronmetro tenha utilizado:
a) Arredondamento
b) Truncamento

Recomendaes:
O projeto deve ser feito em grupos de exatamente 3 integrantes.
Apresentar os resultados na forma de um relatrio, explicando como foram obtidos e com uma
detalhada anlise dos mesmos. Este relatrio tambm deve conter o cdigo fonte (algoritmos). Os
arquivos com os cdigos fonte devem ser entregues ao Professor.

Você também pode gostar