Índice de conteúdos. Índice de conteúdos. Capítulo 1. Implementação de Algoritmos...1

Tamanho: px
Começar a partir da página:

Download "Índice de conteúdos. Índice de conteúdos. Capítulo 1. Implementação de Algoritmos...1"

Transcrição

1 Índice de conteúdos Índice de conteúdos Capítulo 1. Implementação de Algoritmos Computação Numérica Etapas na resolução de um problema Definição do problema Modelação matemática Cálculo da solução numérica Elaboração do algoritmo Codificação do programa (implementação do algoritmo) Processamento (execução) do programa Exemplo Análise dos resultados Notação algorítmica Estrutura do algoritmo Variáveis e comentários Expressões e comando de atribuição Expressões aritméticas Expressões lógicas Expressões literais Comandos de entrada e saída Estruturas condicionais Estrutura condicional simples Estrutura condicional composta Estruturas de repetição i -

2 Índice de conteúdos 3.6.Falha no algoritmo Exemplo de algoritmo Notação matemática Complexidade computacional Representação de números Representação de números em diferentes bases Representação de números inteiros e conversões de base Representação de números inteiros Conversão pelo método das divisões sucessivas Representação de números reais e conversões de base Representação em formato de ponto fixo Representação no formato de ponto flutuante Aritmética de ponto flutuante Conversão de números inteiros da base b para a base decimal Algoritmo de Horner Divisão de Ruffini Conversão de números fracionários da base b para a base decimal Algoritmo de Horner Divisão de Ruffini Número binário infinito Operações com números binários Adição binária Subtração binária Multiplicação binária Divisão binária Representação de números em computadores digitais Representação de números inteiros Representação de números reais ii -

3 Índice de conteúdos 7.Erros Fontes de erros e incertezas Precisão e exatidão Tipos de erros Erro de formulação ou de modelação Erros iniciais (incertezas dos dados do modelo) Erro grosseiro Erro de arredondamento Erro de truncatura Valores aproximados e erros Erro absoluto Erro relativo Fórmula fundamental dos erros Número de dígitos significativos Erros de arredondamento Arredondamento por defeito (ou corte do número) Arredondamento simétrico Erros de arredondamento na álgebra de ponto flutuante Adição Subtração Multiplicação Divisão Erros de truncatura Cálculo de valores de funções transcendentes Discretização Métodos iterativos Condicionamento e estabilidade Análise de erros Conclusão iii -

4 Índice de conteúdos - iv -

5 Capítulo 1. Implementação de Algoritmos 1. Computação Numérica Uma etapa intermédia importante durante a resolução de um problema envolve a elaboração de um algoritmo, o qual deverá ser posteriormente implementado numa linguagem de programação para se obter os resultados numéricos (solução do problema) num computador. O Cálculo Numérico é uma metodologia para resolver problemas matemáticos por intermédio de um computador, sendo amplamente utilizado por engenheiros e cientistas. Uma solução via Cálculo Numérico é sempre numérico, enquanto que os métodos analíticos fornecem usualmente um resultado em termos de funções matemáticas. Muito embora uma solução numérica seja uma aproximação do resultado exato, ela pode ser obtida com um grau elevado de exatidão. Uma solução numérica é calculada mesmo quando o problema não tem solução analítica, facto comum nas equações diferenciais. O integral indefinido e x2 dx de grande utilidade na Estatística, é uma primitiva que não pode ser representada, explicitamente, por funções elementares. A área sob a curva descrita por e x2 de a até b pode ser determinada por meio de algoritmos numéricos que são aplicáveis a qualquer outro integrando, não sendo, portanto, necessário fazer substituições especiais ou mesmo a integração por partes para se obter o resultado. Para computar (calcular por meio de um computador) um resultado numérico, são necessárias operações aritméticas (adição, subtração, multiplicação e divisão) e lógicas (comparação, conjunção, disjunção e negação). Considerando que estas são as únicas operações matemáticas que os computadores são capazes de realizar, então os computadores e o Cálculo Numérico formam uma combinação perfeita. Relembre-se que o primeiro computador de grande porte totalmente eletrónico, o ENIAC (Electronic Numerical Integrator And Calculator), projetado para realizar cálculos balísticos, e os atuais maiores supercomputadores no mundo inteiro estão dedicados a realizar cálculos numéricos

6 2. Etapas na resolução de um problema Dado um problema 1 qualquer, como resolvê-lo no computador utilizando as técnicas de Cálculo Numérico? Será mostrado, a partir de um exemplo simples, que a solução de um problema pode ser obtida em quatro etapas: 1. definição do problema, 2. modelação matemática, 3. cálculo da solução numérica e, 4. análise dos resultados Definição do problema Nesta etapa, define-se qual é o problema real a ser resolvido. Seja, por exemplo, calcular a, a > 0, usando apenas as 4 operações aritméticas Modelação matemática O problema real é transformado no problema original por meio de uma formulação matemática (denominado modelo matemático). No exemplo, x= a x 2 = a f( x) = x 2 a = 0, o problema real, calcular a, a > 0, foi transformado no problema original (modelo matemático) que é determinar a raiz de uma equação algébrica de grau 2. Geralmente, o problema original possui mais soluções que o problema real. Para este exemplo, + a e a são as duas raízes (soluções) da equação algébrica Cálculo da solução numérica Nesta etapa é feito a escolha do método numérico mais apropriado para resolver o problema original, obtido na modelação matemática. Depois de feita a escolha do método adequado, este é descrito através de um algoritmo, o qual é posteriormente implementado num computador com vista à obtenção dos resultados numéricos (soluções). Desta forma, esta etapa pode ser subdividida nas três fases seguintes (depois de efetuada a escolha do método): a) elaboração do algoritmo, b) codificação do programa e, c) processamento (execução) do programa Elaboração do algoritmo Um algoritmo é a descrição de um conjunto de comandos que, quanto ativados (executados), resultam numa sucessão finita de acontecimentos. Em vez de se implementar um método diretamente numa linguagem de programação, é preferível descrevê-lo através de uma notação 1 Esta palavra deriva do nome do matemático árabe Mohammed ibu-musa al-khowarizmi ( 800 d.c.) - 2 -

7 algorítmica. Desta forma, é possível abstrair-se dos detalhes da linguagem de programação do computador e concentrar-se apenas nos aspetos matemáticos do método. Além do mais, a descrição do método numa notação algorítmica facilita a sua implementação em qualquer linguagem de programação. Na secção 3 é apresentada a notação algorítmica adotada para descrever os métodos numéricos incluídos neste documento Codificação do programa (implementação do algoritmo) Nesta fase, o algoritmo é implementado na linguagem de programação escolhida. Como os aspetos matemáticos do método já foram pensados na fase de elaboração do algoritmo, agora apenas é necessário preocupar-se com os detalhes de implementação na linguagem adotada Processamento (execução) do programa Finalmente, o código do programa obtido da implementação do algoritmo numa linguagem de programação deve ser executado pelo computador. Se for detetado algum erro lógico na fase de processamento, isto é, se a execução do programa produzir resultados inesperados, então deve-se retornar à fase de elaboração do algoritmo para o corrigir Exemplo Para exemplificar a etapa de determinar a solução numérico do problema do cálculo de a, será utilizado o método de Newton (descrito mais adiante) para calcular uma raiz de f( x) = x 2 a = 0: x k+1 = x k f(x k ) f'(x k ). Substituindo f(x) e f'(x) na expressão acima, tem-se que ou seja, 2 x k a x k+1 = x k = x 2 x k k x k+1 = ( x k + a x k ) 1 2. x k 2 + a 2x k Este é um processo iterativo para calcular a a partir de um valor inicial x 0, usando apenas as operações aritméticas. Para calcular 9, usando x 0 = 1, o processo produz os seguintes resultados: k x k x k

8 A coluna x k mostra as sucessivas aproximações de 9 a cada iteração k e a coluna x k -3 apresenta a diferença entre o valor aproximado x k e o valor exato Análise dos resultados A adequação da solução numérica ao problema real é verificada nesta última etapa. Se a solução não se mostrar satisfatória, deve-se construir um novo problema original (modelo matemático) através de uma nova formulação matemática e determinar uma nova solução numérica. Exemplo: Para o caso anterior ( a), se for atribuído o valor inicial x 0 = -1 (ou qualquer x 0 < 0), então o processo convergirá para -3, que, embora seja uma raiz de f( x) = x 2 9 = 0, não é 9. i x i x i Alguns modelos matemáticos podem produzir soluções que não têm sentido físico ou químico, como, por exemplo, tempo negativo, concentração complexa, etc. O objetivo da análise dos resultados é justamente discernir qual a solução válida para o problema real dentre as várias fornecidas pelo modelo matemático (se existirem algumas). 3. Notação algorítmica A descrição de um algoritmo, através duma notação algorítmica, melhora o seu entendimento, pois apenas os aspetos do raciocínio matemático são realçados, sem ser necessário levar em consideração os detalhes de implementação de uma linguagem de programação Estrutura do algoritmo Um algoritmo deve iniciar-se com Algoritmo <nome-do-algoritmo> e terminar com fimalgoritmo Também { Objetivo: <objetivo-do-algoritmo> } deve ser utilizado para descrever a finalidade do algoritmo. Os dados necessários para a execução de um algoritmo são requisitados por meio do comando parâmetros de entrada <lista-de-variáveis> - 4 -

9 onde <lista-de-variáveis> são os nomes das variáveis, separadas por vírgulas, contendo os valores fornecidos. Não é necessário descrever exatamente como os valores dessas variáveis serão fornecidas ao algoritmo. Compete ao programador decidir durante a codificação do programa se os dados serão fornecidos interativamente pelo teclado, lidos de um ficheiro, passados como argumentos de um subprograma ou, até mesmo, definidos como constantes dentro do próprio programa. Da mesma forma, os valores de interesse calculados pelo algoritmo são disponibilizados pelo comando parâmetros de saída <lista-de-variáveis> podendo a <lista-de-variáveis> ser ampliada ou reduzida pelo programados Variáveis e comentários Uma variável corresponde a uma posição de memória do computador onde está, ou poderá estar, armazenado um determinado valor. As variáveis são representadas por identificadores que são cadeias de carateres alfanuméricos, podendo os elementos de vetores e matrizes ser referenciados por subscritos ou índices (por exemplo, v i ou v(i) e m ij ou m(i,j)). Um comentário é um texto inserido em qualquer parte o algoritmo para aumentar a sua clareza. Este texto deve ser delimitado por chavetas ( { <texto> } ), como por exemplo, { cálculo da raiz } Expressões e comando de atribuição Existem três tipos de expressões: aritméticas, lógicas e literais, dependendo dos tipos dos operadores e das variáveis envolvidas Expressões aritméticas Expressão aritmética é aquela cujos operadores são aritméticas e cujos operandos são constantes e/ou variáveis aritméticas. A notação é semelhante àquela utilizada para representar uma fórmula como, por exemplo, (b 2 4 a c), cos(2 + x) ou massa x velocidade. O símbolo é usado para atribuir o resultado de uma expressão a uma variável, ou seja, <variável> <expressão> Por exemplo, velocidade deslocamento / tempo

