Calculo de Integral en C++

Iniciado por alfreddxd, 2 Septiembre 2016, 16:07 PM

0 Miembros y 1 Visitante están viendo este tema.

alfreddxd

Necesito hacer el calculo de una integral de forma recursiva en C++, ya lo hice de forma iterativa pero me gustaría hacerlo de forma recursiva ahora. ¿Alguien que me pueda ayudar?


int main(int argc, const char * argv[]) {
   
    float xd;
    float xh;
    int i;
    float sum = 0.0;
    int n;
   
   
        printf("Ingrese numero de Intervalos: ");
        scanf("%d",&n);
   
   
   
    for (i=0; i<n; i++) {
        xd= 1.0*i/n;
        xh= 1.0*(i+1)/n;
       

       
        sum=sum+((pow(3,sqrt(5*xd+7))/sqrt(xd+7))+(pow(3,sqrt(5*xh+7))/sqrt(xh+7)))/2;
    }
   
    printf("El valor de la suma es %.2f.\n",sum);
   
   
   
    return 0;
}

Esa es la iterativa.

AlbertoBSD

Tendrias que tener una funcion que reciva como parametro el  numero de invervalos y que cuando se llame a si misma valla decrementando el numero y termine cuando sea cero.

Para este tipo de problemas hacerlo de una forma recursiva es muy ineficiente, desde el punto de vista de la memoria y variables a usar.

Pero si lo haces por motivos didacticos esta bien.

La plantilla seria la siguiente:
float funcion(int intervalos, ... /*Otras variables*/){

//variables para la suma
//
if(intervalos > 1) {
return funcion(intervalos-1, ... /*Otras variables*/);
}
else{
return X;// Donde X tiene el total de la operacion;
}
}
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW