CÁLCULO NUMÉRICO (CN)

Documentos relacionados
CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números

Cálculo Numérico Noções básicas sobre erros

Métodos Numéricos - Notas de Aula

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35.

Folha Prática - Representação de Números e Erros. 1. Representar os seguintes números decimais em binário com ponto fixo:

1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35. e) 347 f) 513.

Cálculo Numérico. Prof. Sérgio Queiroz 03/04/2014. Aula 2 Erros e Aritmética de Ponto Flutuante

ERRO DE ARREDONDAMENTO E TRUNCAMENTO

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Dessa forma pode-se transformar qualquer número em qualquer base para a base 10.

Ponto Fixo e Ponto Flutuante

Cálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215

Cálculo Numérico. Erros em processamento Numéricos

PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

Fundamentos IV. Introdução a análise de erros. Gustavo Vinhal. August 12, Escola de Ciências Exatas e Computação

INTRODUÇÃO. O processo de modelagem matemática para resolver problemas reais pode ser visto pelas seguintes etapas: Escolha de um Método Adequado

Cálculo Numérico Prof. Guilherme Amorim 24/10/2013. Aula 2 Erros e Aritmética de Ponto Flutuante

Cálculo Numérico Conceitos Básicos

Estudo de erros Erros na fase de modelagem: 1.2. Erros na fase de resolução:

Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração

Erros em computações numéricas

Arquitetura e Organização de Computadores

Matemática Computacional. Edgard Jamhour

Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina

Universidade Federal do Espírito Santo - UFES

Cálculo Numérico. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações.

Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária

TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante

SME CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS. Agosto 2011

ARQUITETURA DE COMPUTADORES

1 bases numéricas. capítulo

PCS 3115 (PCS2215) Sistemas Digitais I. Módulo 02 Sistemas de Numeração. Prof. Dr. Marcos A. Simplicio Jr. versão: 3.0 (Jan/2016) Conteúdo

Introdução à Computação

Método Analítico. Método Numérico

Arquitetura e Organização de Computadores

ARQUITETURA DE COMPUTADORES

Números binários e erros

Noções sobre Erros em Matemática Computacional

ERROS. Representação de Números

CCI-22. Erros Erros de arredondamento, representação e de cálculo

Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Arquitetura e Organização de computadores

Representação e erros numéricos

Erros e Aritmética de ponto flutuante

Unidade III. Sistemas Numéricos e o Computador

Representação e erros numéricos

Organização e Arquitetura de Computadores I

Fundamentos IV. Introdução a análise de erros. Clarimar J. Coelho. August 14, Departamento de Computação

Aula 9: Estouro e Representação em Ponto Flutuante

Representação e erros numéricos

Representação e erros numéricos

Home Programa Exercícios Provas Professor Links. 2.1 Representação de um número na base dois. O número binário 101,101 significa, na base dois:

Introdução à Computação

Aula 9: Estouro e Representação em Ponto Flutuante

MAT115 Introdução ao Processamento de Dados Professor: Ibirisol Fontes Ferreira DCC: Departamento de Ciência da Computação

SISTEMA DE NUMERAÇÃO. Introdução a Informática. Vinícius Pádua

Conceitos e Princípios Gerais

CCI-22. Matemática Computacional. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários

Circuitos Lógicos. Prof. Odilson Tadeu Valle

Base: número de símbolos empregados no sistema numérico.

Disciplina: Introdução à Engenharia da Computação

Sistemas de Numeração

Sistemas de Computação. Sistemas de numeração

Arquitetura de computadores BASE NUMÉRICAS

REPRESENTAÇÃO DE DADOS. Prof. Maicon A. Sartin

Cálculo Numérico. Profº Ms Ademilson Teixeira IFSC

Operações com números binários

Aula 4: Bases Numéricas

Sistemas de Numeração

Cálculo Numérico. que é denominado erro relativo. Temos então para os dados acima:

2. E presse cada um dos seguintes números inteiros decimais na representação sinal e magnitude e complemento a 2, utilizando 8 bits Resposta:

Organização e Arquitetura de Computadores I

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Números são números, letras são números e sinais de pontuação, símbolos e até mesmo as instruções do próprio computador são números.

SISTEMAS DE NUMERAÇÃO. Introdução à Ciência da Computação ICC0001

Aritmética Binária e Complemento a Base. Introdução ao Computador 2010/1 Renan Manola

Infraestrutura de Hardware

Arquitetura de Computadores

Erros numéricos por Mílton Procópio de Borba

Ponto Flutuante IEEE 754

Conversões numéricas de base. Organização de Computadores

Aula 4: Bases Numéricas

Cálculo numérico Cálculo numérico - O Cálculo Numérico é uma metodologia para resolver problemas matemáticos através do computador. - Uma solução obti

3/14/2012. Programação de Computadores O Computador. Memória Principal representação binária

Estouro e Representação em Ponto Flutuante

Arquitetura de Computadores

Aproximações e Erros

Capacidade de Armazenamento. Bit. Binário para Decimal. Decimal para Binário. Operações Aritméticas no Sistema binário.

Sistemas numéricos e a Representação Interna dos Dado no Computador

Sistemas Numéricos - Aritmética. Conversão de Bases. Prof. Celso Candido ADS / REDES / ENGENHARIA

Transcrição:

CÁLCULO NUMÉRICO (CN) OBJETIVO: O estudo dos métodos de resolução numérica de problemas de matemática. 1. INTRODUÇÃO: A resolução de problemas envolve várias fases que podem ser assim estruturadas: Problema Real Levantamento de Dados Construção do Modelo Matemático Escolha do Método Numérico Adequado Implementação Computacional deste Método Análise dos Resultados Obtidos Se Necessário Reformular o Modelo Matemático e/ou Escolher Novo Método Não é raro acontecer que os resultados finais estejam distantes do que se esperaria obter, ainda que todas as fases de resolução tenham sido realizadas corretamente. 1

2. REPRESENTAÇÃO DE NÚMEROS: Exemplo 1: Calcular a área de uma circunferência de raio 100m A c = r 2 Resultados Obtidos: a) A c = 31400 m 2 = 3,14 b) A c = 31416 m 2 = 3,1416 c) A c = 31415,92654m 2 = 3,141592654 Como justificar as diferenças entre os resultados? É possível obter exatamente esta área? Exemplo 2: Efetuar o somatório seguinte em uma calculadora e em um computador: 30000 S = x i para x i = 0,11 i=1 Resultados Obtidos: a) Na calculadora: S = 3300 b) No computador: S = 3299,99691 2

Como justificar as diferenças entre os resultados obtidos pela calculadora e pelo computador? Os erros ocorridos nos dois problemas dependem da representação dos números na máquina utilizada. A representação de um número depende da base escolhida ou disponível na máquina em uso e do número máximo de dígitos usados na sua representação. O número, por exemplo, não pode ser representado através de um número finito de dígitos decimais. Em cada um deles (a, b e c) foi obtido um resultado diferente, e o erro neste caso depende exclusivamente da aproximação escolhida para. Qualquer que seja a circunferência, a sua área nunca será obtida exatamente, uma vez que é um número irracional. Como neste exemplo, qualquer cálculo que envolva números que não podem ser representados através de um número finito de dígitos não fornecerá como resultado um valor exato. Quanto maior o número de dígitos utilizados, maior será a precisão obtida. Por isso, ( c ) é a melhor aproximação para o valor da área da circunferência. Além disso, um número pode ter uma representação finita em uma base e não- finita em outras bases. 3

3. INTERAÇÃO ENTRE O USUÁRIO E O COMPUTADOR Os dados de entrada são enviados ao computador pelo usuário no sistema decimal; toda esta informação é convertida para o sistema binário, e as operações todas serão efetuadas neste sistema. Os resultados finais serão convertidos para o sistema decimal e, finalmente, serão transmitidos ao usuário. Todo este processo de conversão é uma fonte de erros que afetam o resultado final dos cálculos. 4. OS ERROS: ORIGENS Em computação numérica existem três fontes possíveis de erros: a. Nos dados: Os obtidos experimentalmente, através de medida, contêm erros inerentes. Tem origem na limitação dos instrumentos de medida. Exemplo: no caso de medidas de corrente e tensão num circuito elétrico, ou então podem ser dados resultantes de pesquisas ou levantamento, como no caso de dados populacionais obtidos num recenseamento. b. Nos métodos: Um método numérico é uma aproximação da solução de um problema de matemática. A aproximação eqüivale a truncar uma solução em série, considerando apenas um número finito de termos. 4

Por exemplo, e x = 1 + x + (x 2 / 2!) + (x 3 / 3!) + é o erro de truncamento c. No computador: Ao representar um número de d dígitos usando t < d dígitos comete-se um erro de arredondamento. Surge de duas formas: Conversão de base Operações aritméticas: multiplicando-se dois números x e y de t dígitos, o resultado precisa de 2t dígitos. Representando esse resultado com t dígitos comete-se um erro de arredondamento. 5. REPRESENTAÇÃO DE INTEIROS NO COMPUTADOR Os números utilizados no nosso dia a dia são baseados no sistema decimal. 5.1 NOTAÇÃO POSICIONAL BASE DECIMAL Um dos princípios de um sistema de numeração eqüivale ao emprego da Notação Posicional. Esse princípio determina que, cada algarismo dentro de um número assume dois valores. Um é o próprio valor do algarismo; o outro, é o valor da posição que ele ocupa, iniciando de 0, contado da direita para a esquerda. Vamos exemplificar o conceito: Dado o número 1 2349 (10), qual seria a 1 A representação da base 10 é facultativa. 5

posição de cada algarismo dentro do número e como ele seria representado? Como dito anteriormente, cada algarismo possui um valor de posição contado de 0 e da direita para a esquerda. Vejamos como ficaria a posição dos algarismos: 3 2 1 0 2 3 4 9 Para verificar que número cada algarismo representa, devemos proceder da seguinte forma: 3 2 1 0 2 3 4 9 9 x 10 0 = 9 Tomamos cada algarismo, multiplicamos pelo valor da base na qual estamos trabalhando elevada ao valor da posição do algarismo. E para cada algarismo, o procedimento se repete. Ao final, somamos os resultados das multiplicações e obtemos o número que o de origem representa. seria: 3 2 1 0 2 3 4 9 9 x 10 0 = 9 4 x 10 1 = 40 3 x 10 2 = 300 2 x 10 3 = 2000 + 2349 Outra forma de esquematizar os cálculos para o exemplo acima (2 x 10 3 ) + (3 x 10 2 ) + (4 x 10 1 ) + (9 x 10 0 ) 2000 + 300 + 40 + 9 6

2349 nº 10 é chamado a base do sistema. Qualquer inteiro no sistema decimal pode ser expresso como um polinômio na base 10 com coeficientes inteiros que pertencem ao conjunto { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }. Estes símbolos são chamados de dígitos. O maior dígito no sistema decimal é 9 = b, em que b é a base. Dado um número Nb não negativo na base b é simples de obter o seu equivalente na base 10. n Basta utilizar Nb = (dndn-1 d1d0)b = d i b i. i = 0 5.2 SISTEMA BINÁRIO b = 2 Dígitos = {0, 1} n Basta utilizar N2 = (dndn-1 d1d0)2 = d i 2 i, com d i = 0 ou d i = 1. i = 0 A maioria dos computadores utilizados em processamento científico opera internamente no sistema binário; Os usuários de computadores preferem trabalhar com o sistema decimal. (familiaridade) 6. CONVERSÃO DE BASE 5.1 CONVERSÃO DE BASE b NÃO DECIMAL PARA DECIMAL b =10 Para converter números de qualquer outro sistema para a o sistema decimal, basta utilizar o conceito da Notação Posicional visto no item 6.1. Ou seja, numerar cada algarismo, iniciando a contagem a 7

partir do 0 e numerando da direta para a esquerda, multiplicar cada algarismo individualmente pelo valor da base elevado ao valor da posição do algarismo. 7.1.2 DA BASE 2 PARA A BASE 10 Exemplo 1: 10110 (2) = (? ) (10) (1 x 2 4 ) + (0 x 2 3 ) + (1 x 2 2 ) + (1 x 2 1 ) + (0 x 2 0 ) = 16 + 0 + 4 + 2 + 0 Exemplo 2: 11101 (2) = (? ) (10) = 22(10) (1 x 2 4 ) + (1 x 2 3 ) + (1 x 2 2 ) + (0 x 2 1 ) + (1 x 2 0 ) = 16 + 8 + 4 + 0 + 1 = 29(10) Exemplo 3: 11,01 (2) = (? ) (10) (1 x 2 1 ) + (1 x 2 0 ) + (0 x 2 ) + (1 x 2 2 ) = 2 + 1 + 0 + 0,25 = 3,25(10) 5.2 CONVERSÃO DE BASE DECIMAL PARA UMA BASE ARBITRÁRIA Utiliza-se o método das divisões sucessivas 7.2.1 DA BASE 10 PARA A BASE 2 Exemplo 1: 45 (10) = (? ) (2) Exemplo 2: 27 (10) = (? ) (2) 45 2 1 22 2 0 11 2 1 5 2 1 2 2 0 1 2 1 45 (10) = 101101 (2) 8

27 2 1 13 2 1 6 2 0 3 2 1 1 2 1 27 (10) = 11011 (2) 7.2.2 PARA TRANSFORMAR UM NÚMERO FRACIONÁRIO NA BASE 10 PARA BASE 2 Método das multiplicações sucessivas: multiplicar o número fracionário por 2. Enquanto a parte posterior a vírgula não for nula, ignora-se a parte inteira e reinicia-se o processo. Exemplo1: 7,75 (10) = (? ) (2) Desmembramos o número em duas partes: parte inteira e parte fracionária 7,75 = 7 + 0,75 Parte inteira: divisões sucessivas 7 2 1 3 2 1 1 2 1 0 7 (10) = 111 (2) Parte fracionária: método das multiplicações sucessivas 9

0, 75 2 1, 50 enquanto a parte posterior a vírgula não for nula, ignora-se a parte inteira e reinicia-se o processo. 0, 5 2 1, 0 0, 75 (10) = 0,11 7,75 (10) = (111,11) (2) Exemplo2: 0,11 (10) = (? ) (2) Resposta: 0,0001110000 2 Logo 0,11 10 não tem representação finita no sistema binário. Supondo que um computador que trabalhe com apenas 6 dígitos na mantissa, o número 0,11 10 seria armazenado como 0,000111 2 e este número representa 0,109375 10. Portanto, todas as operações que envolvem o número 0,11 10 seriam realizadas com esta aproximação. OBS.: Embora sistema binário tenha uma série de vantagens para utilização em sistemas digitais, também apresenta algumas desvantagens. Uma delas requer um nº maior de bites para representação. Em outras palavras, requer maior espaço físico para armazenar o mesmo nº. Exemplo: Seja o nº binário 1000000000000 = 2 12 = 4096 (10) São necessários cerca de 13 binários para representarmos o nº equivalente em decimal, o qual é escrito com apenas quatro dígitos. RELAÇÃO ENTRE O Nº DE DÍGITOS: log 2 2 N N 10 = 10 =10 0,3N, onde N corresponde o nº de dígitos na representação binária. Logo um nº binário requer aproximadamente 0,3N dígitos em decimais, que se reflete na maior necessidade de memória física dos computadores. 10

