Esta es una vista previa del archivo. Inicie sesión para ver el archivo original
1/3 Cálculo Numérico (ST462B/ST468B) Lista de exercícios 1 - Representação numérica e Erros EXERCÍCIOS 1) Considere uma máquina de calcular cujo sistema de representação utilizado tenha 255 e 255 ,22 ,2 SIt .Qual é a representação do número 535 na base decimal utilizando o conceito de mantissa e expoente? 2) Faça as conversões dos números abaixo considerando de base 2 para base 10 e vice-versa. Mostre todos os cálculos intermediários. a. 1011(2) b. 10,1(2) c. 11,01(2) d. 18(10) e. 11(10) f. 13,25(10) 3) Converta os seguintes números decimais para sua forma binária: a. x = 37 b. y = 2345 c. z = 0.1217 4) Converta os seguintes números binários para sua forma decimal: a. x = (101101)2 b. y = (110101011)2 c. z = (0.1101)2 d. w=(0.111111101)2 5) Supondo que x é representado num computador por x , onde x é obtido por arredondamento, obtenha os limites superiores para os erros relativos de xu 2 e xxw . 6) Considere uma máquina cujo sistema de representação de números é definida por: β = 10, t = 4, l = -5 e u = 5. Pede-se: a. Qual o menor e maior número em módulo representados nesta máquina? b. Como será representado o número 73.758 nesta máquina, se for usado o arredondamento? E se for usado o truncamento? 2/3 c. Se a = 42450 e b=3 qual o resultado de a + b? d. Qual o resultado da soma 10 1 342450 k S nesta máquina? e. Idem para a soma 424503 10 1 k S . (Obviamente o resultado deveria ser o mesmo. Contudo, as operações devem ser realizadas na ordem em que aparecem as parcelas, o que conduzirá a resultados distintos). f. O resultado da operação: wz/t pode ser obtido de várias maneiras, bastando modificar a ordem em que os cálculos são efetuados. Para determinarmos valores de w, z e t, uma seqüência de cálculos pode ser melhor que a outra. Faça uma análise para o caso em que w =100, z = 3500 e t = 7. PROJETOS 7) Implemente em MATLAB ou C dois algoritmos de conversão numérica. O primeiro deve ser capaz de converter números decimais para binário e, o segundo, deve converter números na base binária para a base decimal. 8) A precisão da máquina é definida como sendo o menor número positivo em aritmética de ponto flutuante ε, tal que (1+ ε) > 1. este número depende totalmente do sistema de representação da máquina: base numérica, total de dígitos na mantissa, da forma como são realizadas as operações e do compilador utilizado. É importante conhecermos a precisão da máquina porque em vários algoritmos precisamos fornecer como dado de entrada um valor positivo, próximo de zero, para ser usado em testes de comparação com zero. O algoritmo a seguir estima a precisão da máquina: Passo 1: A = 1; s = 2; Passo2: Enquanto (s) > 1, faça: A = A/2 s = 1 + A; Passo 3: faça PREC = 2A e imprima PREC. a. Teste este algoritmo escrevendo um programa usando uma linguagem conhecida. Declare as variáveis do programa em precisão simples e execute o programa; em seguida, declare as variáveis em precisão dupla e execute novamente o programa. 3/3 b. Interprete o passo 3 do algoritmo, isto é, porque a aproximação para PREC é escolhida como sendo o dobro do último valor de A obtido no passo 2? c. Na definição de precisão da máquina, usamos como referência o número 1. No algoritmo a seguir, a variável VAL é um dado de entrada, escolhido pelo usuário: Passo 1: A=1; s=VAL + A; Passo 2: Enquanto (s) > VAL, faça: A=A/2 s = VAL +A; Passo 3: Faça PREC = 2 A e imprima PREC. c.1) Teste seu programa atribuindo para VAL os números: 10, 17, 100, 184,1000, 1575, 10000, 17893. c.2)para cada valor diferente para VAL, imprima o valor correspondente obtido para PREC. Justifique por que PREC se altera quando VAL é modificado. 9) Calculo de ex. Escreva um programa em uma linguagem conhecida, para calcular ex pela série de Taylor com n termos. O valor de x e o número de termos da série, n, são dados de entrada deste programa. Para valores negativos de x, o programa deve calcular e x de duas formas: em uma delas o valor de x é usado diretamente na série de Taylor e, na outra forma, o valor usado na série é y = -x,e, em seguida, calcula-se o valor de e x através de 1/ e x . d. Teste seu programa com vários valores de x (x próximo de zero e x distante de zero) e, para cada valor de x, teste o cálculo da série com vários valores de n. Analise os resultados obtidos. e. Dificuldades com o cálculo do fatorial: O cálculo de k! necessário na série de Taylor pode ser feito de modo a evitar a ocorrência de overflow. Os cálculos podem ser organizados de modo a se evitar o “estouro” no calculo de k!; para isto é preciso analisar cuidadosamente o k-ésimo termo x k /k!, tentar misturar o cálculo do numerador e do denominador e realizar divisões intermediárias. Estude uma maneira de realizar esta operação de modo a evitar que k! estoure. f. Com a modificação do item (b), a série de Taylor pode ser calculada com quantos termos queira. Qual seria um critério de parada para se interromper o calculo da série?