10 A tabela seguinte apresenta algumas funções matemáticas que podem ser usadas na elaboração dos algoritmos, pois consideram-se predefinidas. Função Descrição Função Descrição Trigonométricas sen seno cos co-seno tan tangente sec secante Exponenciais exp exponencial log 10 logaritmo decimal log e logaritmo natural raiz 2 raiz quadrada Numéricas abs valor absoluto quociente divisão inteira arredonda arredonda para o inteiro mais próximo sinal sinal(x) = 1 (se x > 0), 0 (se x = 0), -1 (se x <0) max maior valor resto resto de divisão min menor valor trunca arredonda para baixo Expressões lógicas Uma expressão lógica é aquela cujos operadores são valores lógicos e cujos operandos são relações e/ou variáveis do tipo lógico. Uma relação é uma comparação realizada entre valores do mesmo tipo. A natureza da comparação é indicada por um operador relacional definido conforme a tabela seguinte, sendo que o resultado de uma relação ou de uma expressão lógica é verdadeiro ou falso. Operador relacional > < = Descrição maior que maior ou igual a menor que menor ou igual a igual a diferente de A tabela seguinte mostra os resultados obtidos com os operadores lógicos, sendo que V significa verdadeiro e F falso. e b ou b a V F a V F a não a V F V F F F V F V V V F V F F V - 6 -

11 Expressões literais Uma expressão literal é formada por operadores literais e operandos, os quais são constantes e/ou variáveis do tipo literal. O caso mais simples de uma expressão literal é uma constante literal, a qual é constituída por uma cadeia de carateres delimitada por aspas, por exemplo, mensagem matriz singular Comandos de entrada e saída O comando leia <lista-de-variáveis> é usado para indicar que a <lista-de-variáveis> está disponível para leitura nalgum dispositivo externo. Por sua vez, o comando escreva <lista-de-variáveis> deve ser utilizado para indicar onde certos valores de interesse estão disponíveis no programa e podem ser escritos nalgum dispositivo externo. Compete ao programador decidir pela ampliação da <lista-de-variáveis> ou mesmo a omissão do comando escreva Estruturas condicionais O uso de uma estrutura condicional torna possível a escolha dos comandos a serem executados quando certa condição for satisfeita ou não, possibilitando, desta forma, alterar o fluxo natural de comandos. Esta condição é representada por uma expressão lógica. As estruturas condicionais podem ser simples ou compostas Estrutura condicional simples Esta estrutura apresenta a forma: se <condição> então <comandos> fimse Neste caso, a lista de <comandos> será executada se, e somente se, a expressão lógica <condição> tiver como resultado o valor verdadeiro Estrutura condicional composta Quando houver duas alternativas possíveis, deve ser usada uma estrutura da forma seguinte: se <condição> então <comandos_1> senão <comandos_2> fimse - 7 -

12 Se a expressão lógica <condição> tiver como resultado o valor verdadeiro, então a sequência <comandos_1> será executada e a sequência <comandos_2> não será executada. Por outro lado, se o resultado de <condição> for falso, então será a lista <comandos_1> a única a ser executada Estruturas de repetição Uma estrutura de repetição faz com que uma sequência de comandos seja executada repetidamente até que uma dada condição de interrupção seja satisfeita. Existem, basicamente, dois tipos destas estruturas, dependendo se o número de repetições é indefinido ou definido. Número indefinido de repetições Este tipo de estrutura de repetição apresenta a forma: repita <comandos_1> se <condição> então interrompa fimse <comandos_2> fimrepita <comandos_3> O comando interrompa faz com que o fluxo de execução seja transferido para o comando imediatamente a seguir a fimrepita, Assim, as listas <comandos_1> e <comandos_2> serão repetidas até que a expressão lógica <condição> resulte no valor verdadeiro. Quando isso ocorrer, a repetição será interrompida (<comandos_2> não será realizada) e a lista <comandos_3>, a seguir a fimrepita, será executada. A forma repita-fimrepita é o caso geral de uma estrutura de repetição, Se a lista <comandos_1> não existir, ter-se-á uma estrutura de repetição com interrupção no início (estrutura enquanto). Da mesma forma, se não houver a lista <comandos_2>, então será uma estrutura com interrupção no final (estrutura repita-até). Número definido de repetições Quando se souber com antecedência quantas vezes a estrutura deve ser repetida, pode ser usado um comando de forma mais simples: para <controle> <valor-inicial> até <valor-final> passo <delta> faça <comandos> fimpara Nesta estrutura, é atribuído inicialmente à variável <controle> o valor de <valor-inicial> e verificado se ele é maior do que o <valor-final>. Se for maior, a estrutura para-faça não será executada. Se for menor ou igual, então os <comandos> serão executados e a variável <controle> - 8 -

13 será incrementada com o valor de <delta>. Novamente, é verificado se a variável <controle> é maior do que o <valor-final>; se não for maior, então os <comandos> serão executados e assim sucessivamente. As repetições processam-se até que a variável <controle> seja maior do que o <valor-final>. Quando o incremento <delta> tiver valor 1, então o passo <delta> pode ser omitido da estrutura para-faça Falha no algoritmo O comando abandone é usado para indicar que haverá uma falha evidente na execução do algoritmo, por exemplo, uma divisão por zero, ou o uso inapropriado de parâmetros. Neste caso, a execução será cancelada Exemplo de algoritmo Dado um vetor x com n componentes (elementos), elaborar um algoritmo para determinar a média aritmética x e o desvio padrão s dos seus elementos, sabendo que n x = 1 n x i, e i=1 s = 1 n 1( n 2 1 x i i=1 n( i=1 n x i)2). Algoritmo Média_desvio { Objetivos: Calcular média aritmética e desvio padrão } parâmetros de entrada n, x { tamanho e elementos do vetor } parâmetros de saída Média, DesvioPadrão Soma 0 Soma2 0 para i 1 até n faça Soma Soma + x(i) Soma2 Soma2 + x(i) 2 fimpara Média Soma / n DesvioPadrão raiz 2 ((Soma2 (Soma 2 / n)) / (n-1)) escreva Média, DesvioPadrão fimalgoritmo - 9 -

14 4. Notação matemática Definida a modelação matemática por meio de expressões aritméticas e lógicas, o passo seguinte é passar desta notação matemática para a notação algorítmica. Esta passagem é ilustrada pelos exemplos que se seguem. Exemplo 1: implementar um algoritmo para calcular a norma-2 (norma Euclidiana) de um vetor x de tamanho n, definida pela seguinte expressão: x 2 = i=1 n x i 2. Algoritmo Norma2 { Objetivos: Calcular a norma-2 (Euclidiana) de um vetor } parâmetros de entrada n, x { tamanho e elementos do vetor } parâmetros de saída N2 { norma-2 do vetor } Soma 0 para i 1 até n faça Soma Soma + (abs(x(i))) 2 fimpara N2 raiz2(soma) escreva N2 fimalgoritmo Exemplo 2: implementar um algoritmo para calcular a norma- (norma de máxima magnitude) de um vetor x de tamanho n, definida pela seguinte expressão: x = Algoritmo NormaInf max x i. 1 i n { Objetivos: Calcular a norma- de um vetor } parâmetros de entrada n, x { tamanho e elementos do vetor } parâmetros de saída Ninf { norma- do vetor } Ninf abs(x(1)) para i 2 até n faça se abs(x(i)) > Ninf então

15 fimse fimpara escreva Ninf finalgoritmo Ninf abs(x(i)) 5. Complexidade computacional É usual definir-se uma função de complexidade para medir o custo de execução de um algoritmo. Esta função tanto pode ser uma medida do tempo necessário para executar o algoritmo que resolve um problema de tamanho n, como o espaço de memória requerido para esta execução. Como os algoritmos aqui estudados são polinomiais e as operações aritméticas têm diferentes tempos de execução pelo computador, a função de complexidade será definida, separadamente, para a adição/subtração, multiplicação e divisão. A complexidade computacional de um algoritmo refere-se à estimativa do esforço computacional despendido para resolver o problema, sendo medido pelo número de operações aritméticas e lógicas efetuadas para resolver um sistema linear de ordem n. Os problemas possuem complexidade computacional, podendo ser enquadrados em dois grupos: Exemplo: grupo composto pelos algoritmos polinomiais, sendo a função de complexidade da forma: O(c n p n + c n-1 p n c 1 p 1 + c 0 ). grupo formado pelos algoritmos exponenciais, sendo a função de complexidade da forma: O(c n ), c > 1. Seja o polinómio de Lagrange de grau n definido da seguinte forma: n L n (x) = i=0 n y i j=0 j i x x j x i x j. Expandindo, resulta a Expressão 1 seguinte: L n (x) = y 0 x x 1 x 0 x 1 x x 2 x 0 x 2... x x n x 0 x n + y 1 x x 0 x 1 x 0 x x 2 x 1 x 2... x x n x 1 x n y n x x 0 x n x 0 x x 1 x n x 1... x x n 1 x n x n

16 cujo algoritmo é o seguinte: Algoritmo Lagrange_Expressão_1 { Objetivos: Interpolar usando polinómio de Lagrange } parâmetros de entrada m, x, y, z { número de pontos, abcissas } { ordenadas e valor a interpolar } parâmetros de saída r { valor interpolado } r 0 para i 1 até m faça fimpara escreva r fimalgoritmo p y(i) para j 1 até m faça fimpara r r + p se i j então fimse p p * ( (z x(j)) / (x(i) x(j)) ) Considerando que o número de pontos m usados na interpolação é igual a n+1, onde n é o grau do polinómio, então a complexidade computacional do algoritmo é: m Adições: 2(m 1) + 1 = 2(m 2 2m + m) = 2(n + 1) 2 (n + 1) = 2n 2 + 3n + 1 ; i=1 m Multiplicações: (m 1) = m 2 m = (n + 1) 2 (n + 1) = n 2 + n ; m i=1 Divisões: (m 1) = (m 2 m) = (n + 1) 2 (n + 1) = n 2 + n i=1 Estes resultados são resumidos na tabela seguinte (complexidade de interpolação de Lagrange). Operações Complexidade Adições 2n 2 + 3n + 1 Multiplicações n 2 + n Divisões n 2 + n O polinómio de Lagrange também pode ser expandido de modo a resultar a Expressão 2 seguinte: L n (x) = y 0 (x x 1 ) (x x 2 )... (x x n ) (x 0 x 1 ) ( x 0 x 2 )... (x 0 x n )

17 + y 1 (x x 0 ) (x x 2 )... (x x n ) (x 1 x 0 ) (x 1 x 2 )... (x 1 x n ) y 0 (x x 0 ) (x x 1 )... (x x n 1 ) (x n x 0 ) (x n x 1 )... (x n x n 1 ) Ao analisar-se a complexidade computacional do algoritmo desta expressão, verifica-se que o número de adições é o mesmo e o de multiplicações é da mesma ordem (n 2 ). No entanto, o número de divisões utilizadas na Expressão 2 é de uma ordem grandeza a menos (n). O polinómio de Lagrange serve para exemplificar que uma mesma notação matemática pode resultar em algoritmos de diferentes complexidades. Isto deve estar presente ao elaborar-se um algoritmo. 6. Representação de números Nesta secção serão considerados aspetos básicos relativos ao cálculo numérico: a representação de números inteiros e de reais (em ponto flutuante) em código binário Representação de números em diferentes bases Nesta secção serão discutidos alguns métodos para a mudança de base na representação de números, quer sejam inteiros ou reais. É comum, para grande parte dos computadores atuais utilizados na modelação computacional, o uso de uma base numérica distinta da base decimal. Em geral, os números são armazenados na base 2 (binária), existindo ainda plataformas que os armazenam na base 8 (octal) ou na base 16 (hexadecimal). A representação de números inteiros é ligeiramente distinta da representação de números reais Representação de números inteiros e conversões de base De uma forma geral, um número inteiro N é representado, na base b, por um conjunto de dígitos a i, (i = 0,1,, b-1 ), sendo que i assume um intervalo de valores determinado pela base em uso. A tabela seguinte indica estes valores para as bases mais utilizadas, inclusive para a base decimal. b a i 2 0,1 8 0, 1, 2, 3, 4, 5, 6, , 1, 2, 3, 4, 5, 6, 7, 8, , 1, 2, 3, 4, 5, 6, 7, 8, 9, A. B, C, D, E, F

18 Representação de números inteiros Há no mínimo duas formas de se representar um número inteiro N. O sistema posicional agrupa os dígitos na forma de uma sequência, na qual a magnitude da contribuição de cada dígito no número depende da posição relativa que este ocupa. Neste sistema, o número N é escrito como: N = (a n a n-1... a 1 a 0 ) b A contribuição de cada dígito para o valor de N fica explicitada na forma polinomial, onde N é escrito como (outra forma de representar um número): N = a n b n + a n-1 b n a 1 b + a 0 Até aqui, N tem sido tratado de uma forma abstrata. No entanto, por uma questão evolutiva, N tende a ser visto como um número na base 10 (decimal), N = (a n a n-1... a 1 a 0 ) a n a n-1... a 1 a 0 Caso se passe a representar N sempre na base decimal, então deve-se abordar as outras representações do ponto de vista de conversões de ou para a base Conversão pelo método das divisões sucessivas Considera-se apenas a conversão de um inteiro da base decimal (b = 10) para a base binária (b = 2), uma vez que esta será a representação mais provável num computador. Para realizar-se esta conversão de uma maneira prática, pode-se usar o método das divisões sucessivas, no qual N e os sucessivos quocientes q i são divididos por 2, sendo guardados os restos r i = 0,1 até que o último quociente seja q n = 0,1: N = 2 q 1 + r 0 ; q 1 = 2 q 2 + r 1 ; q 2 = 2 q 3 + r 2 ;... ; q n-1 = 2 q n + r n-1 O último quociente (q n ) somente será 0 se N = 0. Então, N = (q n r n-1... r 1 r 0 ) 2 ou N = q n 2 n + r n-1 2 n-1 + r n-2 2 n r r O mesmo método pode ser utilizado para converter N para qualquer base b; divide-se N e os sucessivos quocientes q i por b até que o último quociente seja um inteiro 0 q n b-1: N = b q 1 + r 0 ; q 1 = b q 2 + r 1 ; q 2 = b q 3 + r 2 ;... ; q n-1 = b q n + r n-1 O último quociente (q n ) somente será 0 se N = 0. Então, N = (q n r n-1... r 1 r 0 ) b ou N = q n b n + r n-1 b n-1 + r n-2 b n r 1 b 1 + r 0 b

19 Representação de números reais e conversões de base Neste momento, é importante conhecer como os números reais podem ser armazenados num computador. Um número pode ser representado de duas formas: com ponto fixo, por exemplo, com ponto flutuante (ou vírgula flutuante), por exemplo, x Representação em formato de ponto fixo Dado um número real X, este possui uma parte inteira X i e uma parte fracionaria X f = X - X i. Desta forma, para se converter este número X na base binária utiliza-se o método das divisões sucessivas para X i, enquanto que para X f usa-se o método das multiplicações sucessivas: multiplicase X f por 2, extraindo-se a parte inteira do resultado (a qual pode ser 0); o restante é novamente multiplicado por 2, repetindo-se o processo até que o resto fracionário seja 0 ou que se obtenha um padrão repetitivo, em cujo caso o número fracionário será periódico. Este método será ilustrado com dois exemplos. Exemplo 1: Seja X f = , então x 2 = ; x 2 = ; x 2 = ; x 2 = Ou seja, = (0.1101) 2. Exemplo 2: Considere o número X f = 0.1 Neste caso, 0.1 x 2 = 0.2; 0.2 x 2 = 0.4; 0.4 x 2 = 0.8; 0.8 x 2 = 1.6; 0.6 x 2 = 1.2; 0.2 x 2 = 0.4;... e o processo de multiplicações sucessivas repete a sequencia de dígitos 0011 ad infinitum. Portanto, 0.1 = ( ) 2. Este exemplo mostra a dificuldade de se obter a representação de um número fracionário noutra base. Estes exemplos mostram que num computador, onde o espaço para representação de um número é finito, estes números terão que ser arredondados. A forma polinomial de um número fracionário é dada por: X f = Portanto, um número real X = X i + X f pode ser representado na base 2 por X = a n 2 n + a n-1 2 n-1 + a n-2 2 n a a = (a n a n-1... a 1 a )

20 Representação no formato de ponto flutuante A forma geral de representação de um número real de ponto flutuante é semelhante à notação científica: d 1 d 2 d 3...d p b e, onde d k (k = 1,2,...,p) são os dígitos da parte fracionária (com 0 d k b-1, d 1 0), b é o valor da base (geralmente 2, 10 ou 16), p é o número de dígitos e e é um expoente inteiro. Deste modo, um número de ponto flutuante é composto por três partes: o sinal, a parte fracionária (denominada também de significando ou mantissa) e o expoente. Estas três partes têm um comprimento total fixo que depende do computador e do tipo de número: precisão simples, dupla ou estendida. Seja um hipotético computador com dois dígitos (p = 2), base b = 2 e expoente e {-1, 0, 1, 2}. Como os números reais são normalizados, isto é, d 1 0, todos eles serão da forma: e ou e, e = 1, 0, 1,2. Considerando a conversão de binário para decimal de um número menor do que 1,.10 2 = = 1/2 + 0 = 1/ 2, e.11 2 = = 1/2 + 1/4 = 3/ 4, então, os únicos números positivos representáveis neste computador são: = 1/2 1/ 2 = 1/ = 3/ 4 1/2 = 3/ = 1/2 1 = 1/ = 3/ 4 1 = 3/ = 1/ 2 2 = = 3/ 4 2 = 3/ = 1/ 2 4 = = 3/ 4 4 = 3 O zero é representado de uma forma especial: todos os dígitos d k da mantissa e do expoente são nulos (00 2 x 2 0 ). O mais importante a reter relativamente aos números de ponto flutuante é que eles são discretos e não contínuos como um número real definido na Matemática. O conceito de existir sempre um número real entre dois números reais quaisquer não é válido para os números de ponto flutuante. As consequências da falha deste conceito podem ser desastrosas, como se poderá verificar no exemplo seguinte: considere a representação binária = e = Se estes dois números forem armazenados naquele hipotético computador (com dois dígitos para a mantissa), eles serão igualmente representados por:.10 2 x 2 0. Isto significa que tanto como são vistos como por aquele computador. Esta é uma grande causa de erro de arredondamento nos processos numéricos, como será visto mais adiante neste documento

21 Por outro lado, como a forma de representação (número de dígitos da mantissa) de um número de ponto flutuante pode ser diferente entre os fabricantes do computadores, um mesmo programa implementado em computadores que utilizam formatos diferentes pode fornecer resultados diferentes. O formato utilizado pela maioria dos computadores é o proposto pelo IEEE (Institute of Electrical and Electronics Engineers), o qual é apresentado na tabela que se segue. Propriedade Precisão Simples Dupla Estendida Comprimento total bits na mantissa bits no expoente base expoente máximo expoente mínimo maior número 3.40 x x x menor número 1.18 x x x dígitos decimais Aritmética de ponto flutuante Se uma operação aritmética resultar num número que seja maior, em valor absoluto, que o maior número representável, ocorrerá um overflow. Se, por outro lado, resultar num número que seja menor, em valor absoluto, que o menor número representável diferente de zero, ocorrerá um underflow. O modo de tratar overflow e underflow dependerá do compilador utilizado para gerar o programa executável. A seguir, será mostrado a precisão das operações numéricas envolvendo números de ponto flutuante. Para tal, será utilizado um outro hipotético computador com dois dígitos (p = 2), base b = 10 (para facilitar o entendimento) e expoente e {-5,, 5}: d 1 d 2 x 10 e. Quando dois números são somados ou subtraídos, os dígitos do número de menor expoente devem ser deslocados de modo a alinhar as casas decimais. O resultado é, então, arredondado para dois dígitos para caber na mantissa de tamanho p = 2. Depois disto, o expoente é ajustado de forma a normalizar a mantissa (d 1 0). Exemplo 1: Os números são armazenados no formato especificado, as casas decimais são alinhadas e a operação de adição é efetuada. O resultado é arredondado para dois dígitos é o seguinte: =.43 x x 10-1 =.43 x 10 1 O resultado da adição é 4.4 em vez de x 10 1 =.4364 x x