6. SISTEMA DE PONTO FLUTUANTE Nos computadores, o processamento da informação é realizado em quantidades fixas, tendo como base uma unidade-padrão. Essa unidade recebe o nome de palavra, e o número de dígitos que compõe uma palavra é chamado de comprimento da palavra do computador. Atualmente, os computadores utilizam diferentes arquiteturas, que empregam palavras de comprimentos distintos. Os microcomputadores utilizam uma palavra de comprimento de 16 bites (dígitos binários), as estações de trabalho usam uma palavra de 32 bites e os supercomputadores usam palavras de comprimento de 64 bites, para a representação de números reais. Em um computador, apenas uma quantidade finita de números pode ser representada. Os números inteiros podem ser representados de forma exata, desde que o comprimento da palavra seja suficiente para o armazenamento de todos os seus dígitos. Por outro lado, os números reais não são completamente representados no computador. Dessa forma, erros surgem, em virtude da conversão numérica de um sistema de numeração para outro, em particular de decimal para binário como já vimos, ou mesmo devido a erros de arredondamentos, em virtude do comprimento finito da palavra do computador. As primeiras arquiteturas de computador empregavam uma representação de ponto fixo, em que, para cada operação, o usuário tinha que especificar quantos dígitos deveriam ser usados em uma palavra, para representar as partes inteiras e fracionárias de um 11

número real. Um dos problemas dessa arquitetura é a representação simultânea de números grandes e pequenos nesse sistema. Por exemplo, se tivermos um computador cujo comprimento da palavra é sete bites, e usarmos quatro dígitos para a parte inteira e três para a parte fracionária, o maior número representado por esse computador no sistema decimal será 9999,999, e o menor, 0000,001, respectivamente. Para possibilitar maior representatividade dos números, esse problema foi melhorado por meio da aritmética em ponto flutuante. 6.1 ARITMÉTICA DE PONTO FLUTUANTE O computador representa um nº real x usando um modelo inspirado na notação científica. x = (.d 1 d 2 d t ) e, em que: a base utilizada na representação da mantissa (parte decimal de um logaritmo); t o nº de dígitos, na base, da mantissa, chamada precisão; 0 d j ( 1), j = 1, 2,, t, d 1 0 (normalização, para assegurar a unicidade na representação); m o menor expoente representável; M o maior expoente representável. Como dissemos, os nºs reais são representados no computador imitando a notação científica a e, armazenando a e e. Utiliza-se comumente a seguinte disposição: 12

s a s e e Sinal de a ou sinal da mantissa Valor da mantissa Sinal do expoente Valor do expoente ou característica Obs.: Em geral, a, e e s são contidos em uma palavra do computador. O conjunto dos nºs reais representáveis em ponto flutuante num computador é finito e interessa-nos saber quais são o menor e o maior positivo desse conjunto. Se o ponto decimal ficar a esquerda da mantissa fixados, t, m e M valem as seguintes relações: Menor positivo: = m 1 Maior positivo: = (1 t ) M Nº de elementos: N = 2( 1) t 1 (M m+1)+1 Exemplo1: Uma máquina que opera no sistema = 10, t = 3 e e [ 5, 5 ]. Encontre o menor e o maior nº em valor absoluto, representado nesta máquina. Como são representados os nºs nesse sistema? Solução: São representados: 0.d 1 d 2 d 3 10 e, e [ 5, 5 ]. Menor nº: = m = 10 = 10 6 Maior nº: = (1 t ) M = = (1 10 3 ) 10 5 = 99900 Nº de elementos: N = 2( 1) t 1 (M m+1)+1 = 19801 13

Exemplo 1.1: Dado o sistema de aritmética de ponto flutuante F, t, m, M, onde a precisão da máquina na com o sistema F é definida pelo nº de dígitos da mantissa t. Assim, F 10, 3, 4, 4, represente o nº x. X Representação 3 279,15 0,27915 10 1 1,35 0,135 10 0,024712 0,24712 10 10,093 0,10093 10 1 2 2 0,101 10 Exemplo1.2: Dado o sistema de aritmética de ponto flutuante F 2,10, 15,15, represente o nº x. x Representação 101 10111= 0,10111 10 = 0,1011100000 10 3 11 10 100,01= 0,1000100000 10 = 0,1000100000 10 23 10 4,25 23 2 1 11 2 1 5 2 1 2 2 0 1 2 1 0 23 (10) = 10111 (2) Qual o menor nº positivo representável neste sistema? = m =2 15 1 = 2 1 16= 16 2 5 0,0000152587 O primeiro número negativo representável no sistema é 0,0000152587 10. O maior nº representável neste sistema? = (1 t ) M = (1 2 10 )2 15 15 5 = 2 2 32768 32=32736 10. O menor nº negativo é obtido nesse caso tomando-se o simétrico já que o valor mínimo é m= 15, temos, então, 32736 10. Logo o 10. 14

