SCC-210. Algoritmos Avançados Capítulo 5
|
|
|
- Renato Monteiro Azambuja
- 9 Há anos
- Visualizações:
Transcrição
1 SCC-210 Algoritmos Avançados Capítulo 5 Aritmética & Álgebra Adaptado por João Luís G. Rosa 1 Organização Aritmética Computacional Números Inteiros Gigantes (Big Numbers) Bases Numéricas e Conversões Números Reais Álgebra (Polinômios) Logaritmos Bibliotecas 2
2 Aritmética Computacional Nos computadores modernos, as operações aritméticas elementares de adição, subtração, multiplicação e divisão são mapeadas de forma praticamente direta para instruções em nível de hardware. Muitas outras operações podem precisar ser realizadas via software como base em equivalências matemáticas ou aproximações numéricas. Algumas formas podem ser muito mais rápidas e/ou precisas que outras. Além disso, existem aplicações que demandam a manipulação de números que superam de longe a capacidade de representação convencional da máquina. 3 Aritmética Computacional Por exemplo, uma máquina de 32 bits representa e manipula um tipo inteiro primitivo long long na faixa ±2 63 (aproximadamente): a Isso é mais que suficiente para a grande maioria das aplicações modernas, mas não todas. Exemplos: Pesquisa matemática Física/Astronomia Criptologia/Criptografia... Em criptografia, por exemplo, muitas vezes é preciso manipular números inteiros com centenas de dígitos. 4
3 Aritmética Computacional Para problemas da maratona é imprescindível conhecer os limites de cada tipo de dados. Para o gnu c/c++ em uma máquina 32 bits: Tipo Bits Faixa Precisão char, signed char unsigned char short, signed short unsigned short int, signed int 32-2 x x unsigned int x long long 64-9 x x unsigned long long x Hashmat the brave warrior (UVa 10055) Hashmat is a brave warrior who with his group of young soldiers moves from one place to another to fight against his opponents. Before fighting he just calculates one thing, the difference between his soldier number and the opponent's soldier number. From this difference he decides whether to fight or not. Hashmat's soldier number is never greater than his opponent. Input The input contains two integer numbers in every line. These two numbers in each line denotes the number of soldiers in Hashmat's army and his opponent's army or vice versa. The input numbers are not greater than 2^32. Input is terminated by End of File. Output For each line of input, print the difference of number of soldiers between Hashmat's army and his opponent's army. Each output should be in separate line. 6
4 Hashmat the brave warrior (UVa 10055) Sample Input: Sample Output: Inteiros Gigantes (Big Numbers) Representações via concatenação de dígitos: Arranjos de Dígitos: Elemento inicial representa o dígito menos significativo. Mantém-se um contador com o número de dígitos significativos. Contador está relacionado ao índice da célula do último dígito. Vantagens: Simples. Eficiente: dígitos Arranjo de chars 100Kb!!! Requerimento: Limitante superior não conservativo para o no. máximo de dígitos. Lista Encadeada de Dígitos (Estrutura Dinâmica): Mais complexa, mas necessária quando não se dispõe de um limitante superior não conservativo para o número de dígitos. 8
5 Inteiros Gigantes (Big Numbers) Representação via Arranjo de Dígitos: 9 Inteiros Gigantes (Big Numbers) Representação via Arranjo de Dígitos: * Nota: Os dígitos não correspondem aos caracteres 0 a 9 (ASCII 48 a 57), mas aos caracteres cujos códigos ASCII são 0 a 9. Isso permite operar com os dígitos (char) como se fossem inteiros (int). 10
6 Inteiros Gigantes (Big Numbers) Adição: ( a ) + ( b ) = ( a + b ) a + b = + ( a + b ) ( a ) + b = b a // continua... a + ( b ) = a b 11 Inteiros Gigantes (Big Numbers) Adição: c->lastdigit = max(a->lastdigit,b->lastdigit) ou c->lastdigit = max(a->lastdigit,b->lastdigit)+1 //...continuação Na dúvida utiliza-se o maior + a função zero_justify(c) divisão inteira 12
7 Inteiros Gigantes (Big Numbers) Comparação: Retorna: +1 se a < b, 1 se a > b, 0 se a=b 13 Inteiros Gigantes (Big Numbers) Subtração: a<0 & b<0: a ( b ) = a + b a>0 & b<0: a ( b ) = a + b a<0 & b>0: a b = a + ( b ) a>0 & b>0 & a<b: // continua... a b = ( b a 14)
8 Inteiros Gigantes (Big Numbers) Subtração: //...continuação a b 15 Inteiros Gigantes (Big Numbers) Multiplicação: a b 6 a = a + a + a + a + a + a (3 a) 10 = 10 a + 10 a + 10 a (a + a + a + a + a + a) + (10 a + 10 a + 10 a) 16
9 Inteiros Gigantes (Big Numbers) Multiplicação: 17 Inteiros Gigantes (Big Numbers) Divisão (Resto Desprezado): ? (F) ? (V) = 12 (1x) (F) (V) = = = = = (F) (1x) (2x) (3x) (4x) (5x)
10 Inteiros Gigantes (Big Numbers) //... continuação // continua... Divisão Inteira 19 Inteiros Gigantes (Big Numbers) Potenciação: a n = a a... a (n 1) multiplicações ou a n = a n 2 a n 2 a (n mod 2) O(log n) multiplicações Exemplo: a 16 = a 8 a 8 = (a 4 a 4 ) a 8 = (a 2 a 2 ) a 4 a 8 = a a a 2 a 4 a 8 a 33 = a 16 a 16 a = a a a 2 a 4 a 8 a 16 a 20
11 Inteiros Gigantes (Big Numbers) Potenciação (Solução Recursiva): 21 Inteiros Gigantes (Big Numbers) Conversão e Inicialização: 22
12 500! (UVa 623) In these days you can more and more often happen to see programs which perform some useful calculations being executed rather then trivial screen savers. Some of them check the system message queue and in case of finding it empty (for examples somebody is editing a file and stays idle for some time) execute its own algorithm. As an examples we can give programs which calculate primary numbers. One can also imagine a program which calculates a factorial of given numbers. In this case it is the time complexity of order O(n) which makes troubles, but the memory requirements. Considering the fact that 500! gives 1135-digit number no standard, neither integer nor floating, data type is applicable here ! (UVa 623) Your task is to write a programs which calculates a factorial of a given number. Assumptions: Value of a number n which factorial should be calculated of does not exceed 1000 (although 500! is the name of the problem, 500! is a small limit). Input Any number of lines, each containing value n for which you should provide value of n! Output 2 lines for each input case. First should contain value n followed by character `!'. The second should contain calculated value n!. 24
13 500! (UVa 623) Sample Input Sample Output 10! ! ! ! Ones (UVa 10127) Popularity: A, Sucess rate: high, Level: 2 Given any integer 0 n not divisible by 2 or 5, some multiple of n is a number which in decimal notation is a sequence of 1's. How many digits are in the smallest such multiple of n? Input A file of integers at one integer per line. Output Each output line gives the smallest integer x > 0 such that x 1 i= 0 p = 1 x 10 i, where a is the corresponding input integer, p = a x b, and b is an integer greater than zero. 26
14 Ones (UVa 10127) Sample Input Sample Output Bases Numéricas & Conversão A base de um sistema de numeração diz respeito a quantos diferentes símbolos são utilizados naquele sistema. Bases numéricas mais usuais: Decimal: Utiliza dez dígitos (0 a 9). A razão histórica para a adoção dessa base-10 é que aprendemos a contar com os dedos das mãos *. Binária: Utiliza dois dígitos (0 e 1). A razão evidente para a adoção dessa base-2 em sistemas digitais é o seu mapeamento natural com os estados ligado/desligado da lógica dos circuitos. Hexadecimal: Utiliza 16 símbolos (dígitos 0 a 9 + letras A a F). Simplifica a representação de números binários pela conversão direta de grupos de 4 bits em um dígito hexadecimal. Octal: 8 dígitos (0 a 7). Representa nos. binários por grupos de 3 bits. * Nota: Os Maias utilizavam um sistema com base 20, supostamente porque também utilizavam os pés para contar. 28
15 Bases Numéricas & Conversão Conversão de número decimal N em qualquer outra base b: Divisão inteira sucessiva de N por b. Dígitos menos significativos do resultado são dados pelas sobras. Sobras são facilmente calculadas utilizando o operador módulo (%): Exemplos: 93 / 2 = 46 resto 1 46 / 2 = 23 resto 0 23 / 2 = 11 resto 1 11 / 2 = 5 resto 1 5 / 2 = 2 resto 1 2 / 2 = 1 resto 0 1 / 2 = 0 resto / 16 = 5 resto D 5 / 16 = 0 resto 5 5D 29 Bases Numéricas & Conversão Conversão Inversa: Sejam d 0 e d n os dígitos menos e mais significativos, respectivamente, de N na base b (Nb). Então: Exemplos: N 10 = d 0 b 0 + d 1 b d n-1 b n = = D 16 = D = =
16 Números Reais Trabalhar com números reais em computadores é desafiador Representação é feita em notação científica: Mantissa Base (Expoente) Problemas: Aritmética de ponto flutuante possui precisão limitada: Notação científica pode passar a ilusão de capacidade gigantesca Fato é que a mantissa e expoente possuem no. finito de bits Não existe padrão único (embora exista padrão usual e.g. IEEE): Para representação (e.g. em base 10 ou base 2). Para operações (e.g. arredondamentos): podem variar com a arquitetura do computador, com a linguagem de programação e com o compilador! 31 Números Reais Matemática versus Computação Continuidade dos reais (a<b c: a<c<b): Matemática (Verdadeiro para a, b R) Computação (Não necessariamente verdadeiro) Propriedades Algébricas Ex. Associatividade da Adição: (a + b) + c = a + (b + c) Matemática (Verdadeiro para a, b, c R) Computação (Não necessariamente Erros de arredondamento) Maiores problemas ocorrem na manipulação de números com magnitudes muito distintas (muito grandes e muito pequenos). Implica em outro grande problema: Teste de Igualdade. 32
17 Números Reais Teste de Igualdade e Precisão: Testes de igualdade exatos: Verificar se dois números reais são binariamente idênticos Verificar se um número real é idêntico a zero São usualmente inadequados devido à presença de erros de arredondamento nos bits menos significativos da mantissa. Testes de igualdade aproximados: Verificar se um número real está dentro de um intervalo de tolerância [ ε,+ε] ao redor da referência de comparação. Esse é o tipo de teste recomendado. 33 Números Reais Truncamento versus Arredondamento: Truncamento: Desprezar os n dígitos menos significativos do número. Exemplo: funções floor, que desprezam parte fracionária. Para desprezar apenas após do k-ésimo dígito decimal: trunc(a, k) = floor(a 10 k ) / 10 k Exemplo: trunc( , 2) = floor( ) / 10 2 = Arredondamento: Aproximar os n dígitos menos significativos do número. Para aproximar os dígitos após do k-ésimo dígito decimal: round(a, k) = floor(a 10 k + 1/2) / 10 k Ex.: round( , 2) = floor( ) / 10 2 = Ex.: round( , 2) = floor( ) / 10 2 =
18 Números Reais Tipos de Números: Inteiros: São os números contáveis, cujos subconjuntos incluem os números Naturais e os Positivos (em notação não universal). Racionais: Números que podem ser expressos como a razão de dois inteiros. No. c é racional se e somente se c = a/b, onde a e b são inteiros. Obviamente, qualquer no. c inteiro é racional pois c = c/1. Irracionais: Números que não podem ser expressos como a razão de dois inteiros. É possível demonstrar que não existem dois inteiros a e b cuja razão resulte em números como π = , e = , entre outros. 35 Números Reais Representação de Números Irracionais: Pré-definição aproximada com n dígitos: Exemplo: π ~10 dígitos é suficiente para a maioria das aplicações Aproximação numérica: Números irracionais que representam o valor f(x 0 ) de uma função analítica f(x) em um dado ponto x 0 podem ser aproximados via série de Taylor Exemplos incluem: e = , sqrt(2) =
19 Números Reais Série de Taylor: Exemplo: f ( x) = m = 0 ( x0 ) ( x x ) m f m! 0 m e e x e x = e x0 + d e ( ) ( ) 2 ( ) ( ) x x + x x... Dado que d(e x )/dx = e x, tem-se tomando x 0 = 0 que: = = 1 + x d x 2 x dx d x x= x 0 x= x0 2 3 x x + 2 3! x 4! + L L e = L 37 Álgebra - Polinômios Polinômio é uma função do tipo: p(x) = c 0 + c 1 x c n x n n é o grau do polinômio, isto é: O maior expoente j de um termo x j com coeficiente c j não nulo Cálculo de p(x): Literal: O(n + n ) O(n 2 ) multiplicações. Duas multiplicações por termo, a partir do termo de menor ordem: Para j = 2,..., n multiplica-se (x j-1 x) e o resultado por c j, i.e., (x j c j ) O(2n) O(n) multiplicações Regra de Horner: c 0 + c 1 x c n x n = c 0 + x(... + x(c n-1 + c n x)...) O(n) multiplicações 38
20 Polinômios Adição: p(x) = c 0 + c 1 x c n x n e q(x) = d 0 + d 1 x d n x n p(x) + q(x) = (c 0 + d 0 ) + (c 1 + d 1 ) x (c n + d n ) x n OBS: Graus de p e q não precisam ser iguais! Subtração: p(x) q(x) = (c 0 d 0 ) + (c 1 d 1 ) x (c n d n ) x n Multiplicação: p( x) q( x) = grau ( p) grau( q) i+ j ( cic j x ) i= 0 j= 0 Implementação literal é O(n 2 ) assumindo n = grau(p) = grau(q) Possível calcular em O(n log n) como convolução via F.F.T. (fast Fourier transform) 39 Polinômios Divisão: Polinômios não são fechados sob divisão. Isso significa que uma divisão polinomial não necessariamente resulta em um polinômio. Representação: Usualmente por vetor de coeficientes. No caso de polinômios multidimensionais: Matriz ou arranjo multi-dimensional de coeficientes Exemplo: c[i][j] representa o coeficiente c ij associado ao termo x i y j Polinômios Esparsos: Polinômios com grau n elevado e muitos coeficientes c j nulos Podem ser representados com lista encadeada de coeficientes Elevado espargimento pode justificar essa representação alternativa 40
21 Polinômios Cálculo de Raízes Polinomiais: Identificar um ou mais valores de x tal que p(x) = v Se p(x) tem grau n = 1 então c 1 x + c 0 = v x = (v c 0 ) / c 1 Se p(x) tem grau n = 2 então: c1 ± x = c 2 1 4c 2c 2 ( c v) Existem ainda fórmulas fechadas mais complexas para n = 3 e n = 4 A partir de n = 3, no entanto, tipicamente se utiliza métodos numéricos: Newton Newton-Raphson etc Logaritmos Um logaritmo nada mais é que uma função exponencial inversa: Dizer que b x = y é equivalente a dizer que x = log b (y) b é denominada base do logaritmo Três bases de particular importância por razões matemáticas e históricas são: Base e log e (x) := ln(x) conhecido como log. neperiano ou natural Base 2 Base 10 logaritmo comum 42
22 Logaritmos A importância do logaritmo natural advém da sua relação inversa com a função exponencial: exp( ln(x) ) = e ln(x) = x A importância do logaritmo em base 2 é dupla: Sistema de numeração binário. Análise de complexidade de algoritmos. O logaritmo em base 10 é menos usual atualmente: Foi importante para o cálculo manual envolvendo grandes números, antes da invenção de calculadoras e computadores. Tábuas logarítmicas para multiplicações 43 Logaritmos Logaritmos ainda são úteis para multiplicações, em particular aquelas envolvidas em potências: log a (xy) = log a (x) + log a (y) Conseqüentemente: log a (n b ) = b log a (n) Logo: a b = exp( ln(a b ) ) = exp (b ln(a) ) a, b R Com exp e ln implementadas via Taylor calcula-se a b! Podemos utilizar esse método para calcular a raiz quadrada: De fato, sqrt(x) = x 1/2 Mas não se surpreenda se algum compilador produzir e (0.5 ln 4) 2! Uma última propriedade muito útil: log log a b = log c c b a 44
23 Algumas Bibliotecas C/C++: <math.h> library double floor(double x); double ceil(double x); double fabs(double x); // Equivalente para real de abs() para int double sqrt(double x); double exp(double x); double log(double x); // Logaritmo Neperiano. double log10(double x); double pow(double x,double y); etc GNU g++ Integer class. Java: java.lang.math class java.math.biginteger class 45 Para a próxima aula Fibonacci Numbers (Obrigatório) LAEncoding (Opcional) 568 Just the Facts (Opcional) 46
24 Fibonacci Numbers A Fibonacci sequence is calculated by adding the previous two members of the sequence, with the first two members being both 1. f (1) = 1, f (2) = 1, f (n > 2) = f (n - 1) + f (n - 2) Input and Output Your task is to take numbers as input (one per line), and print the corresponding Fibonacci number. Sample Input Sample Output Note: No generated Fibonacci number in excess of 1000 digits will be in the test data, i.e. f (20) = 6765 has 4 digits. Referências Batista, G. & Campello, R. Slides disciplina Algoritmos Avançados, ICMC-USP, Skiena, S. S. & Revilla, M. A. Programming Challenges The Programming Contest Training Manual. Springer, 2003.
Laboratório de Algoritmos Avançados Capítulo 7
SCC-211 Lab. Algoritmos Avançados Capítulo 7 Teoria dos Números Adaptado por João Luís G. Rosa Introdução A Teoria dos Números é uma das mais bonitas e interessantes áreas da matemática. É o ramo da matemática
Cálculo Numérico Conceitos Básicos
Cálculo Numérico Conceitos Básicos Prof. Jorge Cavalcanti [email protected] MATERIAL ADAPTADO DOS SLIDES DA DISCIPLINA CÁLCULO NUMÉRICO DA UFCG - www.dsc.ufcg.edu.br/~cnum/ 1 Princípios usados
Disciplina: Introdução à Engenharia da Computação
Colegiado de Engenharia de Computação Disciplina: Introdução à Engenharia da Computação Aula 07 (semestre 2011.2) Prof. Rosalvo Ferreira de Oliveira Neto, M.Sc. [email protected] 2 Representação
Algoritmos Avançados Capítulo 8
SCC-210 Algoritmos Avançados Capítulo 8 Teoria dos Números Adaptado por João Luís G. Rosa Introdução A Teoria dos Números é uma das mais bonitas e interessantes áreas da matemática. É o ramo da matemática
Método Analítico. Método Numérico
UFRN/CT/DCA Nota de Aula Introdução aos Métodos Computacionais e Estudo dos Erros Prof Anderson Cavalcanti Métodos Computacionais Contextualização Muitos problemas de engenharia consistem em obter uma
Programação de Computadores:
Instituto de C Programação de Computadores: Introdução ao FORTRAN Luis Martí Instituto de Computação Universidade Federal Fluminense [email protected] - http://lmarti.com Introdução ao FORTRAN Cinco aspectos
Erros, Precisão Numérica e Ponto Flutuante
Capítulo 3 Erros, Precisão Numérica e Ponto Flutuante No capítulo anterior introduzimos o conceito de variável em programação. Uma variável é basicamente um nome usado para se referir a algum conteúdo
Cálculo Numérico IPRJ/UERJ. Sílvia Mara da Costa Campos Victer ÍNDICE. Aula 1- Introdução. Representação de números. Conversão de números
Cálculo Numérico IPRJ/UERJ Sílvia Mara da Costa Campos Victer ÍNDICE Aula 1- Introdução Representação de números Conversão de números Aritmética de ponto flutuante Erros em máquinas digitais Aula 1 - Introdução
6.Elaboração de algoritmos...13
Índice de conteúdos Capítulo 1. Computação Científica...1 1.Definição...1 2.Modelo genérico...2 3.Modelo matemático...2 4.Tipos de modelos matemáticos...3 5.Modelação matemática...5 5.1.Definição (formulação)
Cálculo Numérico. Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações.
CÁLCULO NUMÉRICO Cálculo Numérico Conjunto de métodos utilizados para a obtenção de resultados de problemas matemáticos através de aproximações Problema Físico Modelo Matemático Solução Cálculo Numérico
Programação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Leandro Augusto Frata Fernandes [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.1/tcc-00.157
Arquitetura de Computadores I
Arquitetura de Computadores I Aritmética Computacional - Inteiros - Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Sumário A unidade lógico-aritmética Representação de números inteiros
Programação de Computadores III
Programação de Computadores III Introdução ao FORTRAN Professor Hugo de Oliveira Barbalho [email protected] Material produzido pelo professor: Leandro Augusto Frata Fernandes ([email protected])
Métodos Numéricos - Notas de Aula
Métodos Numéricos - Notas de Aula Prof a Olga Regina Bellon Junho 2007 1. Representação de números reais 1.1. Introdução Cálculo Numérico X Método Numérico CI202 - Métodos Numéricos 1 1. Representação
Cálculo Numérico Noções básicas sobre erros
Cálculo Numérico Noções básicas sobre erros Profa. Vanessa Rolnik 1º semestre 2015 Fases da resolução de problemas através de métodos numéricos Problema real Levantamento de Dados Construção do modelo
SME CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS. Agosto 2011
SME0100 - CÁLCULO NUMÉRICO I PROFESSORES MARCOS ARENALES MARISTELA SANTOS Agosto 2011 SME0100 - Cálculo Numérico I Ementa: 1) Representação de números no computador. Erros em métodos numéricos. 2) Soluções
PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR
PARTE I I: ARITMÉTICA COMPUTACIONAL ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR Introdução Como representar números em memória? Como representar números negativos e de ponto flutuante?
Erros e Aritmética de ponto flutuante
Cálculo Numérico Noções básicas sobre erros Aritmética de ponto flutuante Prof. Daniel G. Alfaro Vigo [email protected] DCC IM UFRJ Parte I Noções básicas sobre erros Introdução Validação Modelagem
1/50. Conceitos Básicos. Programa Básico
1/50 Conceitos Básicos Programa Básico 2/50 Operações básicas de entrada e saída #include main retorna um inteiro int main() { std::cout
Fundamentos IV. Introdução a análise de erros. Clarimar J. Coelho. August 14, Departamento de Computação
Fundamentos IV Introdução a análise de erros Clarimar J. Coelho Departamento de Computação August 14, 2014 Clarimar (Departamento de Computação) Aula 2 August 14, 2014 1 / 40 Como aparecem os erros em
CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aulas 5 e 6 03/2014 Erros Aritmética no Computador A aritmética executada por uma calculadora ou computador é diferente daquela
Sistemas Digitais INE 5406
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Graduação em Ciências da Computação Sistemas Digitais INE 5406 Aula 10-P Refinamento das especificações
Sistemas de Numeração
Sistemas de Numeração Objetivos Conhecer representações numéricas para inteiros positivos (naturais) nas bases binária, hexadecimal e octal. Generalizar representações para qualquer base. Manipular fluentemente
Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO
Baseado nos slides de Anna Tostes SISTEMA NUMÉRICO 1 Sumário 1. Sistema Numérico 2. Notação Posicional Sistema Decimal Sistema Binário Sistema Octal Sistema Hexadecimal 3. Conversão entre Bases 4. Operações
Curso de Matemática Aplicada.
Aula 1 p.1/25 Curso de Matemática Aplicada. Margarete Oliveira Domingues PGMET/INPE Sistema de números reais e complexos Aula 1 p.2/25 Aula 1 p.3/25 Conjuntos Conjunto, classe e coleção de objetos possuindo
Números binários e erros
Números binários e erros Alan Costa de Souza 14 de Agosto de 2017 Alan Costa de Souza Números binários e erros 14 de Agosto de 2017 1 / 1 Introdução Calcular a área de uma circunferência de 100 m de raio.
Erros em computações numéricas
Erros em computações numéricas Sérgio Galdino 1 2 1 POLI-UPE Escola Politécnica Universidade de Pernambuco 2 UNICAP Universidade Católica de Pernambuco Disciplinas: (1)Cálculo Numérico - (2)Cálculo Numérico
Aproximações e Erros
Aproximações e Erros Lucia Catabriga e Andréa Maria Pedrosa Valli Laboratório de Computação de Alto Desempenho (LCAD) Departamento de Informática Universidade Federal do Espírito Santo - UFES, Vitória,
Cálculo Numérico - Mat 215. Prof. Dirceu Melo. Prof. Dirceu Melo - MAT215
Cálculo Numérico - Mat 215 Prof. Dirceu Melo Prof. Dirceu Melo - MAT215 1 1ª AULA Introdução Sistemas Decimal e Binário Conversão de Sistemas de base Sistema Aritmético de Ponto Flutuante INTRODUÇÃO 3
Programação Introdução
PROGRAMAÇÃO Programação Introdução Prof. Dr. Adriano Mauro Cansian 1 Introdução Para armazenar um algoritmo na memória de um computador e para que ele possa, em seguida, comandar as operações a serem executadas,
ARQUITECTURA DE COMPUTADORES
ARQUITECTURA DE COMPUTADORES CAPÍTULO III AULA I, II e III Abril 2014 Índice Aritmética para computadores Intro Adição e subtração Multiplicação Divisão Virgula Flutuante Virgula Flutuante - aritmética
Paradigmas de Linguagens
Paradigmas de Linguagens Aula 2: Tipos de dados Professora Sheila Cáceres Tipos de dados Dados são a matéria prima da computação junto com os programas. LPs precisam manipular dados. LPS utilizam os conceitos
Sistemas de Numeração. Exemplos de Sistemas de Numeração (1) Exemplos de Sistemas de Numeração (2) Sistemas de Numeração
Sistemas de Numeração Sistemas de Numeração (Aula Extra) Sistemas de diferentes bases Álgebra Booleana Roberta Lima Gomes - LPRM/DI/UFES Sistemas de Programação I Eng. Elétrica 27/2 Um sistema de numeração
Números são números, letras são números e sinais de pontuação, símbolos e até mesmo as instruções do próprio computador são números.
Para o computador, tudo são números. Números são números, letras são números e sinais de pontuação, símbolos e até mesmo as instruções do próprio computador são números. O método ao qual estamos acostumados
Métodos Numéricos Erros Ponto Flutuante. Professor Volmir Eugênio Wilhelm Professora Mariana Kleina
Métodos Numéricos Erros Ponto Flutuante Professor Volmir Eugênio Wilhelm Professora Mariana Kleina Representação Numérica O conjunto dos números representáveis em qualquer máquina é finito, e portanto
Aritmética dos Computadores
William Stallings Arquitetura e Organização de Computadores Capítulo 4 Aritmética dos Computadores Unidade Lógica e Aritmética Faz os cálculos lógicos e aritméticos. Tudo, num sistema computador, está
Introdução à linguagem C++
Estrutura de Dados e Algoritmos e Programação e Computadores II Aula 2: Introdução à linguagem C++ Introdução à linguagem C++ Conceitos básicos: variáveis, tipos de dados, constantes, I/O, etc. Estruturas
TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante
TP062-Métodos Numéricos para Engenharia de Produção Erros-Ponto Flutuante Prof. Volmir Wilhelm Curitiba, 2015 Representação Numérica No sistema decimal X (10) = d 3 d 2 d 1 d 0 (número inteiro de 4 dígitos)
Introdução. à Ciência da. Representação de Números em Ponto Flutuante. Aula 21. Números Fracionários
Universidade Federal de Pelotas Instituto de Física e Matemática Departamento de Informática Bacharelado em Ciência da Computação Introdução à Ciência da Computação Aula 21 Representação de Números em
Notas de Aula Guilherme Sipahi Arquitetura de Computadores. Aritmética de Inteiros
Notas de Aula Guilherme Sipahi Arquitetura de Computadores - Aritmética de Computadores "Matemática Real" f: RxR R Aritmética de Inteiros "Matemática no Computador" nº finito de números representáveis
3/14/2012. Programação de Computadores O Computador. Memória Principal representação binária
Programação de Computadores O Computador Memória Principal representação binária Prof. Helton Fábio de Matos [email protected] Agenda Memória principal. Memória secundária. O que são bytes e bits. Tecnologias
CÁLCULO NUMÉRICO (CN)
CÁLCULO NUMÉRICO (CN) OBJETIVO: O estudo dos métodos de resolução numérica de problemas de matemática. 1. INTRODUÇÃO: A resolução de problemas envolve várias fases que podem ser assim estruturadas: Problema
CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.
CÁLCULO NUMÉRICO Profa. Dra. Yara de Souza Tadano [email protected] Aula 2 08/2014 Noções Básicas sobre Erros A resolução de problemas numericamente envolve várias fases que podem ser assim estruturadas:
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
Capítulo 04 : Sistemas Numéricos
Departamento de Engenharia Elétrica FEIS - UNESP Capítulo 04 : Sistemas Numéricos 1.1 - Representação de Quantidades Numéricas Analógica Digital 1.2 - Sistemas Numéricos 1. 3 1.2 - Sistemas Numéricos 1.2
Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias
SCC 12 - Introdução à Programação para Engenharias Tipos de Dados e Variáveis Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes
Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados
Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados Disciplina de Programação de Computadores I Universidade Federal de Ouro
Introdução à Computação
Universidade Federal de Campina Grande Centro de Engenharia Elétrica e Informática Unidade Acadêmica de Sistemas e Computação Curso de Bacharelado em Ciência da Computação Introdução à Computação A Informação
Arquitetura de computadores BASE NUMÉRICAS
Arquitetura de computadores BASE NUMÉRICAS Base Numérica A base numérica é um conjunto de símbolos (algarismos) usados para representar uma certa quantidade ou número. Notação Posicional Esta notação representa
3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas
Universidade Federal de Uberlândia Faculdade de Computação. Representação e aritmética binária
Universidade Federal de Uberlândia Faculdade de Computação Representação e aritmética binária Prof. Renato Pimentel 1 Tipos de informação Representação por meio de sequências binárias: 8 bits (byte) Também
Sistemas de Numeração. Sistemas de Numeração. Sistemas de Numeração. RUIDO em Sistemas Computacionais. Arquiteturas de Computadores
Arquiteturas de Computadores Sistema de Numeração Decimal - (..9) Número 23 na base (): = Prof. Edward David Moreno Cap 2 Número 23,456 na base (): = AC - CAP2 - Edward Moreno AC - CAP2 - Edward Moreno
Aula de hoje. Códigos numéricos. Códigos binários. Armazenamento de dados. Armazenamento de dados. Armazenamento de dados
SCC 24 - Introdução à Programação para Engenharias Aula de hoje Códigos numéricos Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto
Introdução à Computação: Sistemas de Numeração
Introdução à Computação: Sistemas de Numeração Beatriz F. M. Souza ([email protected]) http://inf.ufes.br/~bfmartins/ Computer Science Department Federal University of Espírito Santo (Ufes), Vitória,
1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35.
Computação Científica Folha Prática Computação Numérica 1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35 c) 192 d) 255 e) 347 f) 513
Introdução à Programação uma Abordagem Funcional
Universidade Federal do Espírito Santo Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres [email protected] CT VII - Sala 34 Departamento de Informática Centro Tecnológico
Cálculo Numérico. Erros em processamento Numéricos
Cálculo Numérico Erros em processamento Numéricos Agenda Introdução a Erros Mudança de Base Erros de representação Erro de arredondamento Erro de absoluto Erro relativo Erro de truncamento Propagação do
1 bases numéricas. capítulo
capítulo 1 bases numéricas Os números são representados no sistema decimal, mas os computadores utilizam o sistema binário. Embora empreguem símbolos distintos, os dois sistemas formam números a partir
Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Representação Digital da Informação I
Representação Digital da Informação I José Costa Introdução à Arquitetura de Computadores Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2013-09-25 José Costa (DEI/IST) Representação
Aula de hoje. Expressões. Expressões. Expressões. Exemplos. Programa em Python. SCC Introdução à Programação para Engenharias
SCC 124 - Introdução à Programação para Engenharias Expressões Professor: André C. P. L. F. de Carvalho, ICMC-USP Pos-doutorando: Isvani Frias-Blanco Monitor: Henrique Bonini de Britto Menezes Aula de
Arquitetura de Computadores
Arquitetura de Computadores Eduardo Albuquerque Adaptado do material do Prof. Fábio M. Costa Instituto de Informática UFG 1S/2004 Representação de Dados e Aritmética Computacional Roteiro Números inteiros
Notas de Aula de Cálculo Numérico
IM-Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Notas de Aula de Cálculo Numérico Lista de Exercícios Prof. a Angela Gonçalves 3 1. Erros 1) Converta os seguintes números
Arquitetura e Organização de Computadores
UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Arquitetura e Organização de Computadores Aritmética Computacional Prof. Sílvio Fernandes
Cálculo Numérico Prof. Guilherme Amorim 24/10/2013. Aula 2 Erros e Aritmética de Ponto Flutuante
Cálculo Numérico Prof. Guilherme Amorim 24/10/2013 Aula 2 Erros e Aritmética de Ponto Flutuante Noções de Aritmética de Máquina Representação de Números... P = 3.141592653589793238462643383279502884197169399375105820974944
MATA49 Programação de Software Básico
MATA49 Programação de Software Básico Leandro Andrade leandrojsadcc.ufba.br PROF. LEANDRO ANDRADE 1 Sistemas de números PROF. LEANDRO ANDRADE 2 Conceitos básicos Os códigos binário pelo tamanho de
Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários
Universidade Federal de Uberlândia Faculdade de Computação Sistemas Digitais Módulo 3 Codificações BCD, Gray e ASCII e Números Fracionários Graduação em Sistemas de Informação Prof. Dr. Daniel A. Furtado
Cálculo Numérico. Conceitos Básicos
Cálculo Numérico Conceitos Básicos Profs.: Bruno C. N. Queiroz J. Antão B. Moura Ulrich Schiel Maria Izabel C. Cabral DSC/CCT/UFCG Princípios usados em CN Comuns à análise matemática, C&T 1. Iteração ou
Aritmética de Ponto Fixo
Aritmética de Ponto Fixo Prof. Paulo Fernando Seixas Prof. Marcos Antônio Severo Mendes http://www.delt.ufmg.br/~elt/docs/dsp/ Representação Numérica DSP Ponto fixo Ponto flutuante 6 bits 3 bits 0 bits
Folha Prática - Representação de Números e Erros. 1. Representar os seguintes números decimais em binário com ponto fixo:
Computação Científica Folha Prática - Representação de Números e Erros 1. Representar os seguintes números decimais em binário com ponto fixo: a) 24 b) 197 c) 1001 d) 7,65 e) 8,963 f) 266,66 2. Obter os
1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35. e) 347 f) 513.
1. Converta para a base binária, usando o método das divisões sucessivas, os seguintes números inteiros: a) 13 b) 35 c) 192 d) 255 e) 347 f) 513 g) 923 2. Converta para a base binária, usando os métodos
3. Linguagem de Programação C
Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação
William Stallings Arquitetura e Organização de Computadores 8 a Edição
William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 9 Aritmética do computador slide 1 Unidade aritmética e lógica Faz os cálculos. Tudo o mais no computador existe para atender
CCI - 22 Matemática Computacional
Matemática Computacional Prof. Paulo André http://www.comp.ita.br/~pauloac [email protected] Sala 110 Prédio da Computação Estrutura do Curso Introdução ao estudo de matemática numérica Representação de dados
SISTEMAS DE NUMERAÇÃO
MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: ELETRÔNICA
