Lista1 Alg Num

2
DEPARTAMENTO DE INFORM ´ ATICA 1 a Lista de Algoritmos Num´ ericos 1. Leia o livro texto e refa¸ ca os exerc´ ıcios propostos em sala e resolvidos no livro. 2. Suponha que se queira calcular I n = 1 0 x n e x1 dx para um valor inteiro n> 0, qualquer. Usandointegra¸c˜ ao por partes ´ e poss´ ıvel obter as seguintes rela¸c˜ oes: (1) I k =1 - kI k1 (2) I k1 = (1 - I k )/k (a) Simulando uma m´ aquina que opere com 3 d´ ıgitos significativos na man- tissa, base 10, e expoente na faixa de -20 a 20, obter o valor de I 8 com a recorrˆ encia (1) acima. Use arredondamento para o mais pr´ oximo. Mostre os valores intermedi´ arios. Assuma que valor de ´ e I 1 = e 1 =0.367. (b) Simulando a mesma m´ aquina obter o valor de I 8 via I k1 = (1 - I k )/k partindo de I 12 =1/13 e em seguida partindo de I 12 = 0 Use arredondamento para o mais pr´ oximo. Mostre os valores intermedi´ arios. (c) Dados n e I 1 , escreva um algoritmo (em pseudo-c´odigo) que calcule I n , usando recorrˆ encia (1): I k =1 - kI k1 partindo de I 1 (d) Escreva um algoritmo que calcule I n usando recorrˆ encia (2), partindo de partindo de I p , com p>n. (e) Implemente os dois algoritmos em uma linguagem de programa¸c˜ ao e rode os programas diversas vezes para diferentes valores de n e diversos valores de entrada iniciais (tanto para I 1 quanto para I p , com p>n). 3. Sabe-se que e 1 ´ e um valor num´ erico dada pela seguinte express˜ao e 1 = k=0 1 k! que pode ser obtido aproximadamente ao tomar apenas alguns termos do so- mat´orio,atrav´ es de e 1 N k=0 1 k! Um aluno escreveu o algoritmo abaixo (em pseudo-linguagem) para obter e 1 usando os seis primeiros termos do somat´ orio (ou seja, para N=5).

description

Lista de exercicios de disciplina de algoritmos numericos

Transcript of Lista1 Alg Num

  • DEPARTAMENTO DE INFORMATICA1a Lista de Algoritmos Numericos

    1. Leia o livro texto e refaca os exerccios propostos em sala e resolvidos no livro.

    2. Suponha que se queira calcular

    In =

    1

    0

    xnex1dx

    para um valor inteiro n > 0, qualquer.

    Usando integracao por partes e possvel obter as seguintes relacoes:(1) Ik = 1 kIk1(2) Ik1 = (1 Ik)/k

    (a) Simulando uma maquina que opere com 3 dgitos significativos na man-tissa, base 10, e expoente na faixa de -20 a 20, obter o valor de I8 com arecorrencia (1) acima. Use arredondamento para o mais proximo. Mostre osvalores intermediarios. Assuma que valor de e I1 = e

    1 = 0.367.

    (b) Simulando a mesma maquina obter o valor de I8 via Ik1 = (1 Ik)/kpartindo de I12 = 1/13 e em seguida partindo de I12 = 0 Use arredondamentopara o mais proximo. Mostre os valores intermediarios.

    (c) Dados n e I1, escreva um algoritmo (em pseudo-codigo) que calcule In,usando recorrencia (1): Ik = 1 kIk1 partindo de I1

    (d) Escreva um algoritmo que calcule In usando recorrencia (2), partindo departindo de Ip, com p > n.

    (e) Implemente os dois algoritmos em uma linguagem de programacao e rodeos programas diversas vezes para diferentes valores de n e diversos valores deentrada iniciais (tanto para I1 quanto para Ip, com p > n).

    3. Sabe-se que e1 e um valor numerico dada pela seguinte expressao

    e1 =k=0

    1

    k!

    que pode ser obtido aproximadamente ao tomar apenas alguns termos do so-matorio, atraves de

    e1 Nk=0

    1

    k!

    Um aluno escreveu o algoritmo abaixo (em pseudo-linguagem) para obter e1

    usando os seis primeiros termos do somatorio (ou seja, para N=5).

  • INICIO

    s=1

    Para i de 1 ate 5

    s = s + ( 1.0/ fatorial(i) )

    Escreva (O valor Intermediario eh :, s)

    Fim_Para

    e=s

    Escreva (O valor de e (final) eh :, e)

    FIM

    (a) Simulando uma maquina que opere com 5 dgitos significativos na man-tissa, base 10, e expoente na faixa de -6 a 6, mostre o valor de s que seraexibido a cada passo da repeticao (ou seja no loop Para). Obs: Imagine quefatorial(i) e uma funcao pronta (ja existente), que retorna o valor exato dofatorial (nao e preciso simular estas operacoes). Assim ao ser fornecido umvalor para i, o seu fatorial e retornado. Use arredondamento por falta. Mostreos valores intermediarios.(b) Calcule o erro relativo contido na aproximacao obtida na letra a. Con-sidere o valor exato como sendo e1 = 2, 7182815.(c) Represente em uma reta, a regiao de Underflow e Overflow da maquina.Indique, precisamente, os valores das fronteiras das regioes citadas.

    4. Faca um algoritmo (em pseudo-codigo) para ler dois vetoresX e Y de dimensaon e obter a sua soma Z = X + Y . Implemente, em seguida, em uma liguagemde programacao.

    5. Faca um algoritmo (em pseudo-codigo) para ler uma matriz de dimensao ne verificar se essa matriz e diagonalmente dominante, isto e, se a seguintecondicao e satisfeita:

    |aii| >n

    j=1,j 6=i

    |aij|, i = 1,2,. . . ,n