codice:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double f(double);
int potenza2();
double trapezi(double, double, int);
double parabole(double, double, int);
double rettangoli(double, double, int);
void stampa(double, double, double, double, double);
main()
{
double a, b, t, p, r; int n;
printf("\n\n Quanto vale l'estremo a dell'intervallo? a=");
scanf("%lf", &a);
printf("\n\n Quanto vale l'estremo b dell'intervallo? b=");
scanf("%lf", &b);
n=potenza2();
t=trapezi(a, b, n);
p=parabole(a, b, n);
r=rettangoli(a, b, n);
stampa(a, b, t, p, r);
system("PAUSE");
return 0;
}
double f(double x)
{
return exp(-(x*x));
}
int potenza2()
{
int pot; int k=11;
pot=2;
for(int i=1; i<k; i++) pot=pot*2;
return pot;
}
double trapezi(double a, double b, int n)
{
double c, x, app, h;
c=0.5*(f(a)+f(b));
h=(b-a)/n;
for(int i=1; i<n; i++)
{
x=a+i*h;
c=c+f(x);
}
app=h*c;
return app;
}
double parabole(double a, double b, int n)
{
double simp, x, app, h;
simp=f(a)+f(b);
h=(b-a)/n;
double sum4=0;
for(int i=1; i<n; i+=2)
{
x=a+i*h;
sum4=sum4+f(x);
}
double sum2=0;
for(int i=2; i<=n-2; i+=2)
{
x=a+i*h;
sum2=sum2+f(x);
}
simp=(h/3.)*(simp+4*sum4+2*sum2);
return simp;
}
double rettangoli(double a, double b, int n)
{
double s=0, h, c;
h=((b-a)/n);
for(int i=1; i<=n; i++)
{
c=(a+((i-0.5)*h));
s=s+f(c);
}
s=s*h;
return s;
}
void stampa(double a, double b, double t, double p, double r)
{
printf("Il valore dell'integrale definito calcolato con il metodo dei trapezi e' uguale a %lf\n\n", t);
printf("Il valore dell'integrale definito calcolato con il metodo delle parabole e' uguale a %lf\n\n", p);
printf("Il valore dell'integrale definito calcolato con il metodo dei rettangoli e' uguale a %lf\n\n", r);
return;
}
Io ho fatto tutta la prima parte dell'esercizio, ma come vedete mi sono bloccata nell'ultima parte quando chiede di calcolare la sequenza di errori e gli errori consecutivi... Mi spiegate cos'è che vuole che faccia questo esercizio? perchè sinceramente non l'ho proprio capito. E scusate se il codice non comprende per niente questa seconda parte ma sinceramente non riesco a capire che vuole...