Você está na página 1de 4

UNIVERSIDADE FEDERAL DE MINAS GERAIS

INSTITUTO DE CIÊNCIAS EXATAS


DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
Programação de Computadores – Prof. Helton

Avaliação Formativa 4 – Desafio 2 - Orientações

Antes de entregar, confira na descrição original o que foi dado e o que deverá ser
entregue.

Desafio 2 - Orientações sobre como resolver a série.


Para calcular o valor numérico de uma série calcula-se sucessivamente o termo da série e faz-
se a soma (ou a subtração) do termo ao valor da série. Em outras palavras acumula-se a soma
de um número infinito de termos da série.
Como não podemos obter soma exata de todos os infinitos termos da série, contentamos com
um valor aproximado. Para obter um valor aproximado da série, é preciso interromper a soma
depois de um certo número de termos, ou seja, desprezar os valores que seriam somados
pelos demais termos até o infinito. Ao interromper a soma, obtemos um valor aproximado e
cometemos um erro de precisão do valor da série.

Ao suspender a soma da série a partir de determinado termo, podemos dizer que vamos
cometer um erro inferior ao valor absoluto do termo abandonado, pois a partir deste
ponto tudo que for somado será menor que o valor do termo abandonado.
Resumindo, o erro cometido será inferior ao valor absoluto do primeiro termo abandonado. Já
o valor “exato” de uma série seria igual á soma dos infinitos termos da série. Como isso não
é possível de ser executado soma-se um determinado numero de termos e abandona-se
os demais, o que gera um erro em relação ao valor “exato”. Esse erro define a precisão do
valor calculado.

Como os termos diminuem em valor absoluto, os valores dos termos desprezados alteram
apenas as casas decimais de mais baixa ordem. Por exemplo, se o termo abandonado for igual
a 0,00012 ao soma-lo à série o valor será alterado a partir da quarta casa decimal, logo o erro
é inferior a 0,00012.
Projete um algoritmo e o respectivo programa em Python que calcule o valor do número 
obtido a partir da série:

O valor de  é dado por:

O que se deseja aqui é escrever um algoritmo que crie cada um dos termos da série e faça a
soma (ou a subtração) do termos gerados para obter o valor de s.

Observe que é uma repetição – em cada passo da repetição é gerado o próximo termo da
série. O termo gerado pode ser somado, ou subtraído do valor de s. Veja que a soma e a
subtração são alternadas.
A questão é: quando e como interromper a repetição? Resposta rápida: verificando se o termo
que acabou de ser gerado é menor (em valor absoluto) que o valor da precisão desejada.

Por exemplo: suponha que desejamos obter o valor da série com precisão de 10-2.

Termo da série
Primeiro 1/13 1,000
Segundo 1/33 0,111
Terceiro 1/53 0,008

Observe que o Terceiro termo é menor que 10-2, logo não precisamos calcular os próximos
termos e o nosso resultado terá um erro menor que 10-2, ou seja, uma precisão da ordem de
10-2.

Então, a condição para interromper o processo de repetição é que o valor do termo recém
calculado seja menor que o valo da precisão desejada.

Em linha gerais, o algoritmo será:

Algoritmo
Declare variáveis
Inicie as variáveis
Calcule o primeiro termo
repita
se o valor absoluto do termo for menor que a precisão
Então interrompa
fim se
Acumule o termo da série
Calcule o próximo termo
fim repita
Calcule o valor de 
Escreva resultados
Fim algoritmo

Uma dica: como a soma e subtração dos termos são alternadas, crie uma variável antes do
repita e atribua a ela o valor 1. Dentro do repita multiplique a variável pelo valor do termo
para somar. Em seguida atribua à variável o valor –variável. Assim a cada repetição está
variável terá o valor 1, ou -1, e ao multiplicar pelo termo e somar, as operações de soma e
subtração serão alternadas.

Teste o programa para obter  com precisões da ordem de 10-3, 10-8, 10-12.
Pergunta: O que acontece com o tempo de cálculo quando se diminui a precisão para cálculo
da série? Explique por que isso acontece.

Em cada teste, o programa deverá imprimir o valor calculado de , o número de termos que
foram gerados e somados à série e o valor do último termo gerado.

A classe (ou biblioteca) math define a constante math.pi. Inclua no programa a impressão da
diferença entre esta constante e o valor calculado pela série, em cada teste.
No relatório coloque:
1. A descrição sucinta do desafio.
2. O algoritmo final do programa,
3. O texto do programa Python correspondente,
4. Os resultados obtidos no interpretador para os termos - 4/3, 4/5, -4/7, 4/13.
5. Os resultados obtidos com as precisões de 10-3, 10-8, 10-12 (valor obtido, numero de
termos, o último termo, e a diferença entre a constante math.pi e o valor calculado)
6. A resposta sobre a questão do tempo e a justificativa pertinente.
7. Outros comentários e observações que você julgar pertinente.

Desafio 2
Projete um algoritmo e um programa em Python que gere uma tabela que mostre centigrados
variando de 1 a 100, de 8 em 8 graus, e os valores correspondentes em Farenheit. A
conversão pode ser obtida a partir da fórmula: c   f  32 , onde f representa graus em
5
9
Farenheit e c representa centigrados.

No relatório coloque a descrição sucinta, o algoritmo, o texto do programa em Python e os


resultados listados.

Você também pode gostar