top of page

A simple integral program (c++)

#include <iostream>

#include <cmath>

// funcion para integral x^2 o cualguier funcion monotona en un intervalo []

using namespace std;

int a,b ;

long double dx;

long double x_i;

long double f ; // para la funcion x^2

long double f_dx; // area de rectangulos

long double area;

long double i = 0; //contador para la integral

long double e = 1; // Epsilon

long double g = 1; // gamma

int n = 1; //Primer contador

int k = 1; // Segundo contador


long double c_epsilon(){ //Programa para buscar el epsilon de la computadora

while(e + 1!= 1){

e = e/n;

n += 1;

}

if (e + 1 == 1){

cout<< "Epsilon "<< e<< endl;

}

}

long double c_gamma(){ // Programa para buscar el ganma de la computadora


while(g + 1 != g){

g = g *k;

k += 1;

}

cout<< "Ganma"<< g << endl;

}


int main(){

c_epsilon();

c_gamma();

cout<< "Ingrese a: \n"<<endl;// a del intervalo[a,b]

cin >> a;

cout << "Ingrese b: \n "<<endl;// b del intervalo[a,b]

cin >> b;

dx = (b-a)/(g-10); // donde g es ganma (dx es para las divisiones )

// el -10 es porque no funcionaria con g solo ya que la computadora ve b-a/g = 0 si b-a es pequeno

while(i < g and dx > e and x_i < b){ //contador menor que ganma, dx mayor que epsilon

x_i = a + i*((b-a)/(g-10));

f = pow(x_i,2);

//cout<< x_i <<endl;

f_dx = f*dx;

i += pow(10,13); //aumento el contador

area= f_dx + area ;

//cout<< area <<endl;

}

cout<< "Area debajo de la curva: \n "<< area*(pow(10,13)) <<endl; //multiplico por la desviacion

// nota: puede ser mas rapido si sutituimos el 13 por un numero mas grande como el 14 etc...

return 0;

}

Yeah the comments are in spanish, because i'm lazy to traduce it :).

12 visualizaciones0 comentarios

Comments


Publicar: Blog2_Post
bottom of page