Você está na página 1de 3

Cuiabá, 7 de março de 2023 Universidade Federal de Mato Grosso

Disciplina: Algoritmos II Instituto de Computação


Semestre: 2022 – 2
Professor: MSc. José de Paula Neves Neto Bacharelado em Ciência da Computação

Lista de Exercícios 2
Sobre a lista:
As questões devem ser respondidas em folhas de papel almaço na Cuiabá, 7 de março de 2023
mesma ordem em que aparecem nesta folha, devem começar cada UFMT – IC
uma em uma página separada e identificada como X a QUESTÃO:, Bacharelado em Ciência da Computação
no qual X é o número da questão. O cabeçalho da lista deve Algoritmos II
ser exatamente como aparece no exemplo à direita. As folhas Prof. MSc. José de Paula Neves Neto
de papel almaço devem ser numeradas no canto superior externo Aluno: . . .
da folha. Apenas as construções algorítmicas já vistas em sala de
aula são válidas. Em todas as questões, caso seja aplicável, você Lista de Exercícios 2
deve testar se os valores fornecidos por ele atendem às exigências
do problema. 1a QUESTÃO :

Esta lista trata de algoritmos que resolvem relações de recorrência que definem sequências
ou séries numéricas.

Para sequências: Para séries:

v0 , v1 , v2 , . . . , vn v0 , v1 , v2 , . . . , vn
s0 , s1 , s2 , . . . , sn
 
v = v0 ,n=0 
 v = v0 , n=0
vn = f (vn−1 ) , n > 0 s0 = v0 , n=0


 vn = f (vn−1 ) , n>0
sn = sn−1 + vn , n>0

v ←− v0 v ←− v0
usa( v ) s ←− v
enquanto p(v,n) faça usa( s )
v ←− f(v) enquanto p(v,n) faça
usa( v ) v ←− f(v)
fim enquanto s ←− s + v
usa( s )
fim enquanto

A função f (v) é a expressão que resulta no próximo elemento da sequência ou série.


Já a condição p(v, n) pode ser:

1. uma quantidade fixa de termos, para a qual você pode utilizar um contador (por
exemplo n);
2. a chegada a um valor desejado, para o qual você compara o termo com um valor
conhecido;
3. a obtenção da tolerância aceita para o erro de cálculo, para o qual você verifica a
diferença de valor entre dois termos consecutivos, que é a definição de erro.

Assim, qualquer algoritmo pode ser criado diretamente a partir de uma uma relação de
recorrência que define uma sequência ou uma série numérica. A parte difícil fica por
conta de que, às vezes, antes de criar o algoritmo, você precisa descobrir qual relação de
recorrência define a sequência ou série em questão.

1
1. Faça um algoritmo de um procedimento que gere e escreva os primeiros n termos da
sequência de Fibonacci, onde n > 2 é recebida como parâmetro, que é definida por
recorrência por


 F (1) = 1
F (2) = 1
F (n) = F (n − 2) + F (n − 1),

2. A tarefa de cálculo de fatoriais: n! = 1 × 2 × 3 × · · · × n, ∀ n > 0, pode ser realizada


encontrando-se o último termo da sequência dada pela relação de recorrência abaixo:


f (i) = i × f (i − 1), ∀ i ∈ N+
f (0) = 1

Faça o algoritmo de uma função que receba um inteiro n como parâmetro e calcule
iterativamente o fatorial de n, retornando tal valor.

3. O cálculo da função inverso x1 = limn→∞ an pode ser aproximado pela descoberta do


último termo da sequência dada pela seguinte relação de recorrência:



 ai = ai−1 · (1 + ci−1 )
ao = 1 ∀ i ∈ N+


 ci = c2i−1 ∀x∈R|0<x<2
c0 = 1−x

Assim, assumindo uma tolerância de 10−9 para o erro encontrado, faça um algoritmo
de uma função que receba o valor x como parâmetro e retorne o valor de seu inverso.

4. Faça um algoritmo de uma função que retorne uma aproximação para o cálculo de
raízes quadradas

A = lim xn , ∀A ≥ 0
n→∞

onde tal função pode ser aproximada pela descoberta do último termo da sequência
dada pela seguinte relação de recorrência:
(  
xn+1 = 12 · xn + A
xn ∀n∈N
x0 = 1

Assuma a tolerância de 10−6 para o erro. O valor de A é o parâmetro da função.

5. Dada a equação x3 − 3x2 + 1 = 0, pode-se encontrar qualquer uma de suas raízes


reais através de aproximações sucessivas utilizando a seguinte fórmula:

Xn3 − eXn2 + 1
Xn+1 = Xn −
3Xn2 − 6Xn

Fazer um algoritmo de um procedimento que considere como primeira aproximação


X = 1, 5 e escreva o resultado do cálculo da trigésima aproximação da raiz.
2
Para os exercícios a seguir, que envolvem cálculos de séries, escreva antes
no papel, obrigatoriamente, a relação de recorrência que as definem.
6. Considere a progressão geométrica (PG) 1, 2, 4, 8, 16, 32, . . . e um inteiro positivo n.
Deseja-se:

(a) Encontrar a relação de recorrência que a define.


(b) Fazer o algoritmo de um procedimento que receba n como parâmetro e imprima
os n primeiros termos desta sequência.
(c) Fazer o algoritmo de uma função para retornar a soma dos n primeiros termos
da PG, onde n é o parâmetro da função, sem utilizar a conhecida “fórmula
da soma de PGs”, usando a relação de recorrência do item (a).

7. Faça um algoritmo de um procedimento que escreva o resultado do somatório


1 1 1 1
1+ − + − + ···
2 4 6 8
para uma tolerância menor que um valor K, passado como parâmetro.
8. Desenvolver um algoritmo de um procedimento para escrever o resultado da soma
1 1 1 1 1
1− + − + − ··· +
2 4 6 8 200
9. Fazer um algoritmo de um procedimento que calcule e escreva a seguinte soma

21 22 23 250
+ + + ··· +
50 49 48 1
10. Escrever um algoritmo de uma função para estimar, com uma tolerância de 10−35
para o erro, o seno de um ângulo, em radianos, passado como parâmetro. A estima-
tiva deve utilizar a série de Mac-Laurin:
A3 A5 A7
sin(A) = A − + − + ...
6 120 5040
11. Fazer um algoritmo de uma função que retorne o valor do número π, com precisão
de 0,0001, usando a série
4 4 4 4 4
π =4− + − + − + ···
3 5 7 9 11
12. Fazer um algoritmo de um procedimento que calcule e escreva o valor da soma:
1 2 4 8 16384
− + − + ··· +
225 196 169 144 1
13. Fazer um algoritmo de uma função que receba x e que retorne o valor de ex , com
precisão de 10−5 , através da série

x1 x2 x3
e x = x0 + + + + ···
1! 2! 3!
14. Fazer um algoritmo de uma função que receba um valor x e retorne o valor de uma
aproximação de cos(x) usando 20 termos da série

x2 x4 x6 x8
cos(x) = 1 − + − + − ···
2! 4! 6! 8!
3

Você também pode gostar