/* integrale.c
   auteurs :
   groupe : 
   date :
*/
#include <stdio.h> 
#include <math.h>  


/* Interface pour les fonctions appelees */
float f (float x );
float trapezes (float a, float b, int N);

/****** Programme principal **********/
int main (void) {
  int  Nmax, N;
  float a, b, erreur, Integrale_Exacte, Integrale_N;
  FILE *fichier;
  char Nom_du_fichier[80]= "trapeze.dat";  

  /********************************************/
  /* Saisit les parametres                    */
  /********************************************/
  printf("Entrer la borne inferieure a: ");
  scanf("%f",&a);
  printf("Entrer la borne supérieure b: ");
  scanf("%f",&b);
  printf("Entrer le nombre d'intervalles max Nmax: ");
  scanf("%d",&Nmax);

  /********************************************/
  /* Calcul de l'integrale pour chaque N et   */
  /* écriture dans un fichier                 */
  /********************************************/
  /* ouvre le fichier de sortie */
  fichier = fopen(Nom_du_fichier,"w");
  if (fichier == NULL)
    {
      printf ("Le fichier %s n'a pas pu etre ouvert\n",Nom_du_fichier);
      exit(1);
    }

/**** Calcule la valeur exacte de l'integrale (N grand) ****/
  Integrale_Exacte = trapezes(a,b,1000);  

/**** Calcule la valeur de l'integrale et son erreur en fonction de N ****/
  for (N = 2; N <= Nmax ; N+=1) { 
      Integrale_N = trapezes(a,b,N);
      erreur = fabs((Integrale_N - Integrale_Exacte)/Integrale_Exacte);
      fprintf(fichier,"%3d %.10f %.10f\n",N,erreur,Integrale_N);
  }
  fclose(fichier);
  return 0;
}

/***********************************************************/
/* Fonctions                                               */
/***********************************************************/
float f (float x) {
}

/*              ----------------------------               */
float trapezes (float a, float b, int N) {
}