22 Exemplo 2: Os números são armazenados no formato especificado, as casas decimais são alinhadas e a operação de adição é efetuada. O resultado é arredondado para dois dígitos é o seguinte: =.37 x x 10 3 =.37 x x 10 3 =.00 x x O resultado da subtração é 0 em vez de 1. A perda de precisão quando dois números aproximadamente iguais são subtraídos é a maior fonte de erro nas operações de ponto flutuante. Exemplo 3: Os números são armazenados no formato especificado, as casas decimais são alinhadas e a operação de adição é efetuada. O resultado é arredondado para dois dígitos é o seguinte: =.69 x x 10 1 =.69 x x 10 3 =.6927 x x O resultado da adição é 690 em vez de O deslocamento das casas decimais de 2.71 causou uma perda total dos seus dígitos durante a operação. Exemplo 4: 1234 x Os números são armazenados no formato definido e a multiplicação é efetuada utilizando 2p = 4 dígitos na mantissa. O resultado é arredondado para dois dígitos e normalizado: 1234 x =.12 x 10 4 x.16 x 10-1 =.12 x 10 4 x.16 x 10-1 =.0192 x x O resultado da multiplicação é 19 em vez de Exemplo 5: 875 x 3172 Os números são armazenados no formato definido e a multiplicação é efetuada utilizando 2p = 4 dígitos na mantissa. O resultado é arredondado, normalizado e, como o expoente e = 7 > 5 (máximo definido para este hipotético computador), então ocorre overflow: 875 x 3172 =.88 x 10 3 x.32 x 10 4 =.88 x 10 3 x.32 x 10 4 =.2816 x 10 7 overflow (e {-5,, 5}). O resultado obtido é superior ao maior número representável por este computador (e {-5,, 5})

23 Exemplo 6: Os números são armazenados no formato definido e a divisão é efetuada utilizando 2p = 4 dígitos na mantissa. O resultado é arredondado para dois dígitos e normalizado: =.18 x x 10 3 =.18 x x 10 3 =.3673 x x O erro relativo desse resultado foi de aproximadamente 0,52%. Exemplo 7: Os números são armazenados no formato definido e a divisão é efetuada utilizando 2p = 4 dígitos na mantissa. O resultado é arredondado, normalizado e, sendo o expoente e = -6 < -5, então ocorre underflow: =.64 x x 10 4 =.64 x x 10 4 =.8767 x 10-6 underflow (e {-5,, 5}). O resultado da divisão é um valor inferior ao menor número representável por este comutador (por definição, e {-5,, 5}), sem considerar o zero, que tem uma representação especial. Uma das causas de se cometer erros quando se usa um computador deve-se à conversão de base. Geralmente, um número é fornecido ao computador na base 10 e, no entanto, ele é armazenado na base 2. Quando os números são inteiros, a representação é exata, como, por exemplo, = No entanto, um número com parte decimal pode resultar num número binário com infinitos dígitos ( = ) que têm que ser arredondados para o armazenamento num formato de ponto flutuante Conversão de números inteiros da base b para a base decimal Para introduzir a conversão para a base decimal, será usada novamente a base binária como um primeiro exemplo. Seja o número N, representado na base binária por N = (a m a m-1... a 1 a 0 ) 2 a sua representação na base decimal pode ser obtida simplesmente pela soma do polinómio N = a m 2 m + a m-1 2 m a a 0 A operacionalização desta soma pode ser obtida pelo Algoritmo de Horner e pela Divisão de Ruffini

24 Algoritmo de Horner O número N pode ser obtido na base decimal através do cálculo da sequência: b m = a m b m-1 = a m x b m b m-2 = a m x b m b 1 = a x b 2 b 0 = a x b 1 e então, N = b 0 Exemplo: seja o número (11101) 2. Aplicando o algoritmo de Horner: b 4 = a 4 = 1 b 3 = a x b 4 = x 1 = 3 b 2 = a x b 3 = x 3 = 7 b 1 = a x b 2 = x 7 = 14 b 0 = a x b 1 = x 14 = 29 portanto, (11101) 2 = Esta metodologia pode ser generalizada para converter qualquer número inteiro na base b para a base decimal. Considere o número N = (a m a m-1... a 1 a 0 ) b a sua representação na base decimal pode ser obtida da seguinte forma: c m = a m c m-1 = a m-1 + b x c m c m-2 = a m-2 + b x c m c 1 = a 1 + b x c 2 c 0 = a 0 + b x c 1 e então, N = c

25 Divisão de Ruffini É equivalente ao método anterior, diferindo apenas na disposição dos coeficientes a i e b i : a m a m-1... a 2 a 1 a x b m... 2 x b 3 2 x b 2 2 x b 1 e então, b m b m-1... b 2 b 1 b 0 N = b 0 Exemplo: seja o número (11101) 2. Aplicando a Divisão de Ruffini: a 4 a 3 a 2 a 1 a x b 4 2 x b 3 2 x b 2 2 x b 1 2 x 1 2 x 3 2 x 7 2 x 14 b 4 b 3 b 2 b 1 b portanto, (11101) 2 = Esta metodologia pode ser generalizada para converter qualquer número inteiro na base b para a base decimal. Considere o número N = (a m a m-1... a 1 a 0 ) b a sua representação na base decimal pode ser obtida da seguinte forma: a m a m-1... a 2 a 1 a 0 2 b x c m... b x c 3 b x c 2 b x c 1 e então, c m c m-1... c 2 c 1 c 0 N = c Conversão de números fracionários da base b para a base decimal Considere um número fracionário com representação finita na base binária: X f = (0.a 1 a 2 a n ) 2. O seu valor na base decimal será dado por X f = n 2 -n Esta soma pode ser calculada diretamente ou utilizando qualquer um dos dois métodos enunciados na secção anterior (Algoritmo de Horner e Divisão de Ruffini) com algumas modificações

26 Algoritmo de Horner No caso de um número fracionário na base 2, o algoritmo fica b n = a n b n-1 = a n-1 + (1/2) x b n b n-2 = a n-2 + (1/2) x b n b 2 = a 2 + (1/2) x b 3 b 1 = a 1 + (1/2) x b 2 b 0 = (1/2) x b 1 e então, N = b 0 Exemplo: converter o número ( ) 2. Aplicando o algoritmo, fica: b 5 = a 5 = 1 b 4 = a 4 + (1/2) x b 5 = 1 + (1/2) = 3/2 b 3 = a 3 + (1/2) x b 4 = 1 + (3/4) = 7/4 b 2 = a 2 + (1/2) x b 3 = 0 + (7/8) = 7/8 b 1 = a 1 + (1/2) x b 2 = 1 + (7/16) = 23/16 b 0 = (1/2) x b 1 = (1/2) x (23/16) = 23/32 portanto, ( ) 2 = 23/32 = Divisão de Ruffini No caso de um número fracionário na base 2, o algoritmo fica a n a n-1... a 2 a 1 1/2 (1/2) x b m... (1/2) x b 3 (1/2) x b 2 (1/2) x b 1 b n b n-1... b 2 b 1 b 0 e então, N = b

27 Exemplo: Converter o número ( ) 2. Aplicando o algoritmo, fica: a 5 a 4 a 3 a 2 a /2 portanto, (1/2) x b 5 (1/2) x b 4 (1/2) x b 3 (1/2) x b 2 (1/2) x b 1 (1/2) x 1 (1/2) x (3/2) (1/2) x (3/4) (1/2) x (7/8) (1/2) x (23/16) b 5 b 4 b 3 b 2 b 1 b 0 1 3/2 7/4 7/8 23/16 23/32 ( ) 2 = 23/32 = Número binário infinito Uma outra situação que pode ocorrer é quando o número binário for infinito, por exemplo, através de uma sequência de dígitos periódicos: X f =(0, α 1 α 2...α n β 1 β 2...β m ) 2 onde β 1 β 2...β m indica que a sequência de dígitos β 1 β 2...β m se repete ad infinitum. Na base decimal, tal número é dado por X f = n 2 -n + b 1 2 -n-1 + b 2 2 -n b m 2 -n-m + + b 1 2 -n-m-1 + b 2 2 -n-m-2) + + b m 2 -n-2m + + b 1 2 -n-2m-1 + b 2 2 -n-2m b m 2 -n-3m Observa-se que este número pode ser escrito como Ou seja, X f = n 2 -n + ( b b b m 2 -m ) 2 -n + + ( b b b m 2 -m) ) 2 -n-m + + ( b b b m 2 -m ) 2 -n-2m + + X f = n 2 -n + ( b b b m 2 -m ) 2 -n ( m + 2-2m + ) Usando agora a identidade, tem-se 1 1 x = 1 + x + x2 + x (para x < 1) m + 2 2m + 2 3m +... = m m = 2 2 m 1 (fazendo x = 2-m ),

28 obtendo-se X f =α α α n 2 n + ( β β β m 2 m ) 2m n 2 m 1 As duas expressões entre parênteses têm a mesma forma e podem ser calculadas diretamente usando qualquer um dos métodos descritos anteriormente. Em geral, se o número fracionário tem representação infinita periódica na base b, X f =α 1 b 1 + α 2 b α n b n + ( β 1 b 1 + β 2 b β m b m ) bm n b m 1 onde as expressões entre parênteses podem ser calculadas diretamente ou utilizando quaisquer um dos métodos descritos anteriormente Operações com números binários Como a maioria dos computadores usa a base b = 2, estes executam operações aritméticas com números que estão na representação binária. Para tal, as tabelas de operações que se seguem são automaticamente satisfeitas Adição binária Uma adição no sistema binário é realizada da mesma forma que a adição no sistema decimal, lembrando que, no sistema binário, há apenas 2 dígitos. Esta operação é realizada de acordo com as seguintes regras (considerando os dois operados positivos): = = = = 0 (e vai 1 para o dígito de ordem superior) = 1 (e vai 1 para o dígito de ordem superior) Para somar números com mais de 2 algarismos, utiliza-se o mesmo processo de transporte para a coluna posterior, usado na adição decimal. Ter, no entanto, atenção aos limites das palavras. Exemplo 1: = ( = 8 10 ) [1] [1] [1] Exemplo 2: = ( = 4 10 ) [1] [1]

29 Exemplo 3: = ( = ) [1] [1] [1] Quando um dos operandos são números binários negativos, o processo a aplicar é o seguinte: dois operandos negativos: adicionam-se os dois considerando o valor absoluto de cada um deles e atribui-se o sinal de negativo; um deles é negativo: verifica-se qual dos dois tem maior valor absoluto, subtraí-se o menor valor absoluto ao maior e, atribui-se o sinal do maior em valor absoluto Subtração binária A subtração é análoga à adição, sendo realizada de acordo com as seguintes regras: 0-0 = = 1 (e pede emprestado 1 para o dígito de ordem superior) 1-0 = = 0 Desta forma, a operação 0-1 resulta em 1, mas com o transporte de 1 para a coluna à esquerda, que deve ser acumulado ao subtraendo e, por consequência, subtraído do minuendo (em a-b, a o minuendo e b é o subtraendo). Exemplo 1: = ( = 2 10 ) [1] Exemplo 2: = ( = 3 10 ) Exemplo 3: = ( = 1 10 ) [1]

