Sign in to follow this  
Cornel Iulian

[C] Dezvoltarea in serie Taylor ce poate aproxima numarul PI

1 post in this topic

Stiind ca dezvoltarea in serie ce poate aproxima numarul PI este: 

PI=4*(1-1/3+1/5-1/7+...),

Cerinta: sa se calculeze valoarea aproximativa a lui PI cu o eroare mai mica decat epsilon preluat de la consola.

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<conio.h>

int main(){
	float eps, pi, t;
	int k;
	
	printf("Introduceti valoarea lui eps: ");
	if(scanf("%f",&eps)!=1)
	{
		printf("Date eronate");
		exit(1);
	}
	t = 1;
	pi = 1;
	k = 1;
	while(fabs(t) > eps){
		if (k % 2)							// daca k este par, semn negativ
			t = - 1.0 / (2*k + 1);			// punem 1.0 pentru ca toate sunt int si altfel o sa dea rezultat intreg
		else								// altfel, daca k este impar, semn pozitiv
			t = 1.0 / (2*k + 1);
		pi += t;							// bagam t in suma
		k++;								// incrementam k
	}
	pi *= 4;								// formula e 4 * <ce am calculat deja>
	
	printf("calculat:\tpi = %g\n", pi);
	printf("math.h:  \tpi = %g", M_PI);		// M_PI se numeste constanta pi din math.h

	getch();
	return 0;
}

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this