intervalo de representação dos nºs incluindo o zero, é de 32736, 32736, para o sistema F 2,10, 15,15. Quantos números podemos representar? N = 2( 1) t 1 (M m+1)+1= 10 1 2(2 1)2 (15 15 1) 1 31745. Exemplo 1.3: Dado o sistema de ponto flutuante ( 2, 3, 1, 2) F, determine quantos e quais são os números representados por esse sistema. Vamos lá, agora você consegue... :-). = m = 2 1 1 2 2 1/ 4 0, 25(O menor nº + representável). O 1º negativo 0,25 ). (10. = (1 t ) M 3 2 2 1 = 1 2 2 2 2 4 0,5 3, 5 nesse sistema). O simétrico (O maior representável 3.5,3.5 3,5(o menor nº negativo). N = 2( 1) t 1 3 1 2 (M m+1)+1= 2(2 1)2 (2 1 1) 2(1) (4) 8 Exemplo 2: Numa máquina de calcular cujo sistema de representação utilizado tenha = 2, t = 10, m = 15 e M=15, o nº 25 na base decimal é, assim representado: Solução: 25 10 = 11001= 11001.0 = 0.11001 2 5 = 0.11001 2 101 25 2 1 12 2 0 6 2 0 3 2 1 1 2 1 0 25 (10) = 11001 (2) 15

5 2 1 2 2 0 1 2 1 0 5 (10) = 101 (2) ou, da seguinte forma: s a s e e Sinal de a ou sinal da mantissa Valor da mantissa Sinal do expoente Valor do expoente ou característica 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 Sinal de a ou sinal da mantissa Obs.: Valor da mantissa Sinal do expoente Valor do expoente ou característica Cada dígito é chamado de bit, portanto, nesta máquina são utilizados 10 bits para a mantissa, 4 bits para o expoente e mais 1 bit para o sinal da mantissa (se bit = 0 positivo, se bit = 1 negativo) e um bit para o sinal do expoente, resultando, no total, 16 bits, que são assim representados: Exemplo 3: Utilizando a mesma máquina do exemplo anterior, a representação de 3,5 10 seria dada por : Solução: 3,5 10 = 3 + 0.5 = 11 + 0.1 = 11.1 = 0.111 2 2 = 0.111 2 10 16

3 2 1 1 2 1 0 3 (10) = 11 (2) 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0, 5 2 1, 0 0,5 (10) = 0,1 (2) Exemplo 4: O nº 7,125 10 (na mesma máquina) : Soluçãoº 7,125 10 = (7 + 0.125) = (111 + 0.001) = 111.001 = 0.111001 2 3 = 0.111001 2 11 7 2 0,125 2= 0,250 1 3 2 0,250 2= 0,5 1 1 2 0,5 2= 1,0 1 0 0,125 (10) = 0,001 7 (10) = 111 (2) 7,125 (10) = (111,001) (2) 1 1 1 1 0 0 1 0 0 0 0 0 0 0 1 1 Seja = 10, t = 3 e e [ 5, 5 ]. Considere o conjunto dos nºs reais e o seguinte conjunto: G = { x x } Dado um nº real x, várias situações poderão ocorrer: Caso 1: x G : Exemplo: x = 235,89 = 0,23589 10 3. Observe que este nº possui 5 dígitos na mantissa. Estão representados exatamente nesta máquina os nºs : 0,235 10 3 e 0,236 10 3. Se for usado o truncamento, x será 17

representado por 0,235 10 3 e, se for usado o arredondamento, x será representado por 0,236 10 3. Caso 2: x Exemplo: x = 0,345 10-8. Este nº não pode ser representado nesta máquina porque o expoente e é menor que 5. A máquina acusa erro de underflow; Caso 3: x Exemplo: x = 0,875 10 9. Este nº não pode ser representado nesta máquina porque o expoente e é maior que 5. A máquina acusa erro de overflow(transbordamento); Obs.: Algumas linguagens de programação permitem que as variáveis sejam declaradas em precisão dupla. Neste caso, esta variável será representada no sistema de P. F. da máquina, mais com aproximadamente o dobro de dígitos disponíveis na mantissa. O tempo de execução e requerimentos de memória aumentam significativamente. 7. ERROS: ABSOLUTO, RELATIVO E PERCENTUAL x Seja x o valor exato também chamado de grandeza verdadeira e um valor aproximado de x. Então: Definição 1: O erro absoluto é a diferença entre o valor exato e o valor aproximado. EAX x x 18

Problema1: Uma pessoa A cometeu um engano de 1 cm ao medir o comprimento de uma mesa de 2,50m e uma segunda pessoa B cometeu o mesmo engano de 1 cm ao medir o comprimento de um prédio de 25 m. Qual a qualidade de medição melhor da pessoa A ou da pessoa B? Solução: O nosso bom senso diz que a qualidade de medição de B foi melhor que a de A. O erro absoluto cometido por ambas as pessoas é o mesmo, não sendo assim capaz de dar uma boa idéia da qualidade de medida. Essa idéia é fornecida pelo erro relativo. Definição 2: O erro relativo é a razão entre o erro absoluto e o valor exato. ERX EA X x x x x x x x Continuação do problema 1: Dados: ER A = ER B = 1 cm = 0,01 m 0,01 2,5 0,01 25 ER A = 0, 004 ER B = 0, 0004 ER A = 10 ER B, indicando que B efetuou uma medição melhor. Definição 3: O erro percentual é obtido multiplicando-se o erro relativo por 100. Exemplo: EP A = 0,4% EP B = 0,04% 8. ANÁLISE DE ERROS NAS OPERAÇÕES ARITMÉTICAS DE PONTO FLUTUANTE O erro total de uma operação é composto pelo erro das parcelas ou fatores e pelo erro no resultado da operação. 19

Vamos supor que as operações são efetuadas num sistema de aritmética de ponto flutuante de 4 dígitos, na base 10 e com acumulador de precisão dupla. Exemplo5: Dados x = 0,937 10 4 e y = 0,1272 10 2, obter x+y. Alinhamento dos pontos decimais dos dois números (a mantissa do nº de menor expoente deve ser deslocada para a direita). Este deslocamento deve ser de um nº de casas decimais igual à diferença entre os dois expoentes. Solução: Assim, exp= 4 2 = 2, x = 0,937 10 4 e y = 0,001272 10 4. Portanto: x+y = (0,937+0,001272) 10 4 = 0,938272 10 4, resultado exato. Dado que em nosso sistema t = 4, este resultado deve ser arredondado ou truncado. Então, x y 0,9383 10 4 (arredondamento) e x y 0,9382 10 4 (truncamento). Exemplo6: Obter xy, para x e y dados no exemplo 1. Solução: xy = (0,937 10 4 ) (0,1272 10 2 ) = (0,937 0,1272) 10 6 xy =0,1191864 10 6, resultado exato. Assim, para t = 4: xy 0,1192 10 xy 0,1191 10 6 6 (arredondamento) (truncamento) 20

Exemplo7: Sejam x = 0,1547 10 5 números em decimal com precisão t = 4. Solução: Assim, exp= 5 ( 1) = 6, x = 0,1547 10 5 e y = 0,0000002748 10 5. Portanto: e y = 0,2748 10 1, dois x+y = (0,1547+0,0000002748) 10 5 = 0,1547002748 10 5, resultado exato. x y 0,1547 10 5 (arredondamento) e (truncamento). Exemplo8: Sejam x = 0,1012 10 1 e y = 0,9876 10 1, dois números em decimal com precisão t = 4. Solução: x+y=0,1210 10 1 0,009876 10 1 =0,091324 10 1 =0,91324 10 0 x y 0,9132 10 0. Exemplo9: Sejam x = 0,1432 10 1 e y = 0,4330 10 2, dois números em decimal com precisão t = 4, o produto é dado por: xy =0,0620056 10 3 =0,620056 10 2 (valor exato) xy 0,6200 10 2. Exemplo10: Sejam x = 0,5649 10 1 e y = 0,1357 10 2, dois números em decimal com precisão t = 4, a divisão é dada por: q x y 4,162859 10 1 0,4162859 10 0 0 0,4162 10. 21

Estes exemplos mostram que ainda que as parcelas ou fatores de uma operação estejam representados exatamente no sistema, não se pode esperar que o resultado armazenado seja exato. 8.1 DISTRIBUTIVIDADE E ASSOCIATIVIDADE Em sistemas de ponto flutuante, as propriedades de Adição, Subtração, Multiplicação e Divisão não obedecem necessariamente as mesmas regras da aritmética sobre o conjunto dos números reais. Vejamos o exemplo a seguir: 4 Exemplo 1: Tomemos 0,3491 precisão da máquina dada por t=4. Assim, a x2 x1 1 1 x 0 4 4 = 0,2345 10 0,3491 10 0,3491 10 4 4 4 = 0,00002345 10 0,3491 10 0,3491 10 4 = ( 0,34912345 0,3491) 10 = 0,0000 Agora, tomando-se: a x x 0 x1 10 e x 2 0,2345 10 2 2 1 x1 0 4 4 = 0,2345 10 (0,3491 10 0,3491 10 ) 0 = 0,2345 10 Vemos, portanto, que a1 a2, o que é um absurdo. 8.2 OS ARREDONDAMENTOS Os arredondamentos podem ser de dois tipos:. Seja a Arredondamento do tipo corte (cancelamento): os dígitos além da precisão t do sistema de ponto flutuante são automaticamente abandonados (desprezados); 22

Arredondamento para o número mais próximo da máquina: suponha a precisão da máquina como t. Então, analisamos o algarismo de ordem t+1: o Se o algarismo for maior ou igual a 5, somaremos uma unidade ao algarismo de ordem t; o Se o algarismo de ordem t+1 for menor que 5, então o algarismo de ordem t permanecerá inalterado. PROPOSTA DE ATIVIDADES (COMPLEMENTAR): Assunto: Sistema de Numeração 1) Converter os números a seguir conforme a base que se pede: a) 47 (10) Para as bases: =2, 8, 16 b) 111010 (2) Para as bases: =10, 8, 16 c) 1000101 (2) Para a base: =10, 8 d) 69 (10) Para as bases: =2, 16 23

Exercícios 1. Converta os seguintes números decimais para sua forma binária: x = 37, y = 2345 e z = 0,1217. 2. Converta os seguintes números binários para sua forma decimal: x = (101101) 2, y = (110101011) 2 z = (0,1101) 2 e w = (0,111111101) 2. 3. Seja um sistema de aritmética de ponto flutuante de quatro dígitos, base decimal e com acumulador de precisão dupla. Dados os números: x = 0,7237 10 4 y = 0,2145 10 3 e z =0,2585 10 1 efetue as seguintes operações e obtenha o erro relativo no resultado, supondo que x, y e z estão exatamente representados: a) x+y+z c) x/ y e)x(y/z) b) x y z d)(xy)/z f) 4. Considere uma máquina cujo sistema de representação de nºs é definido por: = 10, t = 4, l= 5 e u=5. Pedese: a) Qual o menor e o maior número em módulo representados nesta máquina? b) Como será representado o número 73,758 nesta máquina, se for usado arredondamento? E se for usado truncamento? c) Se a = 42450 e b = 3 qual o resultado de a+b? 24

Fim. 25