30 Multiplicação binária Procede-se como numa multiplicação no sistema decimal, de acordo com as seguintes regras: 0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 1 = 1 Utiliza-se o mesmo método que a multiplicação decimal: deslocamentos e adições. O número maior deve ser colocado por cima do menor. Exemplo 1: x = (5 10 x 3 10 = ) x Exemplo 2: x = (26 10 x 2 10 = ) x Exemplo 3: x = (10 10 x 8 10 = ) x

31 Divisão binária A divisão binária usa o mesmo método que a divisão decimal: deslocamento e subtrações. Exemplo 1: = ( = ) [1] [1] [1] Representação de números em computadores digitais Nesta secção serão apresentadas algumas das representações usadas para armazenar números inteiros e reais na memória de um computador. As representações de números inteiros e reais apresentadas na secção anterior não são suficientes; é necessário distinguir-se, por exemplo, o sinal do número. Como não existe a representação de um sinal + ou - na memória de um computador, o recurso utilizado é acrescentar um bit, para computadores binários, ao número para representar o sinal; este bit é denominado bit de sinal Representação de números inteiros A representação mais direta de números inteiros é a denominada Sinal-Módulo (também denominada por Sinal-Magnitude). Nesta representação, o valor absoluto do número inteiro é obtido diretamente a partir dos algoritmos discutidos na secção anterior, enquanto que o sinal é representado por um dígito adicional colocado à esquerda do número. Quando a representação é binária, o bit de sinal ocupa a posição do bit mais significativo. Então, supondo que a memória do computador dispõe de q dígitos para a representação, um número inteiro na base b será representado no computador através da seguinte sequência de dígitos: a q-1 a q-2...a 1 a 0 sendo { a 0, a 1,, a q-2, a q-1 } { 0, 1,, b-2, b-1 } em que a q-1 representa o sinal do número. Esta sequência de dígitos é denominada palavra. Por exemplo, no sistema binário convenciona-se usar a q-1 = 0 para + e a q-1 = 1 para -. A conversão do número internamente representado por a q-1 a q-2...a 1 a 0 para o sistema decimal é realizado através de uma fórmula semelhante à forma polinomial: q 2 N = ( 1) a q 1 k=0 ( a k bk ),

32 em que, N o número inteiro na base decimal q-2 é o índice do dígito mais à esquerda que representa o valor absoluto de N b a base, às vezes denominada de radix (um inteiro maior que 1) a k um dígito válido na representação (0 a k < b), k = 0, 1,, q-1 Os valores em questão para as quantidades expressas na fórmula anterior dependem da arquitetura e do compilador utilizado. Por exemplo, um dado compilador possui 4 modelos de representação de inteiros com 1, 2, 4 e 8 bytes, também denominados de espécies. Sendo para todos os casos b = 2, o valor absoluto do maior número inteiro que pode ser representado internamente para cada p espécie N max, (p = 1, 2, 4, 8) é, a partir da fórmula anterior, p N max 8p 2 = 2 k = p 2 = 2 8p 1 1 = k=0 {127 (p=1) (p=2) (p=4) (p=8) A forma mais comum utilizada para representar números negativos em binário é tomando o dígito mais a esquerda que representar o sinal (0 representa sinal positivo e 1 sinal negativo) sinal Transformando o binário negativo em decimal: soma-se os bits ligados (com 1), considerando-se os valores de -2 7, 2 6,, 2 0. Exemplos: decimal ( ) decimal (87-128) decimal ( ) Existem outras representações de números inteiros em computadores, como por exemplo as representações em complemento a (b-1) e em complemento a b. A representação de números positivos em complemento é idêntica à representação em Sinal- Módulo. A representação dos números inteiros negativos é obtida efetuando-se: (base - 1) menos cada algarismo do número. Por exemplo, para calcular o complemento a (base - 1) do número (como a base é 10, então 10-1 = 9, e o complemento a (base -1) será complemento a 9); como = 702, o complemento a 1 do número -297 é

33 Para se obter o complemento a (b 1) de um número binário, deve-se subtrair cada algarismo de 1 (b - 1 = 1); no entanto, como se trata de números binários é que, para efetuar esta operação, basta inverter todos os bits. Por exemplo, o complemento a 1 (C1) do número (usando 4 dígitos) é , pois = A quantidade de números inteiros diferentes que se podem representar usando n posições num sistema de base b é b n. Por exemplo, na base 2, podem-se representar os seguintes números: 2 1 até um dígito (0, 1), 2 2 até dois dígitos (00, 01, 10, 11), 2 3 números até três dígitos (000, 001, 010, 011, 100, 101, 110, 111), A tabela seguinte apresenta a representação em C1 dos números binários de 4 dígitos. Repare como o espaço de representação da base 2 com 4 dígitos está sendo usado na representação em C1 (note que há 2 representações para o zero). Decimal (positivo) Binário em C1 (igual a sinal-módulo) Decimal (negativo) Binário em C A representação na base 10 com 3 dígitos varia de 000 a 999 (10 3 representações), representando os números de -499 a -1 (faixa negativa que está compreendida entre 500 e 998) e de +1 a +499 (faixa positiva, que está compreendida entre 1 e 499). O zero tanto pode ser representado por 000 como por 999. A faixa de representação em C1 dos números binários de n dígitos é a seguinte: menor inteiro negativo: -(2 n-1 1), maior inteiro positivo: 2 n-1 1. Na aritmética em complemento a (base - 1), basta somar os números, sendo que um número negativo será representado por seu complemento a (base 1). Por exemplo, a soma decimal de 123 com -418 é: Sinal-Módulo: = -295 Complemento a 9 (base - 1): -418 é representado por = = = 295, em que 704 é o C9 de -295 (704 está na faixa negativa)

34 De notar que nesta representação, a subtração (ou soma de um número positivo com um número negativo) transforma-se numa soma em complemento; isto é, a soma dos complementos do número positivo com o número negativo. Portanto, uma subtração pode ser realizada simplesmente através da soma dos números complementados : manter o número se é positivo e complementar o número se é negativo; depois, é só somar. Desta forma, pode-se constatar que o algoritmo da soma em complemento é muito mais simples que o da soma em sinal-módulo, uma vez que não requer nenhum teste. No entanto, continua-se com duas representações para o zero. A representação dos números inteiros negativos em complemento a base é obtida subtraindo-se da base cada algarismo do número. Por exemplo, na base 10 com 3 dígitos: 1000 x. Uma forma alternativa é subtrair cada algarismo de (base 1), isto é, calcular o complemento a (base -1), e depois somar 1 ao resultado. Ou seja, encontramos o complemento a (base - 1) do número (o que facilita muito no caso dos números binários) e depois somamos 1 ao resultado. Por exemplo, calcular o complemento a base (10) do número com 3 dígitos: usando C10: = 703; representar o número em C9 e somar 1 ao resultado: = = 703. Por exemplo, calcular o complemento a base (2) do número com 4 dígitos: usando C2: = 01101; representar o número em C1 e somar 1 ao resultado: = = Desta forma, para representar um número binário negativo em complemento 2 (C2) consiste em subtrair cada algarismo de 1 (C1) e depois somar 1 ao resultado. A tabela seguinte apresenta a representação em C2 dos números binários de 4 dígitos. Decimal (positivo) Binário em C2 (igual a sinal-módulo) Decimal (negativo) Binário em C Comparando com a tabela anterior (para C1), nota-se que os números positivos têm a mesma representação de C1 e que o zero passou a ter apenas uma representação, o que permitiu representar mais um número (neste caso, mais um negativo pode ser representado)

1.1 Etapas na solução de um problema. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante.

1.1 Etapas na solução de um problema. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante. 1. Computação numérica 1.1 Etapas na solução de um problema. 1.2 Notação algorítmica. 1.3 Tipos de erros. 1.4 Aritmética de ponto flutuante. Algoritmos Numéricos Cap.1: Computaç~ao numérica Ed1.0 c 2001

Leia mais

Sistemas Numéricos. Tiago Alves de Oliveira

Sistemas Numéricos. Tiago Alves de Oliveira Sistemas Numéricos Tiago Alves de Oliveira Sumário Sistemas Numéricos Binário Octal Hexadecimal Operações aritméticas binária e hexadecimal Operações lógicas binárias e decimais Representação Interna de

Leia mais

Arquitetura de Computadores I

Arquitetura de Computadores I Arquitetura de Computadores I Aritmética Computacional - Ponto Flutuante - Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Slides baseados nas lâminas dos profs Ney Calazans e Fernando

Leia mais

Aritmética Computacional. Prof. Leonardo Barreto Campos 1

Aritmética Computacional. Prof. Leonardo Barreto Campos 1 Aritmética Computacional Prof. Leonardo Barreto Campos Sumário Introdução; Representação de Números Inteiros; Aritmética de Números Inteiros; Representação de Números de Ponto Flutuante; Aritmética de

Leia mais

A. Equações não lineares

A. Equações não lineares A. Equações não lineares 1. Localização de raízes. a) Verifique se as equações seguintes têm pelo menos uma solução nos intervalos dados: i) (x - 2) 2 ln(x) = 0, em [1, 2] e [e, 4]. ii) 2 x cos(x) (x 2)

Leia mais

