Estimando o valor de pi#
Existem diversas séries infinitas para o cálculo de pi. Abaixo está demonstrada uma série que permite calcular \(\frac{\pi}{2}\). Desenvolva em Python uma função que recebe como argumento o número de elementos que serão usados na série e retorna o valor estimado de \(\pi\).
Sua função deve se chamar PiWallis
.
Acessar exercício "Estimando o valor de pi"
Dica 1
Vamos perceber que existem várias formas de se resolver um mesmo problema. Mas para a resolução dos problemas é sempre útil seguir as dicas que vimos nos handouts.
Dividir para conquistar#
Antes de começarmos a resolver o exercício, vamos gastar um tempo lendo o enunciado e verificando se entendemos tudo o que o enunciado está pedindo e garantir que não deixamos nenhum detalhe passar despercebido.
Exercise 1
Answer
Ao ler o enunciado do problema, podemos encontrar essa informação. A função recebe como argumento o número de elementos que será utilizado na série. Por exemplo, para a chamada de função PiWallis(5)
a função deve calcular a série \(\frac{2}{1}\cdot\frac{2}{3}\cdot\frac{4}{3}\cdot\frac{4}{5}\cdot\frac{6}{5}\).
Exercise 2
Answer
A série apresentada pelo enunciado calcula o valor aproximado de \(\frac{\pi}{2}\).
É muito comum calcularmos a série e assumir que o resultado final é o valor de \(\pi\). Por isso, é sempre importante lermos o enunciado com atenção ou consultá-lo quando os seus testes não estiverem passando.
Exercise 3
Answer
Conseguiu entender como a série funciona?
Talvez se pensarmos nos subproblemas para este exercício fique claro como a série se comporta e também comece a surgir possíveis soluções em nossas cabeças.
Exercise 4
Answer
Neste exercício, o importante é você conseguir pensar em como quebraria este problema em problemas menores que vão nos auxiliar a encontrar uma solução.
Números pares#
Uma das primeiras coisas que podem ter chamado a sua atenção é o fato dos numeradores serem composto por números pares. Talvez seja um bom candidato a subproblema. Outro detalhe que chama a atenção nesta sequência dos números pares é que os valores se repetem.
Exercise 5
Answer
Para uma sequência com 5
elementos teríamos 2 2 4 4 6
, pois a sequência seria da seguinte forma \(\frac{2}{1}\cdot\frac{2}{3}\cdot\frac{4}{3}\cdot\frac{4}{5}\cdot\frac{6}{5}\).
Exercise 6
Números ímpares#
Da mesma forma que os numerados chamaram nossa atenção, podemos perceber que os denominadores são compostos somente por números ímpares.
Exercise 7
Answer
Para uma sequência com 5
elementos teríamos 1 3 3 5 5
, pois a sequência seria da seguinte forma \(\frac{2}{1}\cdot\frac{2}{3}\cdot\frac{4}{3}\cdot\frac{4}{5}\cdot\frac{6}{5}\).
Exercise 8
Intercalando#
Neste ponto do handout, já conseguimos gerar a sequência dos numeradores e denominadores, porém a solução está dividida. O que precisamos fazer agora é junta-las.
Você notou que os valores dos numerados e denominadores são atualizados de forma intercalada. Ou seja, sempre que o valor do numerador muda o valor do denominador se mantém igual e vice e versa.
Exercise 9
Finalizando#
A parte difícil nós já fizemos!
Exercise 10
Agora que conseguimos resolver este exercício utilizando:
- Estratégia de dividir o problema em subproblemas;
- Utilização de padrões de uso do operador
while
(padrões de contador, somatório e validação);
Utiliza a mesma estratégia para resolver outros exercícios com dificuldades maiores.