Você está na página 1de 347
a Inagne ratans.cae Pee elite lato rl ea Lincoln César Zamboni Orlando Monezzi Junior AGRADECIMENTOS ESPECIAIS .. AOS NOSSOS PAIS... PREFACIO 1 CALCULO NUMERICO E ALGORITMOS Sumario ll 1.1. Algoritmos: Casos Gerais de Férmulas 1.2 Algoritmo, Processo e Programa 1.3. Descrigdo de Algoritmos 1.4 A Legibilidade de um Algoritm 1.5 Normas ISO e a Descrig&o de Algoritmos..... 1.6 Exemplos de Algoritmos e seus Respectivos Fluxogramas 1.6.1 Algoritmo Maior Entre Trés Valores .. 1.6.2 Algoritmo Menor Valor Entre Quatro Valores 1.6.3 Algoritmo Fatorial de um Valor Inteiro .... 9 1.6.4 Algoritmo Desvio Padrao Amostral ... 10 1.7. Euler e a Notag&o Computacional para uma Fungo di 1.8 Fungdes e Operacées Elementares .. 13 1.8.1 O Calculo Numérico da Raiz Quadrada . 13 1.8.2 0 Calculo Numérico do 7 . 15 1.8.3 O Célculo Numérico do Médulo e do Cosseno 17 1.8.4 Juntando Algumas Funcées ... 18 1.9 Exercicios 20 1.10 Boole e a Légica Matematica . 24 1.11 Complexidade de um Algoritmo ... 27 1.12 A Maquina Virtual .. 27 1.13 A notagao O, de Bachmann 28 1.14 Exercicios .. 30 1.15. Algoritmos Polinomiais e Nao Polinomiais 32 1.16 Complexidade de Pior e de Melhor Caso 33 2. ARITMETICA DE MAQUINA 35 2.1 Aritmética de Maquina . 35 2.2 Informaco, BIT, BYTE e Multiplos do BYTE... 35 2.3 2.4 2.5 2.6 27 2.8 2.9 2.10 2.41 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 2.21 2.22 2.23 2.24 2,25 2.21 a 2.27 2.28 220 2.30 231 2.32 2.33 Bases Numéricas e Representagio de Reais . Exercicios .. Bases Usuais e seus Respectivos Digitos . Primeiros Numeros das Bases Usuais . Mudanga de Base Numerica ... Conversdo de um Numero Real em uma Base Nao Decimal para a Base Decimal .. Exercicios Conversao da Parte Inteira sem Sinal na Base Decimal para uma Base N&o Decimal Exercicios Conversao da Parte Fraciondria na Base Decimal para uma Base Nao Decimal Exercicios .... Conversio de um Numero Real de uma Base qualquer para Outra Base Qualquer: Juntando as Etapas ... Exercicios ... Mudanga da Base Hexadecimal para a Base Bindria Exercicios . Exercicios Gerais Caracteres ASCII Nmeros Inteiros Gréficos . Programas Sistema de Ponto Flutuante IEEE Ndmeros Normalizados e Zero Sinalizado .. Quantidade de BITs para Codificar um Ntimero em Ponto Flutuante Normalizado . Quantidade de NUimeros Normalizados em um Sistema de Ponto Flutuante . Menor e Major Nimero Normalizados em Ponto Flutuante .. Underflow e Overflow .... Exemplos de Sistemas em Ponto Flutuante we NANs, Infinidades, Zero Sinalizado e Ntimeros no Normalizados . Exercicios ... Arredondamento (0) Arredondamento para Baixo (1) e para Cima (1)... aT 37 38 38 39 39 39 42 a 44 45 46 46 48 50 50 51 SL 55 56 oF 57 60 61 61 62 62 63 65 66 66 w 2.34 2.35 2.36 aise 2.38 2.39 2.40 2.41 2.42 2.43 2.44 Erro Relativo (6) .. Exercicios Arredondamento para o mais Préximo (©), Epsilon de Maquina (« e UL Exercicios ... Digitos Contaminados Erro Relativo nas Operagdes Elementares no Arredondamento (©) Exercicias ... Exemplo do Cancelamento Catastréfico Exemplo da Expresso Inocente ... Exemplo da Formula de Bhaskara . Exemplo da Férmula de Heron 2.45 Exemplo do Teorema de Pitagoras... 2.46 Exemplo da Funco de Bessel 2.47 Exemplo da Exponencial .. MATRIZES .. 3.1 Introducao 3.2 Matriz - Definigao 3.3. NotacOes .. 3.4 Diagonais e Bandas 3.5 Exemplos de Matrizes Usuais e suas Geometrias 3.6 Exercicios ... 3.7. Adig&o de Matrizes - Definic&io 3.8 Adig&o de Matrizes - Propriedades..... 3.9 Multiplicacéio de uma Matriz por um Escalar - Definicao . 3.10 Multiplicacaéo de uma Matriz por um Escalar - Propriedades . 3.11 Multiplicag&o de Matrizes - Definigio 3.12 Matriz Transporta - Definicio .. 3.13. Matriz Inversa - Definigo 3.14 Multiplicacéio de Matrizes, Matriz Transposta e Matriz Inversa - Propriedades ... 3.15 Exercicios . 3.16 Potenciacgéo de Matrizes Quadradas - Definic&o .. 3.17 Potenciacéo de Matrizes Quadradas - Propriedades . 3.18 Polinémio Associado a uma Matriz XI 67 67 67 71 7 73 76 76 7 77 78 aa 79 80 83 83 83 84 84 84 87 88 88 88 88 88 88 88 89 89 111 qt 11 a 3.19 3.20 3.21 3.22 3.23 3.24 3.25 3.26 3.27 DETERMINANTES 4.1 Exercicios Submatrizes ... Derivada de uma Matriz .. Integragéo de Matrizes Matrizes e Estruturas Planas Articuladas Matrizes e Grafos . Matrizes e Cadeias de Markov Matrizes e Discretizago do Movimento de um Projétil Exercicios .... Introdugao 4.2 A Definigéo de Determinante 4.3 Notagdes para os Determinantes 4.4 Teorema de Laplace... 4.5 Propriedades dos Determinantes 4.6 Teorema das Combinacées Lineares 129 4.7 Regra de Chid 130 4.8 Determinante e Matriz Inversa .. 132 4.9 Exercicios .. 133 SISTEMAS LINEARES.. 151 5.1 Introdugéo 151 5.2 Sistema Linear - Definicao 152 5.3. Sistema Linear - NotacGes .. 452 5.4 Solucdo ou Raiz de um Sistema Linear. 152 5.5 Classificagéo de um Sistema Linear .. 152 5.6 Regra de Cramer .. 5.7 Combinago Linear - Definigdo ..... 5.8 Teorema das CombinagGes Lineares para Sistemas 5.9 Arredondamento de Maquina (©) 5.10 Algoritmo de Gauss ou da Triangularizaco 155 5.11 Algoritmo de Gauss com Pivotamento Parcial . 159 5.12 Refinamento da solucao ..... 160 5.13. Algoritmo de Gauss-Jordan ou da Diagonalizacéio 163 5.14 Inverséo de Matriz pelo Algoritmo de Gauss-Jordan 165 XI a N o 5.15 Complexidade dos Algoritmos de Gauss e Gauss-Jordan . 167 5.16 Normas .... 170 5.17 Método de Gauss-Seidel e Teorema da Convergéncia 171 5.18 Método de Cholesky para Sistemas Simétricos Positivos 176 5.19 Método da Fatorizagdo LU. Le 5.20 Hipéteses Solutivas (Matrizes Triangulares) . 5.21 Descrigéo do Método LU 5.22 Exercicios ... 5.23. Exercicios Propostes .. 185 ZEROS DE FUNGAO.. 211 6.1. Introdugio.. 211 6.2. Classificagéo das fungdes 212 6.3. Raiz de uma fungéo 212 6.4 _ Interpretacéio geométrica e separacao grafica das rafzes .. 213 6.5 Teorema de Bolzano e Método da Bisseciio ..... 214 6.6 Método da Iteragdo 217 6.7 Método de Newton-Raphson ou das Tangentes 6.8 Exercicios de Aplicacdo - Modelos Resolvidos .... 6.9 Exercicios Propostos ... INTERPOLACAO POLINOMIAL 7.1 Introducéo 7.2. Aproximagio por Interpolagéo Polinomial 7.3 Etro entre a Funcio Interpolada /() e 0 Polindmio Interpolador p(x). 7.4 Determinagéo do Polindmio Usando Sistemas Lineares .. 247 7.5 CAlculo da Imagem de um Polindmio Usando Briot-Ruffini 251 7.6 Interpolago de Lagrange... 252 7.7 Dispositivo Pratico para a Interpolagdo de Lagrange .. 253 7.8 _Interpolagio de Newton-Gregory Eqilidistante .. 255 7.9 Tabela de Diferengas Finitas para a Interpolagdo de Newton-Gregory. 256 7.10 Exercicios de Aplicaciio - Modelos Resolvidos 7.11. Exercicios Propostos . 263 REGRESSAO 271 8.1 Introdugdo... 271 Xm 8.2 Ajuste pelo critério dos Minimos Quadrados . 8.3. Reta de Minimos Quadrados (y = a, + a,x)... 8.4 Regressdo Polinomial (y = a, + a,x + ax? + aye +... tax). 8.5 _ Regressao Polinomial e Interpolag3o Polinomial .. 8.6 Regressdo Exponencial (y = a « b*) 8.7 Regresséo Potencial (y = a - x*) 8.8 Escala e Anamorfose Grafica 8.9 Exercicios de Aplicagéio - Modelos Resolvidos .. 8.10 Exercicios Propostos 272 275 282 9 SERIES... 9.1 Introdugao .. 9.2 Preliminares 9.3 Seqiincias Convergentes e Seqiiéncias Divergentes 9.4 Séries de Nuimeros Reais 9.5 Exercicios de Aplicacéo 9.6 Séries de Poténcias .. 9.7 Derivagéo de Séries de Poténcias 290 9.8 Integracdo de Séries de Poténcias. 290 9.9 Férmula e Série de Taylor . 290 9.10 Obten¢do da Férmula de Taylor com Resto 290 9.11 Exercicios Propostos... 293 9.12. Série de Maclaurin 295 9.13 Aplicagdes da Série de Maclaurin .. 295 9.13.11 Exercicios Propostos. 300 9.14 Aplicages da Série de Mactaurin na Resolug3o de Limites... 300 9.14.1.1 Exercicios Propostos. 9.15 Aplicages da Série de Maclaurin no Célculo de Integrais 9.16 Exercicios Propostos .... 10 INTEGRACAO NUMERICA . 10.1 Introducio ... 10.2 Férmula dos Trapézios .. 10.3 Férmula de Simpson .. 10.4 Exercicios Propostos .. 10.5 Exercicios de Complementaco - Modelos Resolvidos 10.6 Exercicios de Complementaciio XIV 327 327 327 11 EQUAGOES DIFERENCIAIS .. 11.1 Introdugio ... 11.2 Aplicagdes das Equacées Diferenciais 11.3. Introducdo ao Estudo das Equagées Diferenciais de Primeira Ordem 11.4 Problema-Tipo 11.5 Métodos numéricos para a resolugSo de equacées diferenciais ordindrias - Caracteristicas .... 11.6 Métodos numéricos para a resolug&o de equacées diferenciais ordindrias - Aplicacio . 11.7 Operacionalizacao para os métodos de passo um (passo simples) 329 11.8 Método de Euler 11.9 Algoritmo do Método de Euler: 11.10 Exercicios Propostos 11.11 Métodos de Runge-Kutta .. 11.12 Equacao de Laplace .... 327 327 BIBLIOGRAFIA RECOMENDADA SOBRE OS AUTORES CALCULO NUMERICO E ALGORITMOS ~ 1 1 Calculo Numérico e Algoritmos “Deus tudo regulou com medida e com ntimero”, (Biblia Sagrada — Livro da Sabedoria (X1:20)) 1.1 Algoritmos: Casos Gerais de Formulas No estudo das solugdes de um determinado problema deparamos com um ponto de vista equivocado trazido do ensino médio: enfatiza-se em demasia a solugaio com 0 uso de férmulas em detrimento ao uso de algoritmos. O estudante universitério muitas vezes vem com o conceito “dé-me a formula Ihe darei a solugo”. Isto se aplica, por exemplo, quando da solugio da equagaio do 2 : segundo grau com coeficientes reais a@+x° +b+x+¢=0 onde, a partir do conhecimento dos valores de a, b ¢ c, determina-se, através da conhecida férmula -bt Ve —4-a-€ de Bhaskara x = —————————— , 0s dois valores da raiz x. Qa Cabe salientar que a maioria dos problemas de interesse em cigncias exatas, experimentais e engenharia, muitas vezes, ndio possui uma formula fechada para sua solugio, mas sim um algoritmo e que este € um caso geral e amplo de formula. A elaboragio de algoritmos desenvolve no estudante qualidades de planejamento, preparo e previséo que nZio devem ser omitidas no ensino superior. 1.2 Algoritmo, Processo ¢ Programa _ Classicamente um algoritmo é uma seqiiéncia de processos que, atuando sobre dados, leva A solugio de um determinado problema, Um processo é caracterizado por uma fungio matemitica generalizada f , a qual associa uma tnica safda = f(e), a cada entrada e (Figura 1-1). A entrada e a saida sfio os elementos passivos (dados) e a funciio propriamente dita é 0 elemento ativo (processo) no enfoque de uma terminologia maior: processamento de dados. e —+rs=f()I— s FIGURA 1-1; PROCESSO. Quando um algoritmo € implementado em uma linguagem de computador, recebe o nome de programa. 2-CALCULO NUMERICO PARA UNIVERSITARIOS 1,3. Descrigdo de Algoritmos ‘A descrigio de um algoritmo de forma clara ¢ facil de ser seguida ajuda o desenvolvimento e a subseqiiente transformagio do mesmo num programa. Existem varias abordagens para a descrigio de algoritmos, entre elas destacamos: © Narrativa: € © algoritmo descrito com o uso da linguagem natural. A linguagem natural é abstrata, imprecisa e freqiientemente pouco confidvel. Isto pode ser observado por pessoas que tentam redigir um contrato ou um documento legal; ¢ —Fluxograma: 6 0 algoritmo descrito com 0 uso de simbolos geométricos (retngulos, losangos, etc.) enfatizando seus passos individuais e suas interconexdes; @ — Linguagem Algoritmica: € 0 algoritmo descrito com 0 uso da combinacéo entre a Narrativa e o Fluxograma, extraindo suas melhores caracteristicas. E similar a varias linguagens de programagio como, por exemplo, Object Pascal, C++, etc. 1.4 A Legibilidadede um Algoritmo Uma das mais importantes caracteristicas de um algoritmo é sua legibilidade. Como ja mencionava Brian Kernighan, um dos criadores da linguagem C, quando escrevia sobre a qualidade de um programa de computador: “Nossa experiéncia mostra que a legibilidade € 0 tinico e o melhor critério para a qualidade de um programa: se um programa é flicil de ler, cle é provayelmente um bom programa; se ele é dificil de ler, provavelmente ele nao é bom". ‘ALGORITMOPARAIRAOCINEMAFORADOGINEMADECIDIRFILMEDECIDIRCINEMAA RRANJARDINHEIRODENTRODOCINEMACOMPRARINGRESSOPIPOCACOMERNAM ORADANAMORARPIPOQUEIROPAGARASSISTIRFILMEFORADOCINEMACASACOZI NHAJANTARTOMARLEITINHOQUARTOASSISTIRATVDORMIRCAMA FIGURA 1-2: ALGORITMO INELEGIVEL. Observemos as melhorias em termos de legibilidade que podemos realizar no algoritmo da Figura 1-2, onde todos os caracteres esto em maitisculo, nao hi separagdo dos identilicadores (espagos entre as palavras), etc. Trabalhando com caracteres mindsculos © maitisculos e colocando espagos entres os identificadores j4 obtemos uma melhoria significativa conforme pode ser vista na Figura 1-3. Colocando pontuagiio chegamos em um nivel j4 formal e entendivel como mostra a Figura 1-4, Endentando 0 texto chegamos em um nivel que se conhece pela razio inteligivel. A Figura 1-5 ilustra tal inteligibilidade. CALCULO NUMERICO E ALGORITMOS ~3 ALGORITMO PARA IR AO CINEMA Fora do Cinema Decidir Filme Decidir Cinema Arranjar Dinheiro Dentro do Cinema Comprar Ingresso Pipoca Comer Namorada Namorar Pipoqueiro Pagar Assistir Filme Fora do Cinema Casa Cozinha Jantar Tomar Leitinho Quarto Assistira TV Dormir Cama FIGURA 1-3: COM IDENTIFICADORES. ALGORITMO PARA IR AO CINEMA Fora do Cinema Decidir Filme; Decicir Cinema; Arranjar Dinheiro. Dentro do Cinema: Comprar Ingresso; Pipoca Comer; Namorada Namorar; Pipoqueiro Pagar; Assistir Filme; Fora do Cinema: Casa: Cozinha: Jantar; Tomar Leitinho. Quarto: Assistira TV; Dormir Cama. FIGURA 1-4: COM PONTUADORES. 4- CALCULO NUMERICO PARA UNIVERSITARIOS. ALGORITMO PARA IR AO CINEMA Fora do Cinema: Decidir Filme; Decidir Cinema; Arranjar Dinheiro. Dentro do Cinema: Comprar Ingresso; Pipoca Comer; Namorada Namorar; Pipoqueiro Pagar; Assistir Filme; Fora do Cinema: Casa: ‘Cozinha: Jantar, Tomar Leitinho. Quarto: Assistir a TV; Dormir Cama. FIGURA 1-5: COM ENDENTAGAO. 1.5 Normas ISO ¢ a Descricao de Algoritmos ‘A norma ISO 5807 de 1985 trata de padronizagées de diagramas e, dentre as varias aplicagdes, destacamos as seguintes: fluxogramas de dados e fluxogramas de processos. Os simbolos sfio divididos em quatro categorias: dados, processos, linhas ¢ especiais. A Tabela 1-1 mostra um resumo dos que serao utilizados neste livro. TABELA 1-1: SIMBOLOS ISO 5807. Categoria | SimboloeNome | __ _Deserigao. Entrada e/ou saida de dados qualquer que seja a & infdia utilizada. Desenhado com uma dnica seta a entrando ¢ uma tinica saindo. a Dados | Qualquer tipo de processo, Desenhado com uma texto Gnica seta entrando e uma tnica saindo. Proceso iB Processo definido em outro local. Desenhado com 2 texto ica seta entrando e uma tinica saindo, a y g Predefinido a Processo de decistio, Desenhado com uma Gnica seta entrando e duas ou mais saindo, sendo que apenas uma das que saem deve ser ativada como conseqiiéncia da avaliagio das condigdes internas Decisio 20 simbolo. CALCULO NUMERICO E ALGORITMOS ~ 5 a > Fluxo dos dados ou seqii@ncia dos processos. E 2 aconselhivel o uso de pontas de setas na z Linha Bésica | €Xtremidade para enfatizar a directo do fluxo a facilitando a legibilidade. Saida para, ou entrada de outra parte do mesmo ® fluxograma, Quando safda é desenhado com uma iinica seta entrando e quando entrada com uma iinica seta saindo, Os conectores devem possuir 0 Conector Sette i mesmo identificador interno ao simbolo. 4 Fim ou inicio do fluxograma. Quando fim @ s desenhado com uma tinica seta entrando e quando g inicio com uma tinica seta saindo. g ‘Terminagaio Fexto | Texto para esclarecimentos ¢ explicagdes. 4 texto texto Anotagio Quando necessério utilizaremos como linguagem algoritmica as estruturas da linguagem C++ (Tabela 1-2) com comentérios abstratos de forma a flexibilizar uma estratégia de apresentagdo do algoritmo. E interessante salientar que as cstruturas tém um papel fundamental quando desejamos descrever um algoritmo que seja computavel, isto é, implementavel em um computador, Bohm e Jacopini demonstraram em 1966 que qualquer programa de computador pode ser decomposto através de tés tipos de estruturas de programagao: seqliencial, condicional e repetitiva. Os comentérios aparecem em dois padrdes: /* Este 6 um padréo de comentario que comeca nos simbolos barra e asterisco, vai se desenvolvendo pelas linhas e termina nos simbolos asterisco e barra. */ // Este 6 um padraéo de comentario que comeca nas duas // barras e vai até o final da linha. A legibilidade algoritmica tem a colaboragio das seguintes diretrizes de endentagio: © a apresentagéio dentro das margens do papel é, de forma natural para o ser humano, dividida em linhas que so lidas da esquerda para a direita e de cima para baixo, conforme o sentido da nossa eserita (veja a Figura 1-6); © cada linha possui um recuo correspondente da margem esquerda do papel onde esta se inicia (veja a Figura 1-6); 6 - CALCULO NUMERICO PARA UNIVERSITARIOS TABELA 1-2: ESTRUTURAS DO C++. __Estrutur: a ee 3 ag ‘ sé (eomando a]; oy 788 eomanas'q; B22 53s : Sak eomando a: a d if (Gonaicad) ( [bleco. de icomandos a] y elset plocoT wel comands ) switch (variavel) { case [gonstante J): [bioco de comandos 1] break; case fonstante 4: loco de comandes a] breal; loco.de comandds nj break; default: CONDICIONAL se for utilizado um tinico comando entre as chaves, estas serdo desnecessérias; else e default sio opcionais. loco de comandos aefaut ? while (condicad) (loco de “comand: d dot [blocs de comando: Jwhile ((Eondicad) ; for ([Imicdalizacad; Gontigad, REPETITIVA [Eaaremaneg) ¢ se for utilizado um Gnico comando entre as chaves, estas servio desnecessérias, bieco de comands; CALCULO NUMERICO E ALGORITMOS - 7 ® — dizemos que uma linha ¥°, antecedendo s, contém a linha , quando: (i) 0 recuo da linha r é menor que o da s e (ii) set # r, é uma linha compreendida entre re s, entdo o recuo de r é menor que 0 recuo de # (veja a Figura 1-6); © a unidade basica de apresentagio € 0 bloco, conjunto de uma linha qualquer r com todas as linhas s que r contém (veja a Figura 1-6). | reeuo tinkia r Tine iG 2 3] —reove linkar —> ima] [Eins A Figura 1-7 exemplifica a relago de uma linha conter uma outra ou nao ¢ também a apresentagzio em blocos. Observe que as linhas 1, 2, 3 ¢ 11 no contém nenhuma outra linha; a linha 4 contém as linhas 5 e 9; a linha 5 contém as linhas 6 e7. u linha 1 v= 2; linha 2 j ag linha 3 while(u b) if(a > c) maior = a; else maior = c; else i£(b > c) maior else maior = c; Escrever(maior); // Escrever o maior valor //Aqui as variaveis a, b, c, maior s&o implicitamente //destruidas. Vale a pena salientar novamente que uma //variavel é criada no momento da declara¢aéo dentro //4o bloco e destruida ao final do mesmo. inlo G) TRaqui eo erladas as Naviaveis oats 3, b, _|meor{rermalmense esta dota 6 omiigo nos a.bemaore®| [fags in wer maior=a gui comers tes JoleminagEo do main comparando-os dois & dots a + goes] ent FIGURA 1-8: MAIOR ENTRE TRES VALORES, 1.6.2. Algoritmo Menor Valor Entre Quatro Valores A Figura 1-9 mostra o fluxograma correspondente a este algoritmo. Repare no uso da simbologia ISO 5807 e na estrutura condicional sem o “else”. /*Algoritmo Menor valor Entre Quatro Valores: 16 quatro valores e escreve o menor entre eles.*/ a, b, c, d, menor € R; // Ler os valores dados Ler(a, b, ¢, a); CALCULO NUMERICO E ALGORITMOS ~ 9 // Determinar o menor valor, comparando // individualmente cada um deles menor = a; // Admitir que um deles é o menor // Comparar individualmente com os outros if(b < menor) menor = b; if(c < menor) menor cr if(d < menor) menor da; // Escrever o menor valor Escrever (menor) ; ae FIGURA 1-9: MENOR ENTRE QUATRO. 1.6.3. Algoritmo Fatorial de um Valor Inteiro A Figura 1-10 mostra o fluxograma correspondente a este algoritmo. Repare no uso da simbologia ISO 5807 e na estrutura repetitiva “while”. /* Algoritmo Fatorial de um Valor Inteiro. Este algoritmo 1€ um valor e escreve o seu fatorial. */ n, fatorial, contador € N’; // Ler o valor inteiro 10 - CALCULO NUMERICO PARA UNIVERSITARIOS Ler (n); // Calcular o fatorial fatorial // Inicializar as varidveis contador // Bstabelecer o lago while(contador <= n)( // Atualizar o fatorial fatorial = fatorial * contador; // Incrementar o contador contador = contador + 1; } // Escrever o resultado Escrever (fatorial) ; contador= 1 taee-y! rn inator FIGURA 1-10: FATORIAL. 1.6.4. Algoritmo Desvio Padrao Amostral A Figura 1-11 mostra o fluxograma correspondente a este algoritmo. Repare no uso da simbologia ISO 5807, na estrutura repetitiva “for” e nas varidveis com um tinico indice x [4] que sio conhecidas pelo nome de vetores. conceito de indice pode ser estendido, quanto & quantidade, para mais que um e, quando assim, as varidveis so conhecidas pelo nome de matriz (veja um exemplo na Figura 1-7). CALCULO NUMERICO E ALGORITMOS - 11 £ importante salientar que, em termos de notagio matemética, também utilizamos x, no mesmo sentido que x[i] (vetor) e y no mesmo sentido que y(il [3] (matriz). /* Algoritmo Desvio Padrao Amostral: 1@ varios valores e calcula o desvio padrao entre eles. */ ne N’; // Ler a quantidade de valores Ler (n) ; // Ler os valores ie N’; xli] € R, Vie {1, 2,... nh; for(i = 1; i<=n; i = i+1) Ler (x[i]); // Calcular a média soma, média € R; soma = for(i = 1; ierro) { p= -pta/k/ (k+1); 20 - CALCULO NUMERICO PARA UNIVERSITARIOS s = stp; k = kt2; } return s; y /* Algoritmo Juntando Tudo: 1é dois valores e calcula mais dois. */ a, be R; // Ler os valores Ler(a, b); u,ve RB; // Calcular os valores u = vel +7 v = cos (m(4)- a+b); // Bscrever os valores Escrever(u, v); 1.9 Exercicios _ P11 Baseado na Tabela 1-1, determine as possiveis falhas no desenho dos simbolos de fluxogramas seguintes. ry eo 7 at P12 Baseado na Tabela 1-1, determine as possiveis falhas no desenho dos simbolos de fluxogramas seguintes. | 1 - |. |. P13 Baseado na Tabela 1-1, determine as possfveis falhas no desenho dos simbolos de fluxogramas seguintes. CALCULO NUMERICO E ALGORITMOS ~ 21 P14 — Baseado na Tabela 1-1, determine as possiveis falhas no desenho dos simbolos de fluxogramas seguintes. oS 1.5 Baseado na Tabela 1-1, determine as possiveis falhas no desenho dos trechos de fluxogramas seguintes. eR P16 Baseado na Tabela 1-1, determine as possfveis falhas no desenho dos trechos de fluxogramas seguintes. 22 - CALCULO NUMERICO PARA UNIVERSITARIOS P17 q + Baseado na Tabela 1-1, determine as possiveis falhas no desenho dos trechos de fluxogramas seguintes. r— CHE aa P18 P19 L_] A resolugao de um Sistema de Equagées Lineares Algébricas (SELA) 2x2 € ilustrada abaixo. Prepare um algoritmo para ler 0 conjunto de coeficientes ¢ escrever a solugdo do sistema. Observe que sob certas condigées haveré problemas. \erre yn A A ox prs d-xte-y=f aa A=ae-bd, A,=ce-b-f cA, =a-f-c-d Prepare um algoritmo para ler os comprimentos dos trés lados de um tidngulo ¢ determinar qual € 0 seu tipo. Se a = b+ c’, entio o triangulo € retangulo; se a > b’+ c*, entio o trifingulo € obtusingulo; se a? < b’+ c’, entio 0 tiangulo é acutingulo, Nao se esquega de verificar a existéncia do tridngulo (a 1.17 Em um fluxograma estruturado (nem todos o so) e bem desenhado, juntamos os simbolos de dois em dois de forma a conceber um novo ¢ Unico elemento que possui uma tinica entrada e uma tnica saida; repetimos tal jungio até transformarmos ao final todo o fluxograma em apenas um tnico destes elementos. Verifique se os fluxogramas dos exercicios 1.6 ¢ 1.7 sfio estruturados, tae [| =) FIGURA 1-21: VALOR DE X E Y. 1.10 Boole e a Logica Matematica George Boole (1815 - 1864), um grande matematico inglés nascido em Lincoln, era de familia pobre ¢ s6 tinha instrugao escolar basica. Era um autodidata que aprendeu por si préprio grego latim, Foi professor de ensino bésico e estudou as obras de Lagrange e Laplace, pois tinha convicgiio de que precisava aprender mais matemitica. Boole insistia em que a légica deveria ser associada A matemiatica e escreveu em 1847 0 classico “Investigation of the Laws of Thought”, estabelecendo a légica formal aliada a uma nova Algebra. Af surgiu a Algebra Booleana ou Booliana, que € uma algebra bindria (i, e., cujas variéveis podem assumir apenas dois valores), CALCULO NUMERICO E ALGORITMOS - 25 que permite determinar se proposigdes Idgicas sto falsas ou verdadeiras, e que tem, atualmente, emprego fundamental em computagao. Uma das maiores dificuldades em analisar o rigor matemético em uma demonstragio € 0 fato de que devemos comunicar nossas idéias com outras pessoas cmpregando a linguagem comum. Esta linguagem comum esté cheia de ambigiiidades; as palavras tém varios significados, sendo alguns deles muito vagos ec, As vezes € dificil de se determinar se uma linha de raciocinio é aceitével ou no. Um dos objetivos fundamentais da légica é eliminar estas ambigttidades, clareando a construcdio de proposicées, avaliando 0 conceito de verdade e estabelecendo regras especfficas de inferéncia por meio das quais um argumento pode ser julgado como valido ou nao. Lembra-se do algoritmo? A l6gica matemética tem como base algébrica: © — umuniverso de proposigdes;” © um conjunto com dois elementos, bool = { false,true}, onde: false € utilizado para proposigdes falsas e ‘rue para proposigées verdadeiras; © uma operagio bindria, p—q, entre dois elementos do universo de proposigdes e que tem como imagem um valor no conjunto bool de acordo com a Tabela 1-6. Esta operagio tem o nome de implicagio e nada mais € do que a estrutura condicional da Tabela 1-2. TABELA 1-6: IMPLICACAO. false|false| true false| true | true true |false| false true | true | true A partir da operagdo implicagtio pode-se definir outras operag6es undrias ¢ bindrias. Dentre clas destacam-se: © negagio: ap = p—> false: © conjungio: pAg= p— (q-> false) > false ; e disjungio: pv q= p— false q. Estas operacées, ilustradas na Figura 1-14, podem ser visualizadas com o auxflio da Tabela 1-7, Tabela 1-8 e Tabela 1-9. TABELA 1-7: NEGACAO. 26 - CALCULO NUMERICO PARA UNIVERSITARIOS TABELA 1-8: CONJUNCAQ. PA | ee ma false false true false true false false | false | true | true true false true | false | faise | false true false true | faise | faise | true false true TABELA 1-9: DISJUNCAO. false | false | true | false false faise | false | true | true true true | false | false | false true true | false | false | true true Um bom exemplo de uso da Algebra Booleana é a seguinte expressiio: (-4 $x A SA AY SBA YS BX AOS) AA (A42)40-3)2 < LA aO2Hy-SR< 1 AS > & GE Ee & : UCR | FIGURA 1-23: MAQUINA VIRTUAL. 28 - CALCULO NUMERICO PARA UNIVERSITARIOS Na méquina virtual a MEMORIA armazena os PROCESSOS (ativos &) ¢ os DADOS (passivos 2). A UCP (Unidade Central de Processamento) ¢ responsavel por executar os processos sobre os dados, transformando a ENTRADA na SALIDA. O algoritmo (implementado como processo) consiste em um conjunto de instrugdes. Cada tipo de instrugéo J, da méquina virtual possui um tempo de execucio i(I,). Assim, 0 tempo total na execugao do algoritmo, para uma certa entrada de n simbolos é dado por T(n)= s t,) c Observe que r;, representa a quantidade de instrugdes do tipo k e gq é a quantidade total de instrugdes do conjunto de instrugées da maquina. Adota-se a instrugio J, como unidade comparativa na medida do tempo, onde 1(1.)40. Assim, u,) a,) T(n) = Yon th) = Yo, tl, = 1.) Yo SEs )= Dinh) ae Sn han Se = ‘ | _ ay [to] oS. _o, dS “dhe t(1,) lle. Bn c-On). Portanto e a(n) T(n) <$ C-Q(n)|, onde O(n) é a quantidade total de instrugdes. Na avaliagao do tamanho da ENTRADA (n simbolos), 0 seu comprimento seria proporcional A soma dos tamanhos das codificagdes dos n simbolos, segundo a norma de codificagio utilizada. Por exemplo, o tipo Inteiro é armazenado em 4 B e, portanto, uma entrada de n simbolos seria armazenada em 4+ n B; 0 Dobro é armazenado em 8 B e, portanto, uma entrada de n simbolos seria armazenada em 8 nB; etc, 1.13 A notacao O, de Bachmann O equacionamento exato de um problema, elucidando os detalhes da sua total compreensto, sempre nos traz. a sensagiio de dominio completo sobre o problema em questo. Isto nem sempre é verdade, embora a sensacao continue. As vezes nos frustramos por néo conseguirmos comparar 0 equacionamento exato ¢ completo com outros equacionamentos, pois trazem consigo uma gama grande de fatores complicadores em termos mateméticos. Por que nao utilizar aproximagées?... Em 1894 foi introduzida a notagio O para andlise assintética (do grego “asymptotas” significa que ndo podem coincidir, nio caem juntas). Esta notagio foi criada por Paul Bachmann ¢ aperfeigoada por outros. CALCULO NUMERICO E ALGORITMOS ~ 29 Definigdo: dadas duas fungdes fli) e g(n) dizemos que f é da ordem de g (on também que f € assintoticamente limitada por g) se, e somente se, existirem constantes C € ng tais que, qualquer que seja n superior a np, ent&io o médulo de fn) sera menor ou igual a C multiplicada pelo médulo de g(n). Esta definigo é muito semelhante ao conceito de limite que € visto no Célculo Diferencial e Integral. Analiticamente temos F(n) = O(g(n)) & 3C,n, tal que n> ny =>|f (AS C-[g(—)| que, geometricamente, esta ilustrado na Figura 1-24. FIGURA 1-24: f E ASSINTOTICAMENTE LIMITADA POR g. Alguns resultados decorrentes da definigaio que podem auxiliar na manipulagéo do “big 0” so mostrados na Tabela 1-10. TABELA 1-10: TABELA PARA MANIPULAGAO DO ‘BIG 0”. # Propriedade Observacao. 1 k=O) & constante 2 f@)=0FM) 3 a: O(f (n))=O(f (n)) aconstante 4 OOF) = OF @)) 5 | OFM): O(g@) = OF): 8@)) 6 | OCf@)+O(g@)) =O fF | +|2@) 7 ns On") Ar congrats 8 log,, n= O(log, n) 9 ao ‘ar a5 F(n)=O(g(n)) & propriedade g(n) = O(A(n)) > f(a) = O(h(n)) transitiva 30 - CALCULO NUMERICO PARA UNIVERSITARIOS 1.14 Exercicios P1.18 @® Mostre a propriedade #1 da tabela de _ propriedades. IK]S|k|-1,C =|A]. Portanto & = O(1) (constante). > 1.19 @ Mostre a propriedade #2 da tabela de propriedades. |f@)|S1-|£@)],C =1. Portanto fn) = OCF (m) D120 ® Mostre a propriedade #3 da tabela de propriedades, AC, tal que n> ny = |u(n)| |a-u(n)] ny = |u(n)| lle] s|C-|F |] = C-|f(a)| -Portanto OCO(F(m))) = OCF (n)). D122 @ Mostre a propriedade #5 da tabela de propriedades. Cyn, tal que n>, =>|u(n)|SC-|f(n)]. Da mesma forma AD,n, tal que n> n, => r@| max(ng,)) > u(n)-v(n) <|u(n)|-|o(n)|< C[F@-D|g@|= CDA F@)-g@). Portanto OF(n))- Og (ny) = O(F(a)- g(n)). 123 @® Mostre a _—propriedade #6 da—Sstabela de propriedades. IC, np tal que n> ny => |u(n)|n, => |v(n)|< D-|g(n)]. Assim n> Max(t%y,7) => un) + v(n) <|u(n)|+|v(n)]s C-[F)|+D-[g@a|<_ max(C,D)-([F@)|+|g(n))). Portanto OF (M)+ O(g(n))= Off )|+|gQn))) > 1.24 @ Mostre a propriedade #7 da tabela de propriedades, 1.25 > 1.26 1.27 Pm 1.28 CALCULO NUMERICO E ALGORITMOS ~ 31 ie ksra nis’ je ,;C=1. Portanto n'=O(n'), kr. ® Mostre a propriedade #8 da tabela de propriedades. A detinigiio de logaritmo é log, x=zex=y (On> ni |n constantes, £20 e d>1). @® Mostre a propriedade #10 da tabela de propriedades. AC, ny tal que n> ny => [Fasc] e AD,n, tal quen>n, => |g@| max(M,n,) => |f@| 1.30 P1431 m132 Pr 133 1.34 1.36 f(1,m) = O(g(n,m)) = AC, ny tal que n,m> ny =>|f(n,m)|23 @ -1371=(-1371), =-(1-10° +3-10? +7-10 +1) 4.1.3 >24 — @ (101,413), =1-10° +1-10? +1-10+1+—+— +, 10 10° 10 1.4.8 m25 © 3142=(3,142),, =3+—+— + ome 10 10° 10° 4.5 m26 @ 13,45 =(13,45),, =1-:10+3+—+— > 10 10 >2.7 @ (-1101,413), HUSH FHSS tS) 28 @ (110001), =1-2°+1-2'+0-2°+0-27+0-241 2.9 ® (2110), =2-3°+1-3° 41-340 38 ~ CALCULO NUMERICO PARA UNIVERSITARIOS eg eh oleh, 16 16° 16° P21 © (12.16), = (7.142424) 2.10 @ (3,1415927),,=3+ 2.12 © (110,10.).=LF HL 240+ SS * o a 2.5 Bases Usuais e seus Respectivos Digitos A Tabela 2-1 ilustra as bases mais usadas nas madquinas. Dentre elas, é conveniente destacar que a base dois ¢ de grande importincia para microcomputadores e computadores em geral, enquanto que a base 10 € de grande importancia para seres humanos e calculadoras comerciais e cientificas. TABELA 2-1: BASES USUAIS BASE CONJUNTO DE DIGITOS: 2 [10.1 a Ot 10 [(0,1,2,..9) 16 [(0, 1,2. 9A BiG ws FY 2.6. Primeiros Numeros das Bases Usuais A Tabela 2-2 ilustra os dezesseis primeiros nimeros na base decimal, hexadecimal, octal e binétia. TABELA 2-2: NUMEROS DAS BASES USUAIS DECIMAL (0) | HEXADECIMAL (16) | OCTAL (8) | BINARIA Gy 0 0 0 0 u 1 1 1 2 2 2 10 3 3 3 im 4 a 4 100 5 5 5 101 6 6 6 110 7 7 7 mW 8 8 10 1000 9 9 u 1001 10 A 12 1010 ul B 1B on 12 S ia 1100 13 D 15 01 14 E 16 1110 15 FE 7 Hit ARITMETICA DE MAQUINA - 39 2.7 Mudanga de Base Numérica Uma pergunta natural, neste momento, seria: como um nimero representado por justaposiggio de digitos numa determinada base numérica pode ser representado, também, por justaposigao de dfgitos, em uma outra base? a pergunta pode ser respondida em trés etapas: © conversa de um mimero real em uma base nao decimal para a base decimal: efetuar as contas em decimal; © — conversio da parte inteira sem sinal na base decimal para uma base nao decimal: divisdes sucessivas; © converstio da parte fracionéria na base decimal para uma base nao decimal: multiplicagées sucessivas. Vamos analisar separadamente cada uma delas, 2.8 Conyerséo de um Numero Real em uma Base Nao Decimal para a Base Decimal Para convertermos um ndmero real escrito em uma base nao decimal para a base decimal, efetuamos, simplesmente, as contas com 0 uso da notagio decimal Isto € ilustrado na Figura 2-1. base decimal : eo efetuar as contas em decimal FIGURA 2-1: NAO DECIMAL PARA DECIMAL. 2.9 Exercicios &2.13 ® (110001), = (Mo (110001), = 1-25 +1-2*+0-23 +0-2°+0-2' +1= =32+16+0+0+0+1=49=(49),, m2.14 © (61), =(%o (61), =6-8+1=49 = (49),, P2.15 ® (100), =(%o (100), =1-7? +0-7+0=49+0+0=49 =(49),, m216 ® (-3)).6 =Mo 40 - CALCULO NUMERICO PARA UNIVERSITARIOS > 2.17 m2.18 P2219 > 2.20 m2.21 2.22 2.23 (3D, =-(3-16 +1) =-(48 +1) = -(49) = (49), ® BD = (ro B74 =3-14+7 = 4247 =49 = (49) © (211012), = (Mo 39,5... (2110,12), =1.3° +1.3° H13HOHHS (39,5..)io ® (72,16), =(Dyp (72,16), =-(7-7+2+ +e) =-51,26530612245 @ (110,101), = (Do (110,1101), =1-2? +1- 24042 +> : += Ott tpt pr 268125 ® (213,132), = (Mo (213132), =2-4741-4434+4424% =39,46875 44 4 ® (FF, A2)6 = (ro (FF A2),¢ =15-16 +15 +O 4 Be = 255, 6328125 ® (100,0110...), =(%)o (100,0110...), =1-2°+0-2+0+) Sart sea) = 1.1 ign toe =4¢ 22 4g, 1 a Observe que se 5,=ata-qta-g+...tda-q", — entio ae q:s,=aqtag tag +...+a-q"", Somando membro a 2.24 > 2.26 > 2.27 > 2.28 » 2.29 > 2.30 2.31 ARITMETICA DE MAQUINA - 41 ol membro, encontramos (1—q)-s, =a—a-g""'. Considerando g <1, a(l-a-g™! i teremos 5, Slee), ssi lims, =s., ay (d-@) mm “e © (0,230...) =o (0,230.. PD Sof qe 4 ® (1101), =1-2° +1-2?+0-2'+1=8+4+1=13 ® (-1101,413), =-(1-5° +1-5° +0- S445 +z +3 —151,864 = 1, 8 ® (13,18), =1-16" Stare 19,09375 = 14.66 14 ® 0, £6...)i6=sS+ Dest ‘ Drs 16 Lig 16 © (0,10..),=>, ial 42 - CALCULO NUMERICO PARA UNIVERSITARIOS »232 © (4,41...),=4+ 233 © (-31,6...),=-(3-7' +1435 i=l 2.10 Conversio da Parte Inteira sem Sinal na Base Decimal para uma Base Nao Decimal _ Para convertermos a parte inteira sem sinal de um ntimero real escrito na base decimal para uma base nao decimal, usamos 0 algoritmo das divisbes sucessivas. Isto € ilustrado na Figura 2-2. divisdes sucessivas FIGURA 2-2: INTEIRO DECIMAL PARA NAO DECIMAL, O algoritmo das divisdes sucessivas é baseado na divisio euclideana de ntmeros naturais. Consideremos o némero natural x escrito na base b = (dd dyydyd)dy), = d,-b’ +d,.-b" +d, 9b"? +..4d, Bb +d, -b+d, nL Este ntimero pode ser escrito da seguinte forma: x=(d,-b +d, bd? +d, bo +.. +dy-b' +d,)-b+dy Observe que dyé 0 resto da divisio de x por b e que a parcela entre parénteses é 0 quociente de tal divisio. Logo, para encontrarmos o digito dy basta encontrarmos o resto da divisdio do ntimero x pela base b. Da mesma forma encontramos, iterativamente, os digitos d,, dz, .. dy2+ REC noir En ARITMETICA DE MAQUINA - 43 2.11 Exercicios 234 © (49).) = (2D), 235 @ (49). =(2> 2, ai 2 1 0 (49), = 010001), &236 @ (49). =(2), 49] 7 mess 0 7 Sy oe 0 1 7 (49),. = (100), 44 - CALCULO NUMERICO PARA UNIVERSITARIOS &237 ® (49) = (Dis (A909 = 3Di6 2.42 Conyersao da Parte Fracionaria na Base Decimal para uma Base nao Decimal Para convertermos um ntimero real, que esteja entre 0 & 1 e escrito na base decimal, para uma base nao decimal, usamos 0 algoritmo das multiplicagdes sucessivas, Isto ¢ ilustrado na Figura 2-3. ‘nimero real __niimero teal entreQe1 | multiplicagdes entreQe 1 na base decimal sucessivas ‘Nao decimal 10) _ (bet0) FIGURA 2-3: FRACIONARIA DECIMAL PARA NAO DECIMAL. O algoritmo das multiplicagGes sucessivas € baseado no seguinte: Consideremos o ntimero real x a _ ey = 0. fefody= Be Br Ke. one 0821. Multiplicando ee ‘os membros da equagiio por b, encontraremos, xeb= are & ..,onde OS x-b 243 © 0,9=(2), 09 | 08 | 96 | 92 | 04 | 08 | 06 1/4 | 1 | 0 ° [a 0,9 =(0,11100...), parte fracionaria parte inteira m244 © 09=(V%. 09 0.4 0,4 14 6 0,9= (0, E6...)ig 0,4. parte fracionaria 6 ow parte inteira 2 14 Conversaio de um Niémero Real de uma Base qualquer para Outra Base Qualquer: Juntando as Etapas_ Agora que j4 conhecemos as trés etapas que envolvem a mudanga de uma base qualquer para a base 10 (dez) ¢ vice-versa, vamos uni-las. A Figura 2-4 ilustra tal unio. divises | sucessivas 8 efetuar as cS contas 3 em decimal : i multiplicagdes sucessivas FIGURA 2-4: NAO DECIMAL PARA NAO DECIMAL. 2.15 Exercicios p245 @ (100,3...), =(). Decompondo o ntimero nas partes inteirae fracionsria (100, 3. ), = (100), + (0,3. ts Aplicando a primeira e segunda ctapas para a parte inteira: ARITMETIGA DE MAQUINA ~ 47 > 2.48 2.49 (100), = (49); = 410001), Aplicando a primeira e terceira etapas para a parte fraciondria: (0,3...)7 =(0,5)jo = (OD). Juntando os resultados anteriores, (100, 3...), = (110001,1), ® (O14), = (2)4 Decompondo o ntimero nas partes inteira e — fraciondria: (61,4), = 161), + (0,4),]. Aplicando a primeira e¢ segunda etapas para a parte inteira: (61)s = (49) = BON), . Aplicando a primeira e terceira etapas para a parte fraciondria: (0,4), = (0,5) 9 =.(0,2),. Juntando os resultados anteriores, (61,4), = (-301,2), ® (11,0110...), =(2), Decompondo o nimero nas partes inteira e fraciondria: (11,10110...), = (11), + (0.10110). Aplicando a primeira e segunda etapas para a parte inteira: (1), =) =), Aplicando a primeira e terceira etapas para a parte fracionéria: (0,10110...), = (0,7), = (0,230...),. Juntando os resultados anteriores, (11,10110...), = (3,230...)4- ® 13,18).6 = (2 Decompondo o ntimero nas partes inteira e — fraciondria: (13,18),¢ = 13),¢ + (0,18),6- Aplicando a primeira e segunda etapas para a parte inteira: (13),6=19=Np- Aplicando a primeira e terceira etapas para a parte fraciondria: (0,18), = 0,09375 = (0,116),.- Juntando os resultados anteriores, (13,18),5 = (17,116), . ® (-1101,413), = (Die Decompordo o ntimero nas partes inteira ¢ — fracionéria: (1101,413), = 101), + (0,413), Aplicando a primeira e segunda etapas para a parte inteira: 48 — CALCULO NUMERICO PARA UNIVERSITARIOS (1101); =151= (97), Aplicando a primeira e terceiraetapas para. a_ parte fracionéria: (0,413), = 0,864 = (0, DD2FLA9FBETCC....),¢. Juntando 0s resultados anteriores e colocando o sinal negativo: (-1101,413), = (-97, DD2F1A9 FBET6C...),¢. m250 © (4,41), =(2) Decompondo 0 néimero nas partes inteita © fracionéria: (4,40; = (4); + (0,41). Aplicando a primeira e segunda etapas para a parte inteira: (4), =4=(1)). Aplicando a primeira ¢ terecira ctapas para a parte fracionéria: (0,41), = 0,875 = (0,21...);. “iaitands ve-rendlindos anterloms, 4, 41),> 1,21...) p2.51 © (-31,6), =-23=(-113), 2.52 @ (1,318-10'),, = (13,18),, =19,09375 = (17,116), = (1,7116-10")y. 2.53 @ (-3166,6...:107), =(-31,6...), = -23 = (-113), =(-1,13-10*), p254 @ (-4414141,41...-10"), =(-4,41...); =-4,875 = (-11,21...), =(-1121212,12...-10"), 2.55 @ (-1,001413-10"), = (-1001,413), =-151,864 = (97, DD2FIA9FBETOC...),= (-9,7DD2F1A9FBET6C...-10')¢ 246 Mudanca da Base Hexadecimal para a Base Bindria Um caso particular de mudanga de base numérica e de grande interesse pratico 6 a mudanga da base hexadecimal (16) para a base bindria (2) e vice-versa. ARITMETICA DE MAQUINA ~ 4¢ A Tabela 2-3 mostra a correspondéncia entre os 16 digitos da base hexadecima © sua representaco na base binéria. TABELA 2-3: HEXADECIMAL E BINARIA. HEXADECIMAL | BINARIA 0000 0001 0010 OOLL 0100 0101 0110 Out 1000 1001 1010 1011 1100 1101 1110 iil alajula}es)ro}4]o) tn] tr] J] O] 2] >] Joe Observando 0 teorema enunciado no inicio deste__capitulo, v= Edndy dyn dedidos fihrfs dis = t(d, 16" +d, _,-16"'! +d, .-16"? +...4d, 16° +d, 164d, + iy fy Ke 4 ft " , +=5+—5+...) © também que um digito da base hexadecimal pode ser 16 16° 16° escrito na base bindria como d, = 5,°2° +,+2° +i, -2+V,, para os digitos da parte inteira, e f,=c,:2?+e,-2?+g,-2+h,, para os da parte fracionéria, teremos x =4(5,- 20"? +4,-2? +u, 2" +y, 2! 4 Spy ZOO gg QMO y QMO gy gt gg Sih oo Bi y 3 2 1 cy & Sy 12 + ty +2? tay 2 t+yy ttt 3 0 0 0 oF BN oe tgs tat 55 t G6 Fort 58 Finalizando nossas_conclusées, teremos x= (td, )..dos fifo ig = (h5yE haa Sa lala Mae Sulla G8 PACae Ball Do. 50 — CALCULO NUMERICO PARA UNIVERSITARIOS 2.17 Exercicios &2.56 @ (43A), = (0100.0011.1010), »2.57 ® (3B,3A),, = (0011.1011,0011.1010), m2.58 @ (1111.1111,0111.1111), =(FF7P) 6 2.59 © (-0010.0111,1010.1100), = (-27, AC). ‘A mesma idéia acima vale para outras bases para as quais se estabelegam uma relagdo do tipo b'= 6” , onde m é natural, 2.18 Exercicios Gerais 2.60 Calcule as mudangas de base pedidas. 32)5 = (Dro = (Dre = (Ma = Da 2.61 Calcule as mudangas de base pedidas. (130), = (5 =o = is =e 2.62 Calcule as mudangas de base pedidas. (GFA) = (Dio = Ds = Ms = Or 2.63 Calcule as mudangas de base pedidas. (-112)ip = (Ms =a = Or = M2 2.64 Calcule as mudangas de base pedidas, (79), = (Mo = (Dre = (Mo = Ma 2,65 Calcule as mudangas de base pedidas. (0,3)i9 =). = Os =O) =O, 2.66 Calcule as mudangas de base pedidas. ON. =M)q =, = Mo = Ore 2.67 Calcule as mudangas de base pedidas. (0,49 = M2 =), = (4 = Orr 2.68 Calcule as mudangas de base pedidas. (0,7)5 = (D5 = Ms =z =i »2.69 Calcul as mudangas de base pedidas OA)s =@2 = (0 = Ou = Oe 2.70 Calcule as mudangas de base pedidas. B3)0 = M2 = Ms = (3 =r 2.71 Calcul as mudangas de base pedidas. (1D), = (D4 = Dz = (Mio = Mie ARITMETICA DE MAQUINA ~ 51 2.72 Calcule as mudangas de base pedidas. B,A)ig = (2 = Oro = Ou = Me 2.73 Calcule as mudangas de base pedidas. (SA) = )2 =), = Og = (Mo Calcule as mudangas de base pedidas. 6,7) = (De =()s = (D2 = (is »2.75 Como sinal de que ha vida inteligente em nosso planeta, foi sugerido em- viar para 0 espaco exterior, a seguinte mensagem codificada em binério: 11,00100100001111110110101010. A idéia é de que qualquer forma de vida inteligente certamente compreenderé o seu significado e concluird que nés, aqui neste planetinha azul, existimos. Qual 0 significado da mensagem? Como sugestiio conyerta a mensagem para a base dez, 2.19 Caracteres ASCUL Para a representagio bindria de caracteres utilizamos a Tabela ASCII (American Standard Code for Information Interchange). Esta tabela estabelece uma correspon- déncia biunfvoca entre os caracteres mais utilizados em documentos escritos e cédigos binérios. Ela foi introduzida em 1963 no sentido de padronizar os cédigos para caracteres dos diversos fabricantes de computadores ¢ utilizava, até entiio, 7 BITs para representar 128 caracteres. Atualmente utiliza 8 BITs e abrange um conjunto de 256 caracteres.Existem outras tabelas como, por exemplo, a Unicode (16 BITS). A versio da tabela ASCII para o Brasil é chamada de tabela BRASCII (BRasil- ASCID e é ilustrada na Tabela 2-4. Esta tabela também pode ser usada na mudanga de bases numéricas decimal, hexadecimal e bindria. Na Tabela BRASCI encontramos trés grupos de caracteres: © de controle; © letras e digitos; © especiais. Os caracteres de controle (de 0 a 31) so da tabela ABICOMP (Associagiio Brasileira das Indtistrias de COMPutadores). Ocupam as posigdes iniciais na Tabela BRASCII e servem, como 0 proprio nome diz, para controlar, por exemplo, a volta do carro de impressio para o inicio da linha (caracter de controle CR = Carriage Return), a alimentagtio de uma linha (caracter de controle LF = Line Feed), a alimentag&io de um formulério (caracter de controle FF = Form Feed), etc. As letras e digitos sio caracteres pertencentes 4 uniio dos conjuntos {A,a,B,b,C,c,...,2,z} (52 letras) ¢ {0,1,2,...,9} (10 digitos). Os especiais so os caracteres restantes tais como: $, @, ?, *, /, %,<, >, +, =, etc. 2.20, Nuimeros Inteiros Para a representago bindria de mimeros inteiros utilizamos, basicamente, trés tipos: © — inteiro sem sinal; 52. - CALCULO NUMERICO PARA UNIVERSITARIOS © inteiro com sinal; ° — inteiro BCD (Binary Coded Decimal). Existem outros tipos de representagdo de ntimeros inteiros, porém estes trés siio os que mais nos interessam. No tipo inteiro sem sinal, os BITs representam um ntimero natural escrito na base bindria. Exemplos: © 000.0011 é um BYTE que representa 0 nimero 3 ¢ — 1000.1000 é um BYTE que representa o ntimero 136 © — 0000.0000.0000.0011 sao dois BYTEs que representam 0 ntimero 3 © —0000.0011.0000.0001 sao dois BYTEs que representam 0 ntimero 769 No tipo inteiro com sinal, os BITs representam um mimero inteiro em "complemento de dois". Exemplos: © _ 1111,0001 é um BYTE que representa o niimero negativo ~15. primeira : ‘ 111.0004 troque 0 por 1 e—m) 000.1110, undo; _y] ogo.1011 1 por 0, ™ Observe que no tiltimo baldo & direita temos a representagéo em um BYTE do nimero natural 15 ¢ que o primeiro BIT do primeiro balio & esquerda é 1, significando que se trata de um mimero negativo. © 1000,1101.0000.0001 sao dois BYTEs que representam o mimero negativo 29439. primeire + ‘aegundo ; 10001 10.000.001 | — ge tpt comms segunda: soscrson oe Observe que no tiltimo balio A direita temos a representagiio em dois BYTEs do nimero natural 29.439 e que o primeiro BIT do primeiro balfio & esquerda é 1, significando que se trata de um néimero negativo. © OL11.1111.1111.0001 sio dois BYTEs que representam o nimero 32.753 Observe que ja temos a representagio em dois BYTEs do néimero natural 32,753 ¢ que 0 primeiro BIT do némero é 0, significando que se trata de um néimero positivo. No tipo Inteito BCD, um dos BITs representa o sinal do mimero € 0s outros representam, em grupos consecutivos de 4 em 4, os dfgitos na base 10. Exemplos: © 1000.1001.0011.0100 sao dois BYTEs que representam o nimero negativo -934, Observe, que no primeiro grupo de 4 BITs, o primeiro BIT representa osinal do ntimero e os outros trés nao foram utilizados, e que os grupos 0000.0011.1001.0101.0111.1001.0000.0011 sao vito BYTEs que represen- tam 0 mimero 3957903, Observe, que no primeiro grupo de 4 BITs, 0 primeiro BIT representa 0 sinal do néimero ¢ os outros trés ndo foram utilizados, e que os grupos restantes representam, respectivamente, na base 10, os digitos 3, 9, 5, 7, 9, 0 e 3, codificados em bindrio. ARITMETICA DE MAQUINA ~ 53 4 0100 0101 3 TABELA 2-4: BRASCII. 2 0010 011 4 0000 0001 hex. bin. 0 1 2 i 4 5 7 54 - CALCULO NUMERICO PARA UNIVERSITARIOS i ee ee 1101 11101111 ‘AO BRASCII. Cc 1100 \C ne 1011 ay 4010 oe 1001 TABELA 2-4; CONTINUA 8 1000 bin. 0000 - hex. 0001 8 5 fe ~ | 0010 ol 0011 3 8 & a =| e 0101 5 0110 6 3S | ea -| Z 2 -| fe Pe > b i Ef = e | 1000 8 1010 Ae 1110 E x E =| PF eEol-h 4414 E ARITMETICA DE MAQUINA ~ 55 221 Graficos Para a representagiio bindria de um gréfico utilizamos, basicamente, dois tipos: © representagdo por mapa de BITs (BITmap); © representagdo vetorial. A representagio por mapa de BITs consiste em dividir uma figura em uma (juantidade finita de pontos e representar cada ponto por um BIT. E isto que é feito quando vemos uma imagem na tela do computador ou em uma impressora inatricial. Ela é uma composigao de pontos representados por BITs. Exemplo: a Figura 2-6 mostra o desenho de uma caveira em preto ¢ branco e a Figura 2-5 a Inesma caveira na convengio binaria de 0 para branco e | para preto. 1234567890123456 1234567890123456 1 ofolofofofayasis/a}afojojojofojs b (ofo(6}o(a|o|a)oj0jofo/a}o/ojofoj2 b (ojojolzfololofolofofojojzjajofojs 4 (ojojolzfols|a}ofola|alolajolofola Is (ofojolz[olz|aofola|afolafolofojs io (ofojolz|olojoialzfolojolzjolojoje 7 (oJojofo|z}ojoi2/2}olo}a}ofolofoja is (oJo}ofola}z ojofolo}zjojofolofojs lp fofofofojojz}a/a|a|a}zolo}ojajaje lo [o}o}ofojo}z|ojofojo}zolo}ojojojo 1 [o}olofojojofa/2f2|2}ojojofojofo) FIGURA 2-6: CAVEIRA. FIGURA 2-5: CAVEIRA BINARIA. Dentro dos limites da frea acima (16x11) a representagio bindria seria, percorrendo todos os quadradinhos da esquerda para a direita ¢ de cima para baixo: 0000.0111.1110.0000.0000.1000.0001.0000.0001.0000.0000. 1000.0001.0110,0110.1000.0001.0110.0110.1000.0001.0001. 1000.1000.0000.1001.1001.0000.0000.0100.0010.0000.0000. 0111.1110.0000.0000.0100.0010.0000.0000.0011.1100.0000. A representacio vetorial é aquela na qual representamos elementos geométricos por ntimeros em bindrio. E 0 que ¢ feito na Geometria Analitica, Exemplos: e Para representarmos um segmento de reta poderiamos representar a nivel bindrio os mimeros reais u, v, x ¢ y, a cor do segmento de reta, , 0 tipo de tragado (pontilhado, tracejado, por exemplo), etc. Observe a Figura 2-8. 56 - CALCULO NUMERICO PARA UNIVERSITARIOS, © Para representarmos uma circunferéncia poderfamos representar em bind (pontilhado, tr: FIGURA 2-8: SEGMENTO. DE 2.22, Programas RETA. 0 os niimeros reais x, y er, a cor da circunferéncia, 0 tipo de tragado .ejado, por exemplo), ete, Observe a Figura 2-7. FIGURA 2-7: CIRCUNFERENCIA. A representagiio binéria de um programa em Linguagem de Maquina é feita como uma seqiléncia de cédigos de operagiio e operandos. Exemplo: © Para.a CPU 8088 da Intel podemos rodar 0 seguinte trecho de programa: 1010. 0000. oo11. 0111. ili. 1110. ddA. 0001. 0001. 1102 .. TnL. 1111. 1011. ALLL... 0000. 0000. 0000. 0000. 0000. 0000. 0000. 0000 0110 0000 0110 0110 0100 0110 -0000.0010 -0000.0000.0000.0000 -0110.0100 -0000.0000.0000.0100 -0000.0000.0000.0110 A seqiiéncia binaria anterior poderia ser representada em hexadecimal por: A1.00. 01.06. 3D.00. 7F.06 FF.06. EB.04 FF.06. 02 00. 64 00. 00. 00 04 06 ARITMETICA DE MAQUINA - 57 A mesma seqiiéncia poderia ser representada em Linguagem Assembly 8088 por AX, MES ADD ANO,AX CMP AX,100 JG MAIOR INc CONT1 JMP SHORT DEPOIS MAIOR: INC CONT2 DEPOIS: 2.23, Sistema de Ponto Flutuante IEEE Diversas representagGes diferentes de ntimeros reais tém sido propostas. Dentre clas destacamos: e barra flutuante; © logaritmo sinalizado; © — ponto flutuante. A representagao como ponto flutuante é, de longe, a mais utilizada, principalmente nos microcomputadores ¢ calculadoras. Quando representamos um ntimero real (R), com caracteristicas continuas, como um némero em ponto flutuante (F), com caracterfstica discretas, uma importante questo dever ser enunciada: como infinitas casas so aproximadas por finitas casas? Outra questo de grande importéncia também é: o que fazer quando 0 resultado de uma operagio em ponto flutuante excede o némero finito de casas? Para questées como as anteriores e outras inerentes aos sistemas de ponto flutuante temos como resposta os padrdes do IEEE (Institute of Eletrical and Eletronics Engineers), um conjunto de normas utilizado na especificagiio de tais sistemas. Um sistema de ponto flutuante do IEEE é composto pela unio de 5 conjuntos: © zero sinalizado; ntimeros nao normalizados; ntimeros normalizados; infinidades; NaNs (Not a Number). Utilizaremos a notagio F(B, p, émins @més) (Veja adiante a motivagio para tal notago) para designar o sistema de ponto flutuante. eo eee 2.24 Numeros Normalizados e Zero Sinalizado Em geral, um ntimero em ponto flutuante normalizado € escrito como (4dy,d,dy...d,.X B’)g,, onde: e +60 sinal do nimero; 58 — CALCULO NUMERICO PARA UNIVERSITARIOS © BE {2,3,4,...} éabase: © peN =fi,2, 2 cele, ..} 6a precisio; -ninse«Enix } LZ € 0 expoente; 2 de N={01,2,...} Significando ou mantiss: 0 os digitos, sendo que dy #0. é a parte do,did,...d,_, do nimero em ponto flutuante. Neste ponto é interessante salientar que, aqui no Brasil, 0 caractere que separa a parte inteira da parte fracionéria é a virgula € néio o ponto. Este tiltimo pode ter sua posigio alterada conforme variamos 0 expoente, daf 0 nome ponto flutuante. Os valores enn, € €nax SHO, respectivamente, o menor e o maior expoentes permitid Um niimero em ponto flutuante € dito normalizado quando dy #0. Isto garante a unicidade na representagado. Exemplos: © 0,1234x10" = 1,234 10' = 0,001234x10* = 0,00001234 x 10° sto 4 representagSes possiveis do mesmo mimero, A normalizagio garante que apenas a segunda é vilida, isto é, a representagio é tini © 1,234x10! = 123,400x10" = 12340,000x107 siio representagdes possiveis do mesmo ntimero. A normalizagio garante que apenas a primeira é valida. Observando que a ordenagdo dos ntimeros reais corresponde a ordenagéio dos nimeros em ponto flutuante, o zero € representado com p digitos de precisiio por ct Isto parece estranho, porém tem seus usos na aritmética em ponto flutuante do IEEE. Pelo IEEE a base 3 é sempre assumida como par. As normas IEEE utilizam ,00...0x B*"*),. Observe que podemos ter um zero positive ou negativo B =10 pois é apropriada para calculadoras, onde o resultado de cada operagio é exibido em decimal. Caso a base niio seja 10, entiio ela deve ser 2. As justificati para B =2 estio relacionadas a simplicidade para cotagem do erro relativo, simplificagdes de andlise quando baseadas no erro relativo, A perda da precisio efetiva para bases grandes e ao ganho de um digito extra no significando quando da normalizagao (BIT oculto). Usualmente um elemento do sistema de ponto flutuante do IEEE 6 armazenado (padrio de BITs) com o expoente & esquerda do significando (Figura 2-9). expoente significando FIGURA 2-9: PADRAO DE BITS. Sina ARITMETICA DE MAQUINA ~ 59 A precisiio p pelos padrdes do IEEE pode ser: simples, simples estendida, dupla (0\) dupla estendida (Tabela 2-5). A preciso estendida permite que internamente os uileulos de exponenciais, co-senos, uma simples multiplicagZo ou um logaritmo sojum feitos com uma maior precisio, evitando que digitos contaminados sejam oibidos para o usuario. TABELA 2-5: FORMATOS DO IEEE. Parametro ae Simples | Simples Esiendido | Duplo | Duplo Estendido Dif's no significando ou 53 ee 24 232 264 BITS no expoente 8 211 a 215 E ends +127 241023 +1023 >16383 Ent -126 $1022 -1022 $-16382 total de BITS 32. 243 64 279 O expoente ¢ pelos padrdes do IEEE € o ntimero inteiro sem sinal i armazenado subtraido de 2"! —1, onde w € 0 tamanho do expoente em BITs. Exemplos: i-(2*" -1) =i-127; i-(2!" -1) =i-1023. © Para precistio simples (ww = 8): € © Para precistio dupla (w = 11): A seguir damos alguns exemplos de representagio bindria de nimeros em ponto flutuante: . J 900.0011.0010.1000.0000.01.10 000.0001 sto 4B que sinalexpoente——S*~*~*~*~*« cand representam em um formato Simples (4B=32b) 0 ntimero (-1,010.1000.0000.0110.0000.0001), -2°"”. Observe que o sinal € negativo e que o primeiro BIT do significando € oculto ¢ igual a 1; © 0, 100.0001.1010.1010.1000.1010.1000.1010 séo 4B que sival ‘expoente. significando representam em um formato Simples (4B=32b) 0 némero (+1,010.1010.1000.1010.1000.1010), -2""?”. Observe que o sinal é positivo e que o primeiro BIT do significando € oculto ¢ igual a 1; ¢ Em binério 2 = (11,0010010000 1111110110 101010 ...),. Em formato Simples 7 = (+1,1001001000 0111111011 O11), 22028-1237) Os 4B que representam m em formato Simples sto 60 - CALCULO NUMERICO PARA UNIVERSITARIOS Q 100.0000.0100.1001.0000.1111.1101.1011. Observe que o So NSS SEE en ee ro agape sinal € positivo e que o primeiro BIT do significando € oculto e igual a 1; © O néimero -4,4=(-100,0110...), = (-1,000110...-10"), ¢ representado em formato duplo pelos 8B: i 100.0000.0001,0001.1001.1001.1001.1001.1001.1001.1001, sinalexpoente ‘agate 1001.10011001.10011010. Observe que o sinal € negativo e que o 41001.10011001.10011019 contin jgnlficando primeiro BIT do significando € oculto c igual a 1; © — Ontimero +0 ¢ representado em formato simples pelos 4B: 0000.0000.0000.0000.0000.0000.0000.0000 . 2.25 Quantidade de BITs para Codificar um Numero em Ponto Flutuante Normalizado Consideremos 0 mimero em ponto flutuante (td9,d,d,...d,., XB"). A quantidade de BITs para o expoente pode ser calculada observando que em 7 BITs para 0 expoente teremos um total de 2” arranjos, que é um ntimero par. Assim 7 & o menor valor para o qual e, Cniq t1S 2", ou melhor, x é 0 menor valor para o qual log, (€nic—€nm tI) Sn. Assim, 2 € © teto n= [1085 (Cnae— Sn +1) |. A Figura 2-10 ilusira a fungdo teto. x, sexe Z = min{k|k>x,ke Z) = (= Pantaleo) lito trace FIGURA 2-10: FUNGAO TETO. ‘A quantidade de BITs para o significando pode ser calculada observando que em m BITs para o significando teremos um total de 2” arranjos, que é um mimero par. Assim m & 0 menor valor para o qual 8’ <2”, ou melhor, m é 0 menor valor para o qual log,B’R B pr FIGURA 2-11: DISTANCIA ENTRE DOIS NUMEROS NORMALIZADOS. 0,00. padigivos Ix pe = Observe nesta figura que esta distincia ¢ sempre constant para ntimeros normalizados onde 0 expoente e € 0 mesmo e que a quantidade de niémeros normalizados com 0 mesmo expoente é, também, constante. 2.27 Menor e Maior Numero Normalizados em Ponto Flutuante Consideremos 0 ntimero em ponto flutuante (tdy,d,d,...d,* B*)y. 0 menor valor positivo normalizado possfvel para tal ntimero € aquele onde dy é 1, 08 outros digitos so 0 € 0 expoente € min isto é, menor = B°"* . O maior valor positivo normalizado possivel para tal niéimero € aquele onde todos os digitos sio 62 - CALCULO NUMERICO PARA UNIVERSITARIOS B-1 © 0 expoente € max: ((B-11,[6 - ULB -1]..-[B -1x B*), = B- Yor) - Bisco 6, maior = (1 2.28 Underflow e Overflow Baseados no menor e no maior niimero em ponto flutuante normalizado, teremos a definigio de duas regides reais de extrema importéncia em aritmética de maquina: a regitio de underflow (|x|k menor,x#0) e a de overflow (|x |> maior ). A Figura 2-12 ilustra tais regides. -maior N S78 5/4 14 SZ TID 5 7 FIGURA 2-13: SISTEMA F(2, 3, -1, 2). ARITMETICA DE MAQUINA ~ 63 O menor e 0 maior mimeros sto, respectivamente, 4 © 7. A regitio de underflow é 1-4, 4[- (O} ea de overflow é }--9, -7 [U 17, eA. © Osistema F(3, 2, -1, 2) € ilustrado por seus normalizados pela Tabela 2-7 pela Figura 2-14. TABELA 2-7: SISTEMA I, 2, -1, 2). significando iO (in | te 20 |i o> 2 LLB [49 [509 | 278 | 79 | 89 elo} 1 |43|53|2 [73 [83 eli[3 [4a [set 7 [3s 219 [12 [is [18 [21 [24 © menor e © maior nimeros séo, respectivamente, 1/3 e 24, A regio de underflow é ]-1/3 , 1/3 [- {0} ea de overflow é ]--, -24 [ U ]24, ~[. FIGURA 2-14: SISTEMA I, 2, -1, 2). 2.30 NANs, Infinidades, Zero Sinalizado e Numeros nao Norma- lizados Os padrées do IEEE especificam os seguintes valores especiais: © zero sinalizado; © nimeros nao normalizados; © infinidades; e NANs. ‘A Tabela 2-8 ilustra a representagio de tais valores especiais ¢ dos ntimeros normalizados para a base bindria (8 = 2). Observe que f representa os digitos da parte fraciondria. 64 - CALCULO NUMERICO PARA UNIVERSITARIOS TABELA 2-8: ESPECIAIS E NORMALIZADOS DO IEEE. expoente: parte fracionaria | representagiio ‘especificagio €= nin ~ 1. +0 zero sinalizado @ = min ~ 1 Ox 20% | mlimeros no normalizados Emin SES Cmiy vf Lex 2" niimeros normalizados € = Cmixt 1 f=0 teo infinidades € = Cméx + 1 f#0 NaN Not a Number Tradicionalmente © cOmputo de % ¢ V/=1 6 tratado como um erro que causa a parada da computagiio. Existem, entretanto, situagées em que esta parada é indesejavel ¢ faria mais sentido se tal computagio continuasse. Este problema € solucionado pela introdugdo de um valor especial: NaN (Not a Number). Em termos gerais, sempre que um NaN participa de uma operagéo em ponto futuante, o resultado também é um NaN. Nos padres IEEE os NaN so representados pelo expocnte eqs + 1 € um significando nfo nulo. Isto permite uma liberdade aos sistemas de implementarem informagées no significando utilizando uma familia de NaNs. Assim como os NaNs permitem a continuagdo da computagtio quando expressées como Y% © v¥—1 sio encontradas, as infinidades permitem a continuagio quando um overflow ocorre. Retornar uma infinidade & muito mais seguro do que retornar o maior mimero normalizado. As infinidades sfio +00 ¢ 00 simbolizam um limite tendendo, respectivamente, ao infinito positive e ao negativo. Alguns resultados interessante na aritmética do IEEE com o uso de NaNs, infinidades ¢ zero sinalizado podem ser vistos nos seguintes exemplos: ° %=NaN; « V-1=NaN; © fo= +t, aqui o zero sinalizado representa um limite tendendo a zero por valores maiores que zero; a aes = oe, observando que 0 zero € sinalizado negativamente; © %=We VX =-0; 2° 4-c0=~00; . Vite Sieg © — log(+0) =—c0; ARITMETICA DE MAQUINA - 65 © log(-1)=NaN ; ° %,=-0; « Y,=+0 Os ntimeros néio normalizados constituem a maior controvérsia dos padrdes do IBEE. A idéia basica é antiga e simples: quando 0 expoente & ni, 0 significando niio precisa ser normalizado (d,#0). Isto caracterizard o que se chama de underflow gradual ilustrado na Figura 2-16. Nesta figura vemos que os ntimeros néio normalizados preenchem de forma gradual salto existente entre os valores 0 e menor = B*** (menor nimero em ponto flutuante normalizado). a WY salto FIGURA 2-15: UNDERFLOW NAO GRADUAL. pia as 4 sm salto FIGURA 2-16: UNDERFLOW GRADUAL. Analise 0 seguinte: em um sistema de ponto flutuante F(10, 3, -98, 99), se x=385x10 © y=381x10°, entio x-y=0,4x10 que é um niimero normalizado © que seria arredondado para zero caso tivéssemos 0 salto ilustrado na Figura 2-15. 2.31 Exercicios 2.76 Quais so os valores especiais dos padrdes do IEEE? >2.77 O que significa NaN? 2.78 O que é underflow e 0 que é overflow? > 2.79 Exemplifique como no item 2.29 0 sistema F(3, 3, -2,2) 66 - CALCULO NUMERICO PARA UNIVERSITARIOS 2.80 Qual o menor e 0 maior niimeros normalizados do sistema F(3, 3, -2,2)? 2.81 Quala regitio de underflow ¢ a de overflow do sistema F(3, 3, -2,2)? 2.32 Arredondamento (11) Um arredondamento é requerido quando temos um nimero real (podendo ou nao ter caracteristicas contfnuas) e queremos aproximé-lo por um ntimero em ponto flutuante (sempre com caracterfsticas discretas). Genericamente, um arredondamento é definido pela fungio 0: RF“, onde R € 0 conjunto dos mimeros reais e FY & © conjunto formado pelo zero sinalizado, mimeros nfo normalizados, niimeros normalizados e infinidades do sistema de ponto flutuante (os NaNs nao fazem parte). Um arredondamento é dito pertinente quando ) x = x, Vx € FS. £ dito monot6nico quando x Ll x= Oy, Vx, yeR. ENN 2.33 Arredondamento para Baixo (1) e para Cima (1) Considerando a parte positiva do sistema, incluindo também o zero, EMS ={f=O,f fief =o} onde fe< Siu, VE=O,L....2-1 e observando que fi, representa um néimero em ponto flutuante, definimos: SF, Sex= f, 0 dxHs fete exe fa : mel: (—x), em outros casos fin 0x= fy © Tx) fear She <2 < fin =f (—x), em outros casos Vejamos alguns exemplos no sistema (2, 3, -1, 2) ja ilustrado na Tabela 2-6 e na Figura 2-13: . xl b= eTx=3; ox Wo bx=5f etx ¥h; © x=4—9bx=4 Tx=4 (pertingncia no arredondamento); 24> Lx=-6e Tx=-7; © x=8>bx=TeTx=0; « x=(101D,-2'=> bx=(01),:2' eT x=(1,10), 2. e x= ARITMETICA DE MAQUINA ~ 67 Os arredondamentos para baixo e para cima sio pertinentes e monot6nicos. 2.34 Erro Relatiyo (6) Os ertos de arredondamento so peculiares & computagiio em ponto flutuante ¢ \ilizamos para sua quantificagdo 0 erro relativo (6) e as ULP (Units in the Last Place). O erro relativo é definido por 6 = , x40, ou equivalentemente por liv=x-(1+6). Vejamos alguns exemplos no sistema F(2, 3, -1, 2) ja ilustrado na Tabela 2-7 ¢ na Figura 2-14: e x= VY, cUx=bx= 9, entto b= 2.35 Exercicios 2.82 O que so niimeros nao normalizados e para que servem? 2.83 O que é um arredondamento? 2.84 O que é um arredondamento pertinente? E um monot6nico? P2.85 O que é oerro relativo? Exemplifique. >2.86 O que € um arredondamento para baixo? E um para cima? Exemplifique. 2.36 Arredondamento para o mais Préximo (©), Epsilon de Ma- quina (€) e ULP © arredondamento para 0 mais préximo € ~—definido__por: Lxselbxsx az[tada| FIGURA 2-17: ARREDONDAMENTO PARA O MAIS PROXIMO. Observe pela definigio do arredondamento © que a Figura 2-18 € s ica em. relagio ao eixo 5, isto é, 6(—x) = 6(x). As regides de overflow e de underflow também sao visualizadas sendo que esta tiltima é gradual. maior’ “yl 4 Ay underflow normalizados overflow (nia normalizados) (infinidades) FIGURA 2-18; ERRO RELATIVO. valor que separa os miimeros nfo normalizados é s = 0,00...1x B*™ = pose > Bom pe andlogo, o valor que separa os mimeros normalizados é 0,00...Lx B° . O valor s também é 0 menor némero (positivo) no normalizado, De modo Be Be p ARITMETICA DE MAQUINA - 69 © prafico da fungio S(x) pode ser evidenciado pelo seu crescimento, concavidade ¢ alguns pontos particulares ilustrados pela Figura 2-19 © O0. Logo é decrescente. Pal x Derivando novamente, 2© x 5" (x) =-© x(-2x") ===> 0, pois 200. Logo a concavidade € para x cima. Observe que quando bx=(B'-l)s=> = Gate Ds, 5 iL - e que quando x= B's = B% = menor > 2p! -1 d(c)= td a 2p +L 70 - CALCULO NUMERICO PARA UNIVERSITARIOS ° maior 0, entio a fungio € decrescente com coneavidade para cima. Do grifico do erro relative com o atredondamento © evidenciamos que ‘ 1 € VWxeR, menorSxSmaior, temos |5|$—— —= ——, onde 2pPt+1 1+eé 1 1 _B gn 5 aaa = sor = > B® € 0 chamado Epsilon de Maquina. 2p? 2p" 2 O mesmo valor € aparece quando utilizamos um arredondamento qualquer (7) com as propriedades de pertinéncia e monotonicidade. A Figura 2-20 ilustra um niimero x€ R entre seu atredondamento para baixo (Lx) e para cima (7), de x te mo 8 as|tly FIGURA 2-20: AMPLITUDE. Considerando menor SxS maior , teremos, pela monotonicidade e pela pertinéncia, Lxsx Olxsoxsotx bxsOxst x. Como dasxstx=> -Txsxs-Jx, teremos que bx-TPxsOx-xstx-lbes -(1x-Lx) |6(-) 609] S2e. Finalizando: |6|$2€ — para um arredondamento qualquer (0) © menor S| x|S maior . As ULP (Units in the Last Place) séo também utilizadas para a quantificagao do erro de arredondamento. Vejamos alguns exemplos no sistema F(10, 3, -98, 99): ® seo resultado aproximado de uma computaciio fosse [1x = 3,13x107 e se 0 resuliado com preciso infinita fosse x = 0,03126, entio o erro absoluto seria de 0,4 ULP; * se Lx = 3,14x107 e x = 0,0314159, entio 0 erro absoluto seria de 0,159 ULP; © se Lx =3,00x10* ex = 3,008X105, entio o erro absoluto seria de 0,8 ULP; © se Cx =2,00x10? e.x = 1,999X10°, entio o erro absoluto seria de 0,1 ULP. Uma ULP € definida por ULP = B*/B?" que nada mais é do que o valor que separa os ntimeros normalizados: 0,00...1x B° = B°/Br!. — > Como ULP = B°/p’"! =2 ¢ entio ULP = 2ef". 1p ar A forma mais natural de quantificarmos os erros de arredondamento é com 0 uso das ULP e para analisarmos comparativamente o erro de arredondamento entre varias f6rmulas a melhor seria 0 erro relativo (6). 2.37 Exercicios 2.87 Defina o aredondamento para o mais préximo © (“closest”) ¢ exemplifique. 2.88 Qual a expressiio que calcula o menor valor positivo nao normalizado em ponto flutuante s (“small”)? 2.89 O que é ULP? O que é 0 epsilon de maquina €? Qual a relago entre ULP e 0 epsilon de maquina? 2.38, Digitos Contaminados Consideremos Cx =+dy,dy..-dy gp cg +4 p4 XB*. Seré que os digitos pertencentes a0 ntimero arredondado [x so dfgitos do néimero x? Até qual digito nos digitos do némero arredondado Cix sao também dfgitos do ntimero x? Estas perguntas podem ser respondidas pela seguinte definigio: dizemos que 0 1 néimero arredondado Ox possui g digitos contaminados quando wren < 72 ~ CALCULO NUMERICO PARA UNIVERSITARIOS & I és—_—., Ie 2pP 941 possui todos os digitos contaminados quando | |= 1 no possui nenhum digito contaminado quando [5 |=0 e Tal definigo nos leva ao seguinte: 1 1 ss NS BO << 28 OO 415 apron] TOR 75[<28 ipl eG) 1 ee ai ‘Je 1f 1 ape gt) f 1 lf 1 6 |S ———_ => —_> 2p 4415 — 1 |S BP es I3| 2BP% +1 |d| B a B lf 1 1f i I -|—- 2p- 2 p-log,|—| —-1]]. relat | aoe ee 3 | Li If 1 —log,| —| —-1]]< log ,|—| —-1||+1 Ee reali | po rela J - tanto, q = [?- log ar [5] Observe que tn = oe 3 ler iI: significando que nenhum digito do ntimero arredondado Cx est4 contaminado, ¢ que |4=0 quando x e Lie, Observe também que tn 4 rE 1 At Bs : “]- ©, significando que todos os digitos do nimero arredondado [1x esto contaminados. Alguns exemplos no _—sistema_—s«F(10,_—4,_—=«-98, 99), onde. er ARITMETICA DE MAQUINA - 73. ¢ Lx = 6,666x10", O = 0,30107343, a= 6,667x10", 0 6,660x10", 6,670x10", 0,00002172, y 1,30146451, q = 2; 1,00021720, 230539480, q 334678749, 3,02227639, 2,39 Erro Relativo nas Operagoes Elementares no Arredon- damento © Os padrées do IEEE fornecem algoritmos para as operagdes clementares (adigéo, subtragdo, multiplicagio e divisio) e, também, para a raiz quadrada, requerendo que as implementagSes produzam os mesmos resultados que est algoritmos. Isto € importante ao portar um programa de uma méquina para outra: os resultados das operacées serfio os mesmos em qualquer um dos BIT’s em ambas as maquinas, desde que elas suportem os padrées do IEEE. Os padres do IEEE também requerem que os resultados das operagées clementares sejam arredondados exatamente, isto 6, os resultados devem ser computados exatamente e entio arredondados para o ntimero em ponto flutuante mais préximo usando o critério do par. Aqui vale a pena salientar que no arredondamento para o mais préximo © podemos nos valer de dois critérios quando 0 niimero x é 0 centro ¢ (Figura 2-19): critério de maquina e critério do par. © critério de maquina assume para x um cardter discreto onde seus finitos digitos que serio abandonados no arredondamento dy, dys... 5 dy4n.1 perfazem um. total de 6" arranjos. Quando a base f € par, este total também é par e, assim, uma metade destes arranjos de n digitos (de 00 ... 0. [//2-1][f-1) ... [B-1]) arredondaria para baixo e a outra metade (de [/2]0 ... 0A [B-1][f-1] ... [B-L]) arredondaria para cima. Observemos que quando a base B é impar, x (discreto) nunca ser 0 centro c. © critério do par assume para x um caréter continuo onde seus infinitos digitos que sero abandonados no arredondamento dp, dp.;,... deverio, metade das vezes ser arredondados para baixo e a outra metade das vezes para cima, Quando a base Bé par uma das formas de se obter tal metade € arredondar de forma que o tiltimo digito do significando permanega par, isto 6, d,., seré sempre par, daf o nome arredondamento do par. Existem razdes numéricas que aqui no sio discutidas para preferirmos o arredondamento do par. 74 — CALCULO NUMERIGO PARA UNIVERSITARIOS Vimos anteriormente que, quando utilizamos © (com o critério de maquina ou o critério do par), teremos ©x = x-(1+6), onde xR, menor 0. A fim de alinharmos as virgulas dos significandos, deslocamos s, em ¢—f' casas: y=s, Bi": B*. Como 1$s, fe 5, +5, ° Bi l+e ARITMETICA DE MAQUINA-75. pre 5, +8. Caso BSS, +5,- P< 2p => 1S eH apés frmalizarmos e arredondarmos o resultado, encontraremos ©(x+ y)= 5:8 Be +& | Betta x+y) =| 1+——=__ |, de B §}B (x+y) Re a a 6 menor S|x+y|< maior. I+eé Fazendo 8 = 6 [56 = sys, maior. Kesultados andlogos podem ser obtidos para as outras operagdes fundamentais com © arredondamento ©. Assim: menor < [xe >| 2.90 O que é um digito contaminado? Exemplifique. 2.91 Para quais operacées os padres do IEEE fornecem algoritmos? Qual 0 motivo de tal importincia? >2.92 O que 6 0 critério de maquina? Exemplifique. 2.93 O que 6 o critério do par? Exemplifique. > 2.94 O que é umalgoritmo estivel? E um instavel? 2.41 Exemplo do Cancelamento Catastréfico Os padrdes do IEEE requerem que os resultados das operagdes elementares sejam computados exatamente e entio arredondados para o nimero em ponto flutuante mais préximo usando 0 critério do par, Isto € muito dispendioso quando os operandos siio de magnitudes muito diferentes (por exemplo, em um sistema onde p = 3 e B = 10, x = 123x108 e y = 4,56x10, x + » = 1230000000000000,0000000000000000000321). Assim, ao invés de computarmos 08 resultados exatamente, utilizamos um néimero fixo de digitos. Por outro lado, trabalhando com um ntimero fixo de digitos, os operandos estaio sujeitos a erros de arredondamento e 0 célculo de uma expresso contendo uma subtragdo ou uma adigio de quantidades de sinais opostos e de magnitudes quase iguais pode resultar em um erro relativo tio grande que todos oS digitos estardo contaminados, isto é chamado de cancelamento catastr6fico. Para minimizarmos 0 cancelamento catastréfico utilizamos digitos extras excedentes a precistio p, chamados guardiées. Considerando em um sistema de ponto flutuante, onde p = 3 ¢ B = 10, dois valores a serem subtrafdos x = 10,1 ¢ y = 9,93. Computando exatamente teremos x - y = 0,17, arredondando, 1,70x10". O erro relativo é 5= 0. Computando com preciso p = 3 ¢ descartando os digitos deslocados a dircita, teremos 1,01x10! - 0,99x10! = 0,02x10!. O erro relativo € 5 = (0,20-0,17)/0,17 = 0,176... Computando com um digito guardido, isto é, p = 4 e descartando os digitos deslocados 4 direita, teremos 1,010x10! - 0,993x10' = 0,02x10! = 0,17. O erro relativo é 5= 0. Aqui vale a pena salientar que ‘0 formato estendido nos padroes IEEE permite, de forma eficiente, 0 cOmputo de quantidades dentro de % ULP de precistio. Pense na sua calculadora que Ihe mostra 10 digitos decimais de precisio, mas usa internamente 13: mostrando somente 10 digitos de um total de 13, sua calculadora consegue obter logaritmos, senos, exponenciais, multiplicagées, ete. dentro de ¥2 ULP. ARITMETICA DE MAQUINA - 77 2.42 Exemplo da Expressao Inocente Nio h4 uma concordéncia absoluta por parte dos cientistas sobre quais operagées em ponto flutuante devem ser arredondadas exatamente. Pelo IBEE as operagdes elementares (+, -, *, /), a raiz quadrada, 0 resto, a conversio entre inteiros e ponto flutuante devem ser arredondados exatamente. Isto se justifica, pois j4 so conhecidos algoritmos eficientes de arredondamento exato em tais casos. Quem sabe os produtos internos, onde a soma € um caso particular, também o deva. Observe a expressio seguinte: 2-0,0000000001 + 10000000000 - (0,0000000001 - 10000000000 = 0,0000000001 (resultado exato). Resolvendo em uma implementagio de ponto flutuante IEEE, encontramos a resposta 0,000000000000000E+00 em formato duplo. O erro relativo 6 6 = I, isto é, muitfssimo errado, 2.43 Exemplo da Formula de Bhaskara i Um dos grandes personagens da matemitica hindu foi Bhaskara de Akaria, 0 mais importante matemdtico do século doze. Ele apresentou, neste mesmo século doze, a solugio que mais se assemelha a utilizada atualmente para a equagio do segundo grau, Este resultado familiar para obtengo das raizes da equagio ax’ +b-x+ce=0 € conhecido aqui no Brasil como Férmula de Bhaskara —b+ Va -b-VA , 2 Qa Um resultado nio tio familiar (férmula modificada) é, a partir da férmula de eA=b?-4-a-c. Bhaskara, multiplicarmos o numerador eo denominador por -b— VA : 2c 2-¢ kas Ei ten ng S=yA ba Observemos a Tabela 2-9, que apresenta os resultados do cAlculo das raizes de x? +10000000-x+ ¥ = 0. Asvnities exatas em formatorduply aig.a.< 4,99999999999999-10" e x2 = -2,00000000000001-10". TABELA 2-9: CALCULO DAS RAIZES. _F6rmula de oe eae Formula Madi licada oraz a0 oe rai ee x | 5,02914190292358-10% 5.83110° | 4,99999999999909.10" | 0,00 x | -2,00000000000001-107 0,00 ~1,98841078518519-107 | -5,79-10° As quantidades b° e 4-a-c esto sujeitas a erros de arredondamento, pois sio resullantes de multiplicagdes em ponto flutuante, Quando elas so subtrafdas, 0 cancelamento pode causar um aumento de digitos contaminados. 78 — CALCULO NUMERICO PARA UNIVERSITARIOS Observemos que a equagio em questio possui b? muito maior que 4-a-c, que a F6rmula de Bhaskara apresenta um cancelamento para o célculo de x, ¢ nao para 0 de x» e que a férmula modificada apresenta, contrariamente a de Bhaskara, um cancelamento para x; ¢ nao para x}. Isto justifica os erros relativos apresentados: x, é mais bem calculado pela formula modificada e x) é mais bem calculado pela formula de Bhaskara. 2.44 Exemplo da Formula de Heron Heron de Alexandria (aprox. 100 D.C.) foi engenheiro e matematico e nasceu, como diz o nome, na cidade de Alexandria. A famosa férmula para 0 célculo da rea de um triéngulo a partir de seus trés lados foi demonstrada por ele em seu livro “A Métrica”’ A hoje conhecida Férmula de Heron é: A=Js-(s—a)-(s—b)-(s—c), onde $= aes (seftiperimetraliec: b, © ¢ sao os lados do triangulo. Uma forma alternativa de se escrever a Férmula de Heron é Vla+(b+e))-(e b)-(c+(a—b))-(a+(b-e Aion (a+(b+e))-¢ = ))(a+(b=c)) © abe, Caso esta tiltima condigao nao seja satisfeita, basta renomearmos os lados do tridngulo. Observemos a Tabela 2-10, que apresenta os resultados do céilculo da érea do estreito tridngulo de lados a = 9, b = 4,50000000002 e ¢ = 4,49999999999. A rea exata em formato duplo é 0,0000301869176962555. TABELA CALCULO TRIANGULO. Formula de Heron. Forma Alternativa drea 6 ES area 6 0,0000301882594837159/ 4,4-10"] 0,0000301869189450939) 4,1-10° Como a é aproximadamente igual 4 soma de b com c, ent&o 0 semiperfmetro s aproximadamente a e 0 termo (5 - a) na Férmula de Heron é uma subtragiio de quantidades prdéximas que possuem erros de arredondamento. A forma alternativa é precisa mesmo para triangulos estreitos, conforme constatamos pela observactio da tabela. ARITMETICA DE MAQUINA - 79 2.45 Exemplo do Teorema de Pitagoras igoras nasceu na ilha grega de Samos. Foi completamente envolto em lendas ‘io: era um profeta e um mfstico, Durante suas peregrinagGes pelo Egito, Nabilénia e {ndia, absorveu informagdes matematicas, astronémicas € muitas idéias \vligiosas (foi praticamente contemporaneo de Buda, Confiicio e Lao-Tse). © conhecido Teorema de Pitégoras é: a? =b? +c’, onde a, b e ¢ sio, ‘espectivamente, a hipotenusa e os catetos de um triangulo retingulo. Para calcularmos a hipotenusa de um triangulo retangulo utilizamos o Teorema Ue Pitégoras da seguinte maneira a = Vb? +c” . Uma forma alternativa para tal c cilleulo é a=b-,/1+ b 2 } sendo b2¢ Observemos a Tabela 2-11, que apresenta os resultados do calculo da hipotenusa do tridngulo de catetos b = 10 e c = 1 em formato duplo. Percebe-se que a forma alternativa evitou a infinidade que ocorreu no uso direto do Teorema de Pitégoras. TABELA 2-11: CALCULO DA HIPOTENUSA. Teorema de Pitagoras Forma Alternativa infinidade 1,000000000000000-10' 2.46 Exemplo da Funcao de Bessel As fungdes de Bessel aparecem geralmente nas solugées de equagdes diferenciais com condigdes de contono cilindricas. Neste exemplo ilustramos a fungao J, de Bessel. Observe a Tabela 2-12, onde encontramos duas colunas de valores para a fungdo Jy: uma calculada com o uso de um algoritmo recorrente e a outra com 0 valor exato. © algoritmo recorrente em questio 6: Jy=0,765197687, 440050586 © Iya 2m Jyr Ste Observa-se uma evidente instabilidade a partir de n=7 no algoritmo recorrente. Tal instabilidade deve-se a0 fato de que os erros dos valores Jo e J, sto multiplicados por némeros muito grandes e, assim, o erro do resultado é também elevado (exatamente temos J7=36.767 J;-21.144 Jp). 80 - CALCULO NUMERICO PARA UNIVERSITARIOS TABELA 2-12: CALCULO DA FUNGAO DE BESSEL, [) Fi com 9 decimais : ac | caigoritma recorrente) | Jeexate-comOdecimais | 3 0 0,765197687 0,765197687 0,00 1 0,440050586 0,440050586 0,00 2 0,114903485 0,114903485, 0,00 3: 0,019563354 0,019563354 0,00. 4 0,002476636 0,002476639. 0,00 3 0,000249736 0,000249758 0,00 6 0,000020725, 0,000020938. -0,01 7 -0,000001038 0000001502, -1,69 8 -0,000035264. 0,000000094 -376,15 2.47 Exemplo da Exponencial O cAleulo da exponencial e* pode ser feito através de uma expansiio em série de Taylor para uma varidvel, conforme a férmula seguinte: . xe 2 x" et =1+x4+—4+—4+——4...4— 2! 3! 4! nl Observe a Tabela 2-13, onde encontramos duas colunas de valores para o cAlculo da fungao exponencial, uma em x=5 e a outra em x=-5. Os valores exatos com 9 decimais so ¢”= 148,413159103 e e*= 0,006737947. TABELA 2-13: CALCULO DA EXPONENCIAL. n | @ com decimals |". | ¢° com9 decimals 5 (série de Taylor) | Gérie de Taylor) | 4 65,375000000 -0,56 13,708333333 2033,50 6 113,118055556__| -0,24 9,368055556, 1389,34 8 138,307167659 | -0,07 3,555183532 526,64 10} 146,380601025 -0,01 0,864039076 127,23 12} 148,113534955, 0,00 0,150478046 21,33 14] 148,379580080 0,00 0,024456671 2,63 16] 148,410210275 0,00. 0,008412283 0,25 18] 148,412951072 0,00 0,006863137 0,02 20| 148,413147067 0,00. 0,006745540_ 0,00 Observa-se na comparagio entre as colunas dos erros relativos (6) do calculo de e* e de e* uma evidente instabilidade no algoritmo quando o valor de x € negativo ARITMETICA DE MAQUINA - 81 Uma solugio melhor para o célculo de e* utilizando séries de Taylor é notarmos que € = 1/e° . Observe a Tabela 2-14. TABELA 2-14: SOLUGAO MELHOR. n | & Som decimais | ¢"=1/e" com (série de Taylor) 9 decimais a 65,375000000 0,015296367_| 1,27 6 113,118055556 0,008840322 | 0,31 |_8 | 138307167659 0,007230283 | 0,07 10} 146,380601025 0,006831506 | 0,01 12] 148,113534955 0,006751577 | 0,00 14|__148,379580080__| 0,006739472 | 0,00 16} 148,410210275 0,006738081 | 0,00 18} 148,412951072__|_0,006737956_| 0,00 20| 148,413147067 0,006737948 | 0,00 82- CALCULO NUMERICO PARA UNIVERSITARIOS MATRIZES - 83 3 Matrizes “0 mundo originou-se dos edleulos de Deus, da extrema simplicidade das leis do Universo, em que ‘0 maximo dos efeitos realizou-se com 0 mfnimo de meios”. (Gottiried Wilhelm Leibniz) 1 Introdugao O britanico Arthur Cayley (1821-1895) foi um dos primeiros a estudar matrizes, cujo conceito apareceu em 1858 numa de suas memérias sobre a teoria das transformagdes. Cayley foi um talentoso estudante de Cambridge que ganhou a maior parte dos prémios de matemitica e que desde cedo contribuiu com artigos no Cambridge Mathematical Journal, fundado em 1839, Cayley é comparado em termos de produtividade aos grandes matematicos Leonhard Buler (1707-1783), da Su‘ga, ¢ Augustin-Louis Cauchy (1789-1857), da Franga. Cayley iniciou em 1843 a geometria analitica no espago de n dimensdes ¢ fez uso dos determinantes como ponto essencial para a mesma. Quando do surgimento do conceito de matriz, a operacio matricial envolvida cra, justamente, 0 produto de matrizes. As operagdes de adigio de matrizes e multiplicagiio de um escalar por uma matriz vieram depois. A segunda metade do século XIX foi um perfodo muitfssimo rico para o desenvolvimento da Algebra, e a idéia de se estudar estruturas algébricas abstratas ganhou forga nesta época. O proprio Cayley, considerando estas duas tiltimas operagées e 0 produto matricial, criou o que hoje chamamos de Algebra das Matrizes. A partir daf a teoria das matrizes nao parou de ganhar importancia dentro e fora da matematica. Atualmente, sob um ponto de vista didético © com a finalidade de preservarmos uma ordem légica seqiiencial, estudamos primeiramente as matrizes, depois os determinantes e finalizamos com os sistemas lineares, porém é fato histérico e curioso que a ordem em que estes assuntos apareceram na matemitica é a inversa: sistemas lineares, determinantes e matrizes. 3.2. Matriz — Definigao Chamamos de matriz uma tabela de elementos dispostos em linhas € colunas. Mais precisamente, matriz € uma fungiio que a cada par ordenado (i,j) associa um elemento a, onde: e i=, 2,3,.., méo indice da linha; , 2, 3, n €0 indice da coluna. Quando 0 conjunto dos elementos @, é 0 conjunto dos niimeros reais, a matriz e j= & chamada de real. Quando € 0 conjunto dos niimeros complexos, € chamada de complexa. Na engenharia as matrizes reais t¢m um especial interesse. E por este motivo que estas serio 0 objetivo maior deste capitulo. 84 — CALCULO NUMERICO PARA UNIVERSITARIOS 3.3 Notacdes As notagées para matrizes mais usuais so: © explicita 4 4 Gy Ay Ge Um et Oop a Ass a © compacta a= [a,] onde f= 1,2,.., me j=, u.m. 3.4 Diagonais e Bandas A diagonal principal de uma matriz é 0 conjunto dos elementos aj, onde i = j: banda superior de uma matriz € 0 conjunto dos elementos aj, onde i < j; banda inferior de uma matriz 6 0 conjunto dos elementos aj, onde i > j. A Figura 3-1 ilustra a diagonal e as bandas. diagonal principal =f) banda superior sf) banda inferior (i a FIGURA 3-1: REGIOES. 3.5 Exemplos de Matrizes Usuais e suas Geometrias, ‘A utilidade de matrizes tem origem em sua apresentagio como um Gnico objeto: um quadro com muitos mimeros dispostos em linhas e colunas ¢ representados por um identificador (nome da matriz). Estes quadros aparecem de forma natural e sintética no equacionamento e resolugdo de uma grande variedade de problemas de andlise numérica aplicados & engenharia. A geomettia associada estes quadros fornece informacées importantes com respeito aos problemas a elas associados. ‘Uma matriz quadrada é aquela na qual o néimero de linhas m é igual ao méimero de colunas n (m =n). Neste caso dizemos que a matriz é de ordem n. A Figura 3-4 ilustra uma matriz quadrada de ordem 5. MATRIZES ~ 85 1% 3 4 1 iPyyyee le fa 2/o|#[el2 [= 2/8 aes 3 [Stee Se 31g FIGURA 3-3: sfate[Flele 48 LINHA. sfa [oly [xo Sie FIGURA 3-4: FIGURA 32: QUADRADA. COLUNA. Uma matriz coluna é aquela que possui uma tnica coluna (m = 1) ¢ uma matriz, linha € aquela que possui uma iinica linha (n = 1). A Figura 3-2 ¢ a Figura 3-3 ilustram tais matrizes. Uma matriz triangular superior é aquela cuja banda inferior nula, isto €, todos os seus elementos sio nulos. Uma matriz triangular inferior é aquela cuja banda superior é nula, Uma matriz, diagonal é aquela cujas bandas inferior e superior s’io nulas. A Figura 3-5, Figura 3-6 e a Figura 3-7 ilustram tais matrizes. i 2.3 4 5 123 4 5 ifalv[vlely ifayoyo[olo 1 feyoToToyo 2|0/e |e] 2 (> 2|0]#]0]0]0 2 |O;#{/O];a}0 3{olo|z|xlo 3fele[elolo 3 [ofofelolo sfofololele 4{ala[flelo 4 fololol@lo sfolol[olole@ 5[#/[V[x[o 5 [ofofolole@ FIGURA 3-5: FIGURA 3-6: FIGURA 0-7: TRIANGULAR TRIANGULAR DIAGONAL. SUPERIOR. INFERIOR. Uma matriz simétrica € uma matriz quadrada onde. seus elementos, considerando uma reflexio segundo a diagonal principal, so iguais, isto é, m (quadrada) e a = aj. Uma matriz anti-simétrica é uma matriz quadrada onde seus elementos, considerando uma reflexdo segundo a diagonal principal, stio de sinais contrarios isto 6, m = n (quadrada) e aj, = -aj. A Figura 3-8 ¢ a Figura 3-9 ilustram tais matrizes, 123 4 5 12° 3 4 5 ifa[viv i=l! fa Ev av ser alv[ + [ole [s afew) e [ele 3{v [el = [xo 3[-v [Fe] = | tse 4fe[2[alele 4 [ae] 7 aR] @ |= s[¥[z[ole]o s [Fe [=a [ese] © FIGURA 3-8: FIGURA 3-9: ANTI- SIMETRICA. SIMETRICA. Uma matriz identidade de ordem n 6 uma matriz quadrada e diagonal cujos elementos da diagonal principal sio todos iguais a 1. Uma matriz escalar de ordem 86 - CALCULO NUMERICO PARA UNIVERSITARIOS n € uma matriz quadrada e diagonal cujos elementos da diagonal principal stio todos iguais. A Figura 3-10 e a Figura 3-11 ilustram tais matrizes. 123 4 5 12345 1 [iToToToyo 1[a[ofofoyo 2[olTlolo[o 2fo[afololo 3[ofolifolo 3fololalolo 4fofo[ofifo 4fofololalo sfofofolofi sfofofofala FIGURA 3-10: FIGURA 3-11: IDENTIDADE. ESCALAR. Uma matriz nula € aquela onde todos os seus elementos so nulos ¢ uma matriz ndo-negativa é aquela onde todos nfo so negativos. A Figura 3-13 ¢ a Figura 3-12 ilustram tais matri: 123 4 5 20 [20 [+0 [=0 [20 [=o 20 [0 [50 [50 [20 [20 20 [0 [S0 [eo [50 [Fo 20 [0 [50 [20 [>0 [=o 30 [20 [>0 [=0 (50 [=o URA 3-13: NULA, FIGURA 3-12: NAO-NEGATIVA. Aku Uma matriz tridiagonal é aquela onde todos os seus elementos, exceto os da diagonal principal e das diagonais imediatamente acima e abaixo da principal, sfio nulos. A Figura 3-14 ilustra tal matriz. 12 5 123 4 $ aly. 0 i [yoToT 0 [OT 0 2 (ee 0 20 [o[o}ofo 3fols 0 3 [Polo] 0 [| 0 4[o[o 2 4lofo[o|o[o s[olo © s[o [0] Ha] 0 [zo FIGURA 3-14: FIGURA 3-15: TRIDIAGONAL. ESPARSA. Uma matriz € numericamente esparsa quando aproximadamente 80% de seus elementos sio nulos. Matrizes esparsas ocorrem com freqiiéncia em problemas préticos, quando usamos 0 Método das Diferengas Finitas ou dos Elementos Finitos. A Figura 3-15 ilustra tal matriz, Existem diversos outros tipos de matrizes que, por enquanto nao detalharemos: banda diagonal, bloco diagonal, bloco triangular, bloco tridiagonal, etc. MATRIZES - 87 3.6 Exercicios ae 3.1 Classifique as matrizes seguintes ¢ fornega a sua ordem. 0-5 8 123 4 a-[; 7| B=|1 3 0] | |5 67 8 47 8 4 9| ~ |9 lo 12 13 14 15 16 3.2 Toda matriz quadrada de ordem n admite uma diagonal secundaria, cujos elementos observam a relagio: i+ j=n+1. Determine as diagonais secundarias das matrizes do exercicio 3.1. >3.3 Classifique as matrizes seguintes. 20 3 A= 3 B=[220 3 8 [; -1 ‘ll l l 2’ 0 C=) 3 4 8 >3.4 — Considere as matrizes L (do inglés, Lower, significa parte inferior) e U (do inglés, Upper, significa parte superior) ¢ classifique-as de acordo com a Figura 3-5 e a Figura 3-6. 3-22 8 200 0 0-53 9 -180 0 Us L 00 2 6 5 34 0 0 0 0 -4 -6 79 -1 3.5 Classifique as matrizes seguintes, 7000 3000 100 alo 29 fp [2 39] n=l0 1 0 nafp ‘| 0030 0030 001 0008 0003 3.6 Classifique as matrizes seguintes. ooo 000 3.2 8 025 aso 0 0 [6 ol c-|2 17 D=|-2 0 -6 oo 0 a 7 5 -5 6 0 3.7 Verifique se a matriz seguinte é esparsa. 88 - CALCULO NUMERICO PARA UNIVERSITARIOS 000060 030000 A=|0 00040 501000 000000 3.7 Adicao de Matrizes — Definigao atb= [a, +by] onde a= [a,], eo =[4, Joe 3.8 Adicdo de Matrizes - Propriedades comutativa: a +b =b + a; associaliva: a + (b +c) =(a +b) +c; elemento neutro; a + 0 = a, onde o é a matriz nula; elemento oposto: a + (-a) = 0, onde -a é a matriz oposta de a. eeee 3.9 Multiplicacao de uma Matriz por um Escalar — Definigao A-a= aA “dy le onde a= lay |e A€um ntimero real. 3.10 Multiplicacao de uma Matriz Por um scalar. — _ Propriedades : distributiva escalar e soma de matrizes: A. (a+b) =2+a+A+D; distributiva soma de escalares e matriz: (A+ 6)-a=1-a+ 0-4; elemento unidade: 1 - a= a; associativa escalares e matriz: A - (-a)=(A- 8): a: 3.11 Multiplicacao de Matrizes - Definigao wo-[Soen | vondea=[aj] |e b=[b,], 3.12: Matriz Transposta — Definicao Dada uma matriz a, chamamos de transposta de a a matriz. a” tal que ay = a". 3.13 Matriz Inversa -Definicao i Dada uma matriz.quadrada a de ordem 1, chamamos de matriz inversa de a a matriz. a” tal que a - a! = j,, onde i, € a matriz identidade de ordem n. MATRIZES ~ 89 Devemos observar que nem toda matriz @ tem uma inversa a”. 4.14 Multiplicacio de Matrizes, Matriz Transposta e Matriz Inversa — Propriedades © — multiplicacéio nao comutativa: em geral a -b # b - a; © elemento neutro: @ +i, = iy-@ =a; © distributiva & esquerda: a «(b+ c) =a -b+a -c; ¢ — distributiva a direita: (a + b) -¢ setb-c; © associativa: (a+b) -c =a: (b-c); © — transposta do produto: (a -b)" = b”- © transposta da soma: (a +b)" = a" +b"; © — transposta do produto por escalar: (2 +a)" = A -a", — transposta da transposta: (a")" =a; © comutativa da inversa: a +a! * — inversa do produto: (a «by ; © inversa da inversa: (@')’ = 3.15 Exercicios (CD, sei4 j 3.8 Construa a matriz a= [a], dofiniaa por a, = | O,sei=j 0 <1 L Resposta: a=|-1 0 1}. 1 -1 0 i? +j, sei>j >3.9 — Construaa matriz x=[x)], definida por xj, = ml, sei=j vit 2j, sei3.12 Mostre que A-o=0, 0-a=0 e at+o=otad=4, onde 0 éa matriz nula. 3.13 mentee 4 1 100 - CALCULO NUMERICO PARA UNIVERSITARIOS [1 3 0] ([% %s 7Ms| fa 3-1] b=]1 28 rid Ys Melexi -1 8] Log a o My, My lana a 10 0] ci,=]0 1 0} eo valor real A= —2, verifique as propriedades da 00 ‘| multiplicagdo de matrizes, matriz transposta e matriz inversa, 3.14 Caleule [4 af 1, [7/4 aje[> ~2).J 1 9]. 3] LB 1 -4|l4 7 “1 315 @ Dade wa maieee a] ? 2 |, el? © 4 eel a |e 2 —— “[2 1 -1)' £3 0 1) 4 D=[2 -1],encontre: A+B, B-C, A-C, -D, -A, A’, CT, 4-B e-3-D. Le 3 -2 0 1) [-1 2 4 A+B= + = 21 =. 3°01 5.10 ac | 3.16 m3.17 m3.19 MATRIZES - 101 1 2 n [1 2 3 Avs =|2 1 21 -1 3-1 Ci=|2]=[-1 2 4] 4 P 0 1 [2 0 4 4-B=4. S| 3 01 12.0 4 -3-D=-3.[2 -I]=[-6 3] 3 -2][-1 6)[7 4] 3 -27 [3 -27 Calcule « ‘ . s ‘ 1 -4/[4 7] [-1 3) [1 -4] °l) -4 ay Ay as x Caleule } 4, yy agg |} Xy 3, yy 3 | | fl 2 ® Dada a matriz a=, ah verifique a propriedade transposta da transposta. (yn 1 of 12 A’y = = al (: ‘| ; i] ® Determine os valores reais a, b, x e y sabendo que xty 2a+b] [3 -1 Qeny and | lO 7 102 - CALCULO NUMERICO PARA UNIVERSITARIOS xty=3 ed wl WF 2x-y=0 Qx-y a-b} [0 7 2a+b=-1 a-b=7 (xt y)+Qx-y)=3+03r=3> x51 Ix-y=0S ya2x>y=21y=2 (2a+b)+(a- 2a+b=-1=>b= 1+7=>3a=6>a=2 1-2a=9b=-1-2:25b=-5 1 -1|/|x y >3.20 Calcule a inversa & direita da matriz a, resolvendo [ joo rosi{l -l Calcule a inversa & esquerda da matriz a resolvendo ‘ ; tou i 2 EA Elas so iguais ou nfo? Justifique. . [o v2 4| fo 6 3] P3.21 @ Dadas as matrizes a=|-6 3 yleb=/x 3° 1}, calcule ls 1 2] F 8 al 08 valores reais x, y e z para que b = 0-6 s}[o ¥2 4] [o -6 5 x 3 1f=|-6 3 y|slx 3 1/5 4a z}i{s 1 2} [4 8 2|L4 y 2] [e=2 1-1 0 3.22 @ Dada a matriz A=|2 3 4 |, obtenha a matriz X, tal que 1 = X=A+A". 3.23 &3.24 MATRIZES - 103 ir 1-1 0] fl -1 0 X=A+A">Xs/2 3 4/412 3 4 0 1 -2] [0 1 -2 1-1 0 21 0 ras abla ilo e 3 Oo 1 -2 05-4 ® Ache os valores reais m,n, p e q de modo que Delle salts ah SLs) - [" nM SH een 2m - a [; a 2m-n=8 Pp q ~3q] [1 5 p+q p-3q| [1 5 pt+qel p-3q=5 (m+n)+(2m-n)=74+8= 3m=15 = m=5 m+nsT=>n=T-m=n=7-S3n=2 (p +q)-(p-3q)=1-5 > 4g =-4- g=-1 p+q=1=> p=1-q= p=1-(-l)> p=2 3 10 ® Dadas as matrizes A=| 2] e B=| 4], resolva a equacio -1 8 2x-A+tB=0. 2 aig 2X A+ 5 B= 0-92K A389 X= 104 — CALCULO NUMERICO PARA UNIVERSITARIOS 3] filo] [6] fio] f-4 2-| 2 |-| 4 4 \-|4 0 i -1|} |g} [-2] [8] [+10 X= Jo A Lei “J4x=| 0 4 4 4 = xty=a+tb [3] ‘ [7] 3.25 Resolvao sistema , sendo a= eb=| , |. -y=2-a-b [2] 5 %3.26 Calcule Os valores reais a e@ b de modo que =4 2 1-3] [9 -23 a +b- = , 3 0 2 4) |=2 5 2 0 . “123 »3.27 @ Dadas as matrizes A=|-1 1] e¢ ae] a calcule o1 34 (A+ B').(A’ - B), onde ¢ representa a transposigaio da matriz. =1 0 “l Lit, 2 1 0 EA, 3) 8 H1 2 9 (a+z') [? orate yt a 3 4 L Oly a hee 64 3° -3 0 (4+B')-(a'-B)=]3 -3 8 18 -18 16

Você também pode gostar