Escreva um programa em C que calcule e apresente uma aproximação para o valor de pi de acordo com a fórmula de Leibniz:
pi approx 4 *(1-13+15-17+19-111 ldots)
Isto é:
pi approx 4 * sum0^n (-1)^i2 * i+1
Em que:
  • n é o número inteiro de termos da aproximaçâo e que deve ser fornecido pelo usuário (dado de entrada);
  • i é uma variável inteira que varia de 0 a n e que comanda o laço de repetição;
    Utilize a função pow() da biblioteca lang<= math. hrang<=.

Passo 1

Beleza, vamos lá! Você me pediu para ajudar a resolver um exercício de programação em C que calcula uma aproximação do valor de π (pi) usando a fórmula de Leibniz. O conteúdo principal aqui é a série de Leibniz para π, que é uma forma matemática para estimar o valor de pi através de uma soma infinita. Para resolver isso, vamos precisar entender como implementar loops em C, como usar funções matemáticas como pow(), e como receber entradas do usuário.

Passo 2

Primeiro, vamos entender a fórmula de Leibniz que você forneceu:
pi approx 4 times (1 - 13 + 15 - 17 + 19 - 111 + ldots)
Essa série alternada aproxima o valor de π conforme adicionamos mais termos. Matematicamente, isso pode ser representado como:
pi approx 4 times sumi=0^n (-1)^i2i + 1
Aqui, n é o número de termos que vamos somar para fazer a aproximação, e i é a variável que controla cada termo da soma.

Passo 3

Vamos começar escrevendo o esqueleto básico de um programa em C. Precisamos incluir a biblioteca stdio.h para entrada e saída e a biblioteca math.h para usar a função pow() que calcula potências.
#include <stdio.h>
#include <math.h>

int main() {
    // Código vai aqui
    return 0;
}

Passo 4

Agora, precisamos solicitar que o usuário insira o valor de n, ou seja, quantos termos ele quer usar para aproximar π. Para isso, usamos printf para exibir uma mensagem e scanf para ler o valor.
int n;
printf("Digite o número de termos para a aproximação de pi: ");
scanf("%d", &n);

Passo 5

Vamos inicializar uma variável para armazenar a soma dos termos e usar um loop for para calcular cada termo da série e acumulá-los. A variável i vai de 0 até n.
double soma = 0.0;
for(int i = 0; i <= n; i++) {
    // Cálculo do termo e acumulação na soma
}

Passo 6

Dentro do loop, calculamos cada termo usando a fórmula (-1)^i / (2*i + 1). Aqui, usamos a função pow() da biblioteca math.h para calcular (-1)^i.
double termo = pow(-1, i) / (2.0 * i + 1.0);
soma += termo;

Passo 7

Após o loop, multiplicamos a soma por 4 para obter a aproximação de π, conforme a fórmula de Leibniz.
double pi = 4.0 * soma;

Passo 8

Finalmente, exibimos o resultado para o usuário usando printf.
printf("A aproximação de pi usando %d termos é: %.15f\n", n, pi);

Resposta

Aqui está o programa completo em C que realiza a aproximação de π usando a fórmula de Leibniz:
#include <stdio.h>
#include <math.h>

int main() {
    int n;
    double soma = 0.0, termo, pi;

    // Solicita ao usuário o número de termos
    printf("Digite o número de termos para a aproximação de pi: ");
    scanf("%d", &n);

    // Calcula a soma da série de Leibniz
    for(int i = 0; i <= n; i++) {
        termo = pow(-1, i) / (2.0 * i + 1.0);
        soma += termo;
    }

    // Calcula a aproximação de pi
    pi = 4.0 * soma;

    // Exibe o resultado
    printf("A aproximação de pi usando %d termos é: %.15f\n", n, pi);

    return 0;
}
Como funciona o programa:
  1. Entrada do Usuário: O programa solicita que o usuário insira o número de termos que deseja usar para a aproximação.
  2. Cálculo da Série: Usamos um loop for que vai de i = 0 até i = n, calculando cada termo (-1)^i / (2i + 1) e somando esses termos.
  3. Aproximação de π: Após somar todos os termos, multiplicamos a soma por 4 para obter a aproximação de π.
  4. Resultado: O programa então exibe o valor aproximado de π com 15 casas decimais para maior precisão.
Exemplo de execução:
Digite o número de termos para a aproximação de pi: 1000
A aproximação de pi usando 1000 termos é: 3.140592653839794
Quanto maior o número de termos (n) que você usar, mais precisa será a aproximação de π.

Exercícios relacionados