UNIMINAS. 101.. Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: 00110101. Sinal do expoente: -(na realidade, háh

UNIMINAS. 101.. Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: 00110101. Sinal do expoente: -(na realidade, háh Representação em Ponto Flutuante Utiliza-se a representação científica normalizada: 2500 = 2,5 x 10 3 0,00009 = 9,0 x 10-5. Mantissa: 1 =< M < 2. Na realidade, trabalha-se na base 2: -1,00110101 x 2-1012

Leia mais

Em linguagem matemática, essa proprieade pode ser escrita da seguinte maneira: x. 1 = x Onde x representa um número natural qualquer.

Em linguagem matemática, essa proprieade pode ser escrita da seguinte maneira: x. 1 = x Onde x representa um número natural qualquer. MATEMÁTICA BÁSICA 5 EXPRESSÕES ALGÉBRICAS - EQUAÇÕES A expressão numérica é aquela que apresenta uma sequência de operações e de números. Também já sabemos que as letras são usadas em Matemática para representar

Leia mais

Algoritmos Numéricos 2 a edição

Algoritmos Numéricos 2 a edição Algoritmos Numéricos 2 a edição Capítulo 1: Computaç~ao numérica c 2009 FFCf 2 Capítulo 1: Computação numérica 1.1 Etapas na solução de um problema 1.2 Notação algorítmica 1.3 Notação matemática 1.4 Complexidade

Leia mais

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos.

4. Álgebra Booleana e Simplificação Lógica. 4. Álgebra Booleana e Simplificação Lógica 1. Operações e Expressões Booleanas. Objetivos. Objetivos 4. Álgebra Booleana e Simplificação Lógica Aplicar as leis e regras básicas da álgebra Booleana Aplicar os teoremas de DeMorgan em expressões Booleanas Descrever circuitos de portas lógicas com

Leia mais

Capítulo VI Circuitos Aritméticos

Capítulo VI Circuitos Aritméticos Capítulo VI Circuitos Aritméticos Introdução No capítulo anterior estudamos a soma e subtração de números binários. Neste capítulo estudaremos como as operações aritméticas de soma e subtração entre números

Leia mais

Representações de caracteres

Representações de caracteres Representações de caracteres Sistemas de Numeração A necessidade de contar é algo que acompanha o ser humano desde tempos imemoriais. Sistemas de Numeração Usando o polegar para indicar em cada dedo a

Leia mais

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.

Erros e Incertezas. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011. Rafael Alves Batista Instituto de Física Gleb Wataghin Universidade Estadual de Campinas (Dated: 10 de Julho de 2011.) I. INTRODUÇÃO Quando se faz um experimento, deseja-se comparar o resultado obtido

Leia mais

Resolução de sistemas de equações lineares: Método de eliminação de Gauss

Resolução de sistemas de equações lineares: Método de eliminação de Gauss Resolução de sistemas de equações lineares: Método de eliminação de Gauss Marina Andretta ICMC-USP 21 de março de 2012 Baseado no livro Análise Numérica, de R L Burden e J D Faires Marina Andretta (ICMC-USP)

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Algoritmos e Linguagens de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

CAP. II RESOLUÇÃO NUMÉRICA DE EQUAÇÕES NÃO LINEARES

CAP. II RESOLUÇÃO NUMÉRICA DE EQUAÇÕES NÃO LINEARES CAP. II RESOLUÇÃO NUMÉRICA DE EQUAÇÕES NÃO LINEARES Vamos estudar alguns métodos numéricos para resolver: Equações algébricas (polinómios) não lineares; Equações transcendentais equações que envolvem funções

Leia mais

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp.

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada. antunes@ibilce.unesp.br, socorro@ibilce.unesp. Teoria dos Grafos Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada antunes@ibilce.unesp.br, socorro@ibilce.unesp.br Grafos e Algoritmos Preparado a partir do texto: Rangel, Socorro.

Leia mais

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO

AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO AGRUPAMENTO DE ESCOLAS DR. VIEIRA DE CARVALHO DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS MATEMÁTICA 8.º ANO PLANIFICAÇÃO GLOBAL 1. Representação, comparação e ordenação. Representar números racionais

Leia mais

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina.

Matrizes e Sistemas Lineares. Professor: Juliano de Bem Francisco. Departamento de Matemática Universidade Federal de Santa Catarina. e Aula Zero - Álgebra Linear Professor: Juliano de Bem Francisco Departamento de Matemática Universidade Federal de Santa Catarina agosto de 2011 Outline e e Part I - Definição: e Consideremos o conjunto

Leia mais

Exercícios de Aprofundamento Mat Polinômios e Matrizes

Exercícios de Aprofundamento Mat Polinômios e Matrizes . (Unicamp 05) Considere a matriz A A e A é invertível, então a) a e b. b) a e b 0. c) a 0 e b 0. d) a 0 e b. a 0 A, b onde a e b são números reais. Se. (Espcex (Aman) 05) O polinômio q(x) x x deixa resto

Leia mais

Potenciação e radiciação

Potenciação e radiciação Sequência didática para a sala de aula 6 MATEMÁTICA Unidade 1 Capítulo 6: (páginas 55 a 58 do livro) 1 Objetivos Associar a potenciação às situações que representam multiplicações de fatores iguais. Perceber

Leia mais

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média.

2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média. 1) Inicializar um vetor de inteiros com números de 0 a 99 2) Escreva um algoritmo que leia um conjunto de 10 notas, armazene-as em uma variável composta chamada NOTA e calcule e imprima a sua média 3)

Leia mais

FUNÇÕES MATEMÁTICAS NÚMERO : PI() SENO E COSSENO: SEN() E COS()

FUNÇÕES MATEMÁTICAS NÚMERO : PI() SENO E COSSENO: SEN() E COS() FUNÇÕES MATEMÁTICAS FUNÇÕES MATEMÁTICAS O Excel possui uma série de funções matemáticas em sua biblioteca. Para utilizar uma função, sempre devem ser utilizados os parêntesis, mesmo que estes fiquem vazios.

Leia mais

Apostila de Matemática 16 Polinômios

Apostila de Matemática 16 Polinômios Apostila de Matemática 16 Polinômios 1.0 Definições Expressão polinomial ou polinômio Expressão que obedece a esta forma: a n, a n-1, a n-2, a 2, a 1, a 0 Números complexos chamados de coeficientes. n

Leia mais

Semana 7 Resolução de Sistemas Lineares

Semana 7 Resolução de Sistemas Lineares 1 CÁLCULO NUMÉRICO Semana 7 Resolução de Sistemas Lineares Professor Luciano Nóbrega UNIDADE 1 2 INTRODUÇÃO Considere o problema de determinar as componentes horizontais e verticais das forças que atuam

Leia mais

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

Cálculo numérico Cálculo numérico - O Cálculo Numérico é uma metodologia para resolver problemas matemáticos através do computador. - Uma solução obti Tópicos Tópicos - Cálculo numérico - Representação e conversão de números - Representação de números em diferentes bases - Conversão de números da base decimal para uma qualquer base b - Conversão de números

Leia mais

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

étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA étodos uméricos Erros Visão Geral Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA UNIVERSIDADE DE JOÃO DEL-REI PRÓ-REITORIA DE PESQUISA CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA

Leia mais

Sistemas de Vírgula Flutuante

Sistemas de Vírgula Flutuante Luiz C. G. Lopes Departamento de Matemática e Engenharias Universidade da Madeira MAT 2 05 2007/08 Definição. Diz-se que um número real x R\{0} é um número de vírgula flutuante normalizado se forem verificadas

Leia mais

BC-0504 Natureza da Informação

BC-0504 Natureza da Informação BC-0504 Natureza da Informação Aulas 4 Sistemas de numeração. Operações em binário e algebra booleana. Equipe de professores de Natureza da Informação Santo André Julho de 2010 Parte 0 Realizar 6 problemas

Leia mais

Capítulo 2. Computação Numérica

Capítulo 2. Computação Numérica Capítulo 2. Neste capítulo serão considerados alguns aspetos básicos relativos ao cálculo numérico, como as representações de números inteiros e reais em código binário, e análise e representação dos erros

Leia mais

Álge g bra b B ooleana n Bernardo Gonçalves

Álge g bra b B ooleana n Bernardo Gonçalves Álgebra Booleana Bernardo Gonçalves Sumário Histórico Álgebra de Boole Axiomas da Álgebra de Boole Álgebra de Boole de dois valores literais Teoremas da Álgebra de Boole Simplificação de expressões booleanas

Leia mais

Agrupamento de Escolas Júlio Dantas Escola Básica Tecnopolis

Agrupamento de Escolas Júlio Dantas Escola Básica Tecnopolis Teorema de Pitágoras- Unidade 2 1.ºP Tema Calendarização Domínio N.º de aulas de 45 minutos Agrupamento de Escolas Júlio Dantas Escola Básica Tecnopolis Planificação Curricular a Longo Prazo Matemática

Leia mais

Introdução à Algoritmos. Aula 11

Introdução à Algoritmos. Aula 11 Introdução à Algoritmos Aula 11 Um programa de computador é um produto resultante da atividade intelectual. Essa atividade depende de um treinamento prévio em abstração e modelagem de problemas, bem como

Leia mais

Disciplina: MATEMÁTICA Trimestre: 1º Professora: Ana Eudóxia Alux Bessa Série: 8º Turma: 81,82,83 e 84

Disciplina: MATEMÁTICA Trimestre: 1º Professora: Ana Eudóxia Alux Bessa Série: 8º Turma: 81,82,83 e 84 COLÉGIO LA SALLE BRASÍLIA SGAS Q. 906 Conj. E C.P. 320 Fone: (061) 3443-7878 CEP: 70390-060 - BRASÍLIA - DISTRITO FEDERAL Disciplina: MATEMÁTICA Trimestre: 1º Professora: Ana Eudóxia Alux Bessa Série:

Leia mais

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de

Escola Secundária c/3º CEB José Macedo Fragateiro. Curso Profissional de Nível Secundário. Componente Técnica. Disciplina de Escola Secundária c/3º CE José Macedo Fragateiro Curso Profissional de Nível Secundário Componente Técnica Disciplina de Sistemas Digitais e Arquitectura de Computadores 2009/2010 Módulo 2: Álgebra e Lógica

Leia mais

Vírgula flutuante Aula 6

Vírgula flutuante Aula 6 Vírgula flutuante Aula 6 17 de Março de 2005 1 Estrutura desta aula Números em vírgula flutuante Formatos dos números em vírgula fixa e em vírgula flutuante A norma IEEE 754 Normalizações, expoentes, zeros

Leia mais

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação

Linguagem de Programação C. Fluxo de Saída Padrão. Linguagem de Programação C. printf. Fluxo de Saída Padrão. Algoritmos e Lógica de Programação Algoritmos e Lógica de Programação Linguagem de Programação C Linguagem C Entrada e Saída de dados Reinaldo Gomes reinaldo@cefet-al.br Fluxo de Saída Padrão Saída Formatada: ( ) Tem a função de

Leia mais

Determinantes. Matemática Prof. Mauricio José

Determinantes. Matemática Prof. Mauricio José Determinantes Matemática Prof. Mauricio José Determinantes Definição e Conceito Matriz de ordem 1 Dizemos que um determinante é um resultado (numérico) de operações que são realizadas em uma matriz quadrada.

Leia mais

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas.

Matrizes. matriz de 2 linhas e 2 colunas. matriz de 3 linhas e 3 colunas. matriz de 3 linhas e 1 coluna. matriz de 1 linha e 4 colunas. Definição Uma matriz do tipo m n (lê-se m por n), com m e n, sendo m e n números inteiros, é uma tabela formada por m n elementos dispostos em m linhas e n colunas. Estes elementos podem estar entre parênteses

Leia mais

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução

Ciclo com Contador : instrução for. for de variável := expressão to. expressão do instrução Métodos de Programação I 2. 27 Ciclo com Contador : instrução for identificador downto for de variável := expressão to expressão do instrução UMA INSTRUÇÃO (SIMPLES OU COMPOSTA) Neste caso o ciclo é repetido

Leia mais

=...= 1,0 = 1,00 = 1,000...

=...= 1,0 = 1,00 = 1,000... OPERAÇÕES COM NÚMEROS DECIMAIS EXATOS Os números decimais exatos correspondem a frações decimais. Por exemplo, o número 1,27 corresponde à fração127/100. 127 = 1,27 100 onde 1 representa a parte inteira

Leia mais

1. Números. MatemáticaI Gestão ESTG/IPB Departamento de Matemática. Números inteiros. Nota: No Brasil costuma usar-se: bilhão para o número

1. Números. MatemáticaI Gestão ESTG/IPB Departamento de Matemática. Números inteiros. Nota: No Brasil costuma usar-se: bilhão para o número MatemáticaI Gestão ESTG/IPB Departamento de Matemática 1. Números Números inteiros 0 10 1 1 10 10 2 10 100 3 10 1000 6 10 1000000 10 10 12 18 Uma unidade (um) Uma dezena (dez) Uma centena (cem) Um milhar

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Evolução e Desempenho dos Computadores Slide 1 Conceitos Arquitetura do Computador Refere-se aos atributos que são visíveis para o programador. Ex: conjunto

Leia mais

CAPÍTULO 4. 4 - O Método Simplex Pesquisa Operacional

CAPÍTULO 4. 4 - O Método Simplex Pesquisa Operacional CAPÍTULO 4 O MÉTODO SIMPLEX 4 O Método Simplex caminha pelos vértices da região viável até encontrar uma solução que não possua soluções vizinhas melhores que ela. Esta é a solução ótima. A solução ótima

Leia mais

Capítulo 6. Aritmética Computacional. 6.1 Números com Sinal e Números sem Sinal

Capítulo 6. Aritmética Computacional. 6.1 Números com Sinal e Números sem Sinal 61 Capítulo 6 Aritmética Computacional As palavras de um computador são compostas por bits e podem representar números armazenados na memória. Estes números podem ter diferentes significados, como inteiros

Leia mais

OBSERVAÇÕES: EXERCÍCIOS

OBSERVAÇÕES: EXERCÍCIOS OBSERVAÇÕES: 1. Esta lista de exercícios poderá ser resolvida individualmente ou em grupos de 2 pessoas. 2. A lista possui 25 exercícios, destes você deve responder os 5 primeiros exercícios e os outros

Leia mais

Universidade dos Açores Curso de Especialização Tecnológica Gestão da Qualidade Matemática

Universidade dos Açores Curso de Especialização Tecnológica Gestão da Qualidade Matemática Universidade dos Açores Curso de Especialização Tecnológica Gestão da Qualidade Matemática Sinopse: Nesta disciplina são abordados conceitos básicos da teoria dos erros, funções e gráficos, derivadas,

Leia mais

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante

Microcontroladores e Microprocessadores. Conversão de Bases Prof. Samuel Cavalcante Microcontroladores e Microprocessadores Conversão de Bases Prof. Samuel Cavalcante Conteúdo Conversão de Qualquer base para Decimal Decimal para Binário Hexadecimal para binário Componentes básicos de

Leia mais

1.2. Grandezas Fundamentais e Sistemas de Unidades

1.2. Grandezas Fundamentais e Sistemas de Unidades CAPÍTULO 1 Grandezas, Unidades e Dimensões 1.1. Medidas Uma grandeza física é uma propriedade de um corpo, ou particularidade de um fenómeno, susceptível de ser medida, i.e. à qual se pode atribuir um

Leia mais

a) 2 b) 3 c) 4 d) 5 e) 6

a) 2 b) 3 c) 4 d) 5 e) 6 Recordando operações básicas 01. Calcule as expressões abaixo: a) 2254 + 1258 = b) 300+590 = c) 210+460= d) 104+23 = e) 239 54 = f) 655-340 = g) 216-56= h) 35 x 15 = i) 50 x 210 = j) 366 x 23 = k) 355

Leia mais

O cilindro deitado. Eduardo Colli

O cilindro deitado. Eduardo Colli O cilindro deitado Eduardo Colli São poucas as chamadas funções elementares : potências e raízes, exponenciais, logaritmos, funções trigonométricas e suas inversas, funções trigonométricas hiperbólicas

Leia mais

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo A UA UL LA Frações e números decimais Introdução Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos de um bolo se dividirmos esse bolo em cinco partes iguais e tomarmos

Leia mais

MATRIZ DE REFERÊNCIA-Ensino Médio Componente Curricular: Matemática

MATRIZ DE REFERÊNCIA-Ensino Médio Componente Curricular: Matemática MATRIZ DE REFERÊNCIA-Ensino Médio Componente Curricular: Matemática Conteúdos I - Conjuntos:. Representação e relação de pertinência;. Tipos de conjuntos;. Subconjuntos;. Inclusão;. Operações com conjuntos;.

Leia mais

AGRUPAMENTO DE ESCOLAS DA SÉ GUARDA. MATEMÁTICA B Curso de Artes Visuais

AGRUPAMENTO DE ESCOLAS DA SÉ GUARDA. MATEMÁTICA B Curso de Artes Visuais Direção-Geral dos Estabelecimentos Escolares Direção de Serviços da Região Centro AGRUPAMENTO DE ESCOLAS DA SÉ GUARDA MATEMÁTICA B Curso de Artes Visuais ANO LECTIVO: 2015/2016 11º ANO 1º PERÍODO PLANIFICAÇÃO

Leia mais

8º Ano Planificação Matemática 14/15

8º Ano Planificação Matemática 14/15 8º Ano Planificação Matemática 14/15 Escola Básica Integrada de Fragoso 8º Ano Domínio Subdomínio Conteúdos Objetivos gerais / Metas Números e Operações Geometria e medida Dízimas finitas e infinitas periódicas

Leia mais

Exercícios: comandos de repetição

Exercícios: comandos de repetição UNIVERSIDADE FEDERAL DE UBERLÂNDIA Lista de exercícios de programação em linguagem C Exercícios: comandos de repetição 1) Elabore um programa que faça leitura de vários números inteiros, até que se digite

Leia mais

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014

7. Funções de Lógica Combinacional. 7. Funções de Lógica Combinacional 1. Somadores Básicos. Objetivos. Objetivos. Circuitos Digitais 03/11/2014 Objetivos 7. Funções de Lógica Combinacional Fazer distinção entre meio-somadores e somadores-completos Usar somadores-completos para implementar somadores binários em paralelo Explicar as diferenças entre

Leia mais

AGRUPAMENTO DE ESCOLAS RAINHA D. LEONOR ESCOLA BÁSICA 2/3 EUGÉNIO DOS SANTOS Matemática Conteúdos 8ºAno de Escolaridade Ano Letivo 2013/14

AGRUPAMENTO DE ESCOLAS RAINHA D. LEONOR ESCOLA BÁSICA 2/3 EUGÉNIO DOS SANTOS Matemática Conteúdos 8ºAno de Escolaridade Ano Letivo 2013/14 AGRUPAMENTO DE ESCOLAS RAINHA D. LEONOR ESCOLA BÁSICA 2/3 EUGÉNIO DOS SANTOS Matemática Conteúdos 8ºAno de Escolaridade Ano Letivo 2013/14 DOMÍNIO: NÚMEROS E OPERAÇÕES SUB-DOMÍNIO: NÚMEROS REAIS Números

Leia mais

Seqüências. George Darmiton da Cunha Cavalcanti CIn - UFPE

Seqüências. George Darmiton da Cunha Cavalcanti CIn - UFPE Seqüências George Darmiton da Cunha Cavalcanti CIn - UFPE Introdução Uma seqüência é uma estrutura discreta usada para representar listas ordenadas. Definição 1 Uma seqüência é uma função de um subconjunto

Leia mais

ESCOLA SUPERIOR DE TECNOLOGIA DE VISEU

ESCOLA SUPERIOR DE TECNOLOGIA DE VISEU INSTITUTO POLITÉCNICO DE VISEU ESCOLA SUPERIOR DE TECNOLOGIA DE VISEU Departamento Matemática Disciplina Matemática I Curso Gestão de Empresas Ano 1 o Ano Lectivo 2007/2008 Semestre 1 o Apontamentos Teóricos:

Leia mais

Equipe de Matemática MATEMÁTICA

Equipe de Matemática MATEMÁTICA Aluno (a): Série: 3ª Turma: TUTORIAL 5B Ensino Médio Equipe de Matemática Data: MATEMÁTICA Conjunto dos números racionais O conjunto dos números racionais é uma ampliação do conjunto dos números inteiros.

Leia mais

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo

números decimais Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos 2 de um bolo se dividirmos esse bolo A UA UL LA Frações e números decimais Introdução Inicialmente, as frações são apresentadas como partes de um todo. Por exemplo, teremos de um bolo se dividirmos esse bolo em cinco partes iguais e tomarmos

Leia mais

Prática. Exercícios didáticos ( I)

Prática. Exercícios didáticos ( I) 1 Prática Exercício para início de conversa Localize na reta numérica abaixo os pontos P correspondentes aos segmentos de reta OP cujas medidas são os números reais representados por: Exercícios didáticos

Leia mais

f (x) = a n x n + a n - 1 x n - 1 +... + a 0 = 0 (a n > 0)

f (x) = a n x n + a n - 1 x n - 1 +... + a 0 = 0 (a n > 0) Lista de Exercícios Resolução de Equações Não Lineares 1) Para a delimitação das raízes reais de uma equação polinomial, além do teorema de Lagrange, existem vários outros como, por exemplo, o apresentado

Leia mais

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Variáveis Indexadas. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Variáveis Indexadas Pedro O.S. Vaz de Melo Por que índices são importantes? Como uma loja de sapatos artesanais deve guardar os seus produtos? 1 2 3 4 Tamanhos entre

Leia mais

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão MC3305 Algoritmos e Estruturas de Dados II Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 2Q-2015 1 Custo de um algoritmo

Leia mais

Introdução a Ciência da Computação Sistemas Numéricos Conversão entre Bases PROFESSORA CINTIA CAETANO

Introdução a Ciência da Computação Sistemas Numéricos Conversão entre Bases PROFESSORA CINTIA CAETANO Introdução a Ciência da Computação Sistemas Numéricos Conversão entre Bases PROFESSORA CINTIA CAETANO Introdução Sistemas Numéricos Sistema Decimal Concebido pelos hindus cerca de 2000 anos atrás. Posteriormente

Leia mais

a, em que a e b são inteiros tais que a é divisor de 3

a, em que a e b são inteiros tais que a é divisor de 3 Matemática 0. Considere a expressão x x 3 5x x 6. Pede-se: A) encontrar o valor numérico da expressão para x. B) obter todas as raízes complexas do polinômio p(x) x x 3 5x x 6. Questão 0 Comentários: A

Leia mais

Planificação Anual de Matemática 5º Ano

Planificação Anual de Matemática 5º Ano Planificação Anual de Matemática 5º Ano DOMÍNI OS CONTEÚDOS METAS AULA S Números naturais Compreender as propriedades e regras das operações e usá-las no cálculo. Propriedades das operações e regras operatórias:

Leia mais

Comandos de Desvio 1

