Vous êtes sur la page 1sur 1

#include<conio.

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

//****************************** la fonction xln(x)*******************


float xln(float x)
{
return x*log(x);
}

//********************************le polynome 5X^5-3X^2-6X +3 ******************


float poly(float x){
return 5*pow(x,5)-3*pow(x,2)-6*x+3;

//exemple 5X^5-3X^2-6X +3

// ********************* calcul de l'integrale a,b les bornes d'integration*****


//***********************N le nombre de subdivision, num_fn : 0 fonction, 1 poly
float calIntegral(float a, float b, int N,int num_fn)
{ float pas,S,x;int i;
pas=(b-a)/N;S=0;x=a;
for (i=0;i<N;i++){
if (num_fn=0)
S=S+pas*xln(x);
else
S=S+pas*poly(x);
x=x+pas;
}
return S;
}

//************* calcul de l'integrale avec la precision epsilon*****************


float calIntPrecision(float a, float b, float epsilon,int num_fn){
int N;
N=1;
while (fabs(calIntegral(a,b,N,num_fn)-calIntegral(a,b,N+1,num_fn))>epsilon)
N++;
return calIntegral(a,b,N,num_fn);
}

//********* permute deux reels**************************************************


void permutation(float *a,float *b){
float c;
c=*a;
*a=*b;
*b=c;
}

//********************fonction principale***************************************
int main (void){
int rep;float a,b,epsilon;
printf ("Saisir la fonction dont on calculera l'integrale \n");
printf ("1- La fonction f(x)=xln(x)\n");
printf ("2- Le polynome P(x)=5X^5-3X^2-6X+3\n");
scanf("%d",&rep);rep--;
printf ("Saisir les bornes de l'interval d'integration a et b\n");
printf("a=");scanf("%f",&a);
printf("b=");scanf("%f",&b);
if (a>b) permutation(&a,&b);
printf ("Saisir la precision du calcul epsilon \n");
scanf("%f",&epsilon);
printf("l'integral resultat de calcul est %f",calIntPrecision(a,b,epsilon,rep));
getch();
}

Vous aimerez peut-être aussi