Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can be found by doing a definite integral between the two points.
Solution :
#include float start_point, /* GLOBAL VARIABLES */ end_point, total_area; int numtraps; main( ) { void input(void); float find_area(float a,float b,int n); /* prototype */ print(“AREA UNDER A CURVE”); input( ); total_area = find_area(start_point, end_point, numtraps); printf(“TOTAL AREA = %f”, total_area); } void input(void) { printf(“\n Enter lower limit:”); scanf(“%f”, &start_point); printf(“Enter upper limit:”); scanf(“%f”, &end_point); printf(“Enter number of trapezoids:”); scanf(“%d”, &numtraps); } float find_area(float a, float b, int n) { floatbase, lower, h1, h2; /* LOCAL VARIABLES */ float function_x(float x); /* prototype */ float trap_area(float h1,float h2,floatbase);/*prototype*/ base = (b-1)/n; lower = a; for(lower =a; lower <= b-base; lower = lower + base) { h1 = function_x(lower); h1 = function_x(lower + base); total_area += trap_area(h1, h2, base); } return(total_area); float trap_area(float height_1,float height_2,floatbase) { float area; /* LOCAL VARIABLE */ area = 0.5 * (height_1 + height_2) * base; return(area); } float function_x(float x) { /* F(X) = X * X + 1 */ return(x*x + 1); } Output AREA UNDER A CURVE Enter lower limit: 0 Enter upper limit: 3 Enter number of trapezoids: 30 TOTAL AREA = 12.005000 AREA UNDER A CURVE Enter lower limit: 0 Enter upper limit: 3 Enter number of trapezoids: 100 TOTAL AREA = 12.000438