Comandos de Desvio 1 Programação de Computadores I UFOP DECOM 2014 1 Aula prática 3 Comandos de Desvio 1 Sumário Resumo Nesta aula você irá resolver problemas que requerem uma decisão com base em um teste, ou condição. Para

Leia mais

2. Representação e conversão de números

2. Representação e conversão de números Capítulo 2. Neste capítulo serão considerados alguns aspetos básicos relativos ao cálculo numérico, como as representações de números inteiros e reais em código binário, e análise e representação dos erros

Leia mais

Circuitos Aritméticos

Circuitos Aritméticos Circuitos Aritméticos Semi-Somador Quando queremos proceder à realização de uma soma em binário, utilizamos várias somas de dois bits para poderemos chegar ao resultado final da operação. Podemos, então,

Leia mais

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS Código BCD; Comparação entre BCD e Binário; Circuitos Digitais para BCD; Código Gray; Código ASCII; Detecção de erros pelo método de Paridade O que é um Código?

Leia mais

Planejamento Anual OBJETIVO GERAL

Planejamento Anual OBJETIVO GERAL Planejamento Anual Componente Curricular: Matemática Ano: 6º ano Ano Letivo: 2016 Professor(s): Eni e Patrícia OBJETIVO GERAL Desenvolver e aprimorar estruturas cognitivas de interpretação, análise, síntese,

Leia mais

FRAÇÃO Definição e Operações

FRAÇÃO Definição e Operações FRAÇÃO Definição e Operações DEFINIÇÃO: Fração é uma forma de se representar uma quantidade a partir de um valor, que é dividido por um determinado número de partes iguais. Como é que você representaria

Leia mais

UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO

UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO UNIPAC Araguari FACAE - Faculdade de Ciências Administrativas e Exatas SISTEMAS DE INFORMAÇÃO SAD Sistemas de Apoio à Decisão 2011/02 Aula Cinco crishamawaki@yahoo.com.br Modelos de decisão Sistemas de

Leia mais

INTEGRAIS INTEGRAL INDEFINIDA

INTEGRAIS INTEGRAL INDEFINIDA INTEGRAIS INTEGRAL INDEFINIDA A integração indefinida ou anti-derivação é a operação inversa da derivação, da mesma forma que a subtração é a operação inversa da adição ou a divisão é a operação inversa

Leia mais

Um pouco da História dos Logaritmos

Um pouco da História dos Logaritmos Um pouco da História dos Logaritmos Os logaritmos, como instrumento de cálculo, surgiram para realizar simplificações, uma vez que transformam multiplicações e divisões nas operações mais simples de soma

Leia mais

ANÁLISE EXPLORATÓRIA DE DADOS

ANÁLISE EXPLORATÓRIA DE DADOS ANÁLISE EXPLORATÓRIA DE DADOS 1.0 Conceitos A estatística descritiva tem o objetivo de organizar, resumir e apresentar de forma adequada os dados, para que estes se tornem informativos. A análise exploratória

Leia mais

Funções reais de variável real

Funções reais de variável real Funções reais de variável real Função exponencial e função logarítmica 1. Determine a base de cada logaritmo. log a 36 = 2 (b) log a (25a) = 5 (c) log a 4 = 0.4 2. Considere x = log 10 2 e y = log 10 3.

Leia mais

Metodologias de Programação

Metodologias de Programação Metodologias de Programação Bloco 1 José Paulo 1 Formador José António Paulo E-mail: questoes@netcabo.pt Telemóvel: 96 347 80 25 Objectivos Iniciar o desenvolvimento de raciocínios algorítmicos Linguagem

Leia mais

Aula 6 Propagação de erros

Aula 6 Propagação de erros Aula 6 Propagação de erros Conteúdo da aula: Como estimar incertezas de uma medida indireta Como realizar propagação de erros? Exemplo: medimos A e B e suas incertezas. Com calcular a incerteza de C, se

Leia mais

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014 Sistemas Digitais II Interface com o mundo analógico Prof. Marlon Henrique Teixeira Abril/2014 Objetivos Compreender a teoria de funcionamento e as limitações dos circuitos de diversos tipos de conversores

Leia mais

Exercícios: Vetores e Matrizes

Exercícios: Vetores e Matrizes Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Vetores e Matrizes 1 Vetores 1. Escreva um programa que leia 10 números

Leia mais

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA

Até o momento, vimos que a estrutura de um computador segue uma seqüência: ENTRADA => PROCESSAMENTO => SAÍDA Curso de Sistemas de Informação Disciplina: Algoritmos 1º e 2º Períodos Turmas 216071A, 216071B e 216062 Notas de Aula Aulas 07, 08 e 09. Professor: Edkallenn Aula 07 Variáveis Talvez o conceito de variável

Leia mais

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt

Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt Universidade Federal do ABC Disciplina: Natureza da Informação Lista de Exercícios 02 Códigos e conversão A/D Prof. João Henrique Kleinschmidt A lista é individual e deve ser escrita à mão. 1) Uma importante

Leia mais

PLANO DE ENSINO DE MATEMÁTICA 1ª SÉRIE DO ENSINO MÉDIO 1º BIMESTRE DIRETORIA DE ENSINO REGIÃO CAIEIRAS

PLANO DE ENSINO DE MATEMÁTICA 1ª SÉRIE DO ENSINO MÉDIO 1º BIMESTRE DIRETORIA DE ENSINO REGIÃO CAIEIRAS PLANO DE ENSINO DE MATEMÁTICA 1ª SÉRIE DO ENSINO MÉDIO 1º BIMESTRE 1-Conjuntos numéricos, regularidades numéricas e/ou geométricas ( conjuntos numéricos; seqüências numéricas e/ou geométricas; termo geral

Leia mais

INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN

INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN 3 INTRODUÇÃO À PROGRAMAÇÃO EM FORTRAN 3.1 Estrutura de um programa Fortran Como se viu anteriormente, a definição da sequência de instruções (isto é, o algoritmo) é uma etapa importante na elaboração de

Leia mais

5. O Mapa de Karnaugh

5. O Mapa de Karnaugh Objetivos 5. O Mapa de Karnaugh Usar um mapa de Karnaugh para simplificar expressões Booleanas Usar um mapa de Karnaugh para simplificar funções de tabela-verdade Utilizar condições don t care para simplificar

Leia mais

Revisão de conceitos. Grandezas Algarismos significativos Unidades de medida

Revisão de conceitos. Grandezas Algarismos significativos Unidades de medida Revisão de conceitos Grandezas Algarismos significativos Unidades de medida Grandezas Físicas Define-se grandeza como tudo aquilo que pode ser comparado com um padrão por meio de uma medição. Exemplo:

Leia mais

Análise de Sistemas de Controle no Espaço de Estados

Análise de Sistemas de Controle no Espaço de Estados Análise de Sistemas de Controle no Espaço de Estados 9.1 INTRODUÇÃO* (Capítulo 11 do Ogata) Um sistema moderno complexo pode ter muitas entradas e muitas saídas e elas podem ser interrelacionadas de maneira

Leia mais

CURSO DE MATEMÁTICA BÁSICA PROGRAMA DE EDUCAÇÃO TUTORIAL CENTRO DE ENGENHARIA DA MOBILIDADE

CURSO DE MATEMÁTICA BÁSICA PROGRAMA DE EDUCAÇÃO TUTORIAL CENTRO DE ENGENHARIA DA MOBILIDADE CURSO DE MATEMÁTICA BÁSICA Fatoração Equação do 1º Grau Equação do 2º Grau Aula 02: Fatoração Fatorar é transformar uma soma em um produto. Fator comum: Agrupamentos: Fatoração Quadrado Perfeito Fatoração

Leia mais

Análise de algoritmos. Parte II

Análise de algoritmos. Parte II Análise de algoritmos Parte II 1 Análise de algoritmos Existem basicamente 2 formas de estimar o tempo de execução de programas e decidir quais são os melhores Empírica ou teoricamente É desejável e possível

Leia mais

Anexo B Relação de Assuntos Pré-Requisitos à Matrícula

Anexo B Relação de Assuntos Pré-Requisitos à Matrícula Anexo B Relação de Assuntos Pré-Requisitos à Matrícula MINISTÉRIO DA DEFESA EXÉRCITO BRASILEIRO DEPARTAMENTO DE EDUCAÇÃO E CULTURA DO EXÉRCITO DIRETORIA DE EDUCAÇÃO PREPARATÓRIA E ASSISTENCIAL RELAÇÃO

Leia mais

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO

Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO Programação de Computadores I Estruturas de Repetição PROFESSORA CINTIA CAETANO Introdução Existem situações onde é necessário repetir um determinado trecho de um programa um certo número de vezes. Assim,

Leia mais

CAPÍTULO II. Variáveis e Expressões CAPÍTULO II COMENTÁRIOS SINTAXE / SEMÂNTICA ESTRUTURA DE UM ALGORITMO EM PSEUDOCÓDIGO

CAPÍTULO II. Variáveis e Expressões CAPÍTULO II COMENTÁRIOS SINTAXE / SEMÂNTICA ESTRUTURA DE UM ALGORITMO EM PSEUDOCÓDIGO NBT110 Algoritmos e Estruturas de Dados Profa. Rosanna Mara Rocha Silveira Fevereiro/2013 - Versão 1.1 10 CAPÍTULO II COMENTÁRIOS Os comentários são usados para aumentar a clareza de um algoritmo. O trabalho

Leia mais

Exercícios: Recursão

Exercícios: Recursão UNIVERSIDADE FEDERAL DE UBERLÂNDIA Lista de exercícios de programação em linguagem C Exercícios: Recursão 1) Faça uma função recursiva que calcule e retorne o fatorial de um número inteiro N. 2) Faça uma

Leia mais

Francisco Magalhães Gomes IMECC UNICAMP. Matemática básica. Volume 1 Operações, equações, funções e sequências

Francisco Magalhães Gomes IMECC UNICAMP. Matemática básica. Volume 1 Operações, equações, funções e sequências Francisco Magalhães Gomes IMECC UNICAMP Matemática básica Volume 1 Operações, equações, funções e sequências 2016 Sumário Prefácio vii Capítulo 1 Números reais 1 1.1 Conjuntos de números..............................

Leia mais

Ficha de Exercícios nº 2

Ficha de Exercícios nº 2 Nova School of Business and Economics Álgebra Linear Ficha de Exercícios nº 2 Matrizes, Determinantes e Sistemas de Equações Lineares 1 O produto de duas matrizes, A e B, é a matriz nula (mxn). O que pode

Leia mais

Actividade de enriquecimento. Algoritmo da raiz quadrada

Actividade de enriquecimento. Algoritmo da raiz quadrada Actividade de enriquecimento Algoritmo da raiz quadrada Nota: Apresenta-se uma actividade de enriquecimento e de um possível trabalho conjunto com as disciplinas da área de informática: os alunos poderão

